From 59f6f7cf7389de56991e5f2c6f3e97fb65cedc9a Mon Sep 17 00:00:00 2001 From: danb Date: Sun, 16 Oct 2022 00:37:39 -0400 Subject: [PATCH] initial commit --- .github/workflows/docker.yaml | 60 +++++++++++++++++++++++++++++++++++ Dockerfile | 17 ++++++++++ 2 files changed, 77 insertions(+) create mode 100644 .github/workflows/docker.yaml create mode 100644 Dockerfile diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml new file mode 100644 index 0000000..d9db805 --- /dev/null +++ b/.github/workflows/docker.yaml @@ -0,0 +1,60 @@ +name: Build and push a Docker image + +on: + push: + tags: + - '**' + branches: + - '**' + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build-and-push-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: docker-qemu + uses: docker/setup-qemu-action@v2 + + - name: docker-buildx + uses: docker/setup-buildx-action@v3 + + - name: docker-login + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: docker-metadata + id: metadata + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=schedule + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=ref,event=branch + type=ref,event=pr + type=sha + + - name: docker-build-push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64 + file: Dockerfile + push: true + tags: ${{ steps.metadata.outputs.tags }} + labels: ${{ steps.metadata.outputs.labels }} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f7e317b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM alpine:latest AS alpine + +FROM boxboat/config-merge:latest as config-merge + +FROM alpine:latest + +# Add binaries from config-merge +COPY --from=config-merge /usr/local/config-merge /usr/local/config-merge +COPY --from=config-merge /usr/local/bin/config-merge /usr/local/bin/config-merge +COPY --from=config-merge /usr/local/bin/envsubst /usr/local/bin/envsubst + +# Add dasel +RUN wget -O /usr/local/bin/dasel https://github.com/TomWright/dasel/releases/download/v1.27.1/dasel_linux_amd64 +RUN chmod +x /usr/local/bin/dasel + +# Add system packages +RUN apk add --update nodejs npm curl jq lz4 vim \ No newline at end of file