From 2e66f90c8f537d4cbe219961bf59b4a80eef334a Mon Sep 17 00:00:00 2001 From: Wouter Wijsman Date: Thu, 16 May 2024 12:39:30 +0200 Subject: [PATCH] Add Docker build upon release --- .github/workflows/docker.yml | 41 ++++++++++++++++++++++++++++++++++++ Dockerfile | 12 +++++++++++ 2 files changed, 53 insertions(+) create mode 100644 .github/workflows/docker.yml create mode 100644 Dockerfile diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 00000000..7bf0675d --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,41 @@ +name: Docker + +on: + push: + tags: + - "*" + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + fetch-tags: true + + - name: Create RELEASE.txt + run: | + echo "GIT_COMMIT=${{ github.sha }}" > RELEASE.txt + echo "VERSION=${{ github.ref_name }}" >> RELEASE.txt + cat RELEASE.txt + + - name: Login to GitHub registry + uses: docker/login-action@v3 + with: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + registry: ghcr.io + + - name: Build and push Docker container to GitHub registry + uses: docker/build-push-action@v5 + with: + context: . + push: true + labels: | + git_commit=${{ github.sha }} + version=${{ github.ref_name }} + tags: | + ghcr.io/${{ github.repository }}:latest + ghcr.io/${{ github.repository }}:${{ github.ref_name }} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..1acb4619 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM golang:alpine + +COPY . /src + +RUN cd /src && \ + apk add --no-cache make git && \ + make + +FROM alpine:latest + +COPY --from=0 /src/gscloud /usr/bin/gscloud +ENTRYPOINT ["/usr/bin/gscloud"]