From 22658ab7ab8df53963d12bcadd631765b5f3db57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raphael=20Z=C3=B6llner?= Date: Fri, 10 Mar 2023 09:57:41 +0100 Subject: [PATCH] Add docker to release workflow --- .github/workflows/release.yml | 39 +++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e0f032090..9d5d59aec 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,8 @@ name: release on: - # Test that it works on pull_request; goreleaser goes into snapshot mode if not a tag. + # Test that it works on pull_request; + # goreleaser goes into snapshot mode if not a tag; + # docker image will be built but not pushed for pull requests. pull_request: push: tags: @@ -9,9 +11,17 @@ on: permissions: # goreleaser writes to the releases api contents: write + # docker writes packages to container registry + packages: write + +env: + # Use docker.io for Docker Hub if empty + REGISTRY: ghcr.io + # github.repository as / + IMAGE_NAME: ${{ github.repository }} jobs: - goreleaser: + release: runs-on: ubuntu-latest env: flags: "" @@ -32,3 +42,28 @@ jobs: args: release --rm-dist ${{ env.flags }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + docker-release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - run: git fetch --force --tags + - name: Log in to the Container registry + uses: docker/login-action@v3.0.0 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5.4.0 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push Docker image (image is not pushed on pull request) + uses: docker/build-push-action@v5.1.0 + with: + context: . + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}