From 1e63d8dff5e329ba75095d19427bcf1b5e555b39 Mon Sep 17 00:00:00 2001 From: David Robertson Date: Wed, 11 Oct 2023 16:11:31 +0100 Subject: [PATCH] Make the docker build trigger on `v*` tags too. --- .github/workflows/docker.yml | 7 +++---- RELEASING.md | 14 ++++++++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index b1c6b306..37448d56 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -5,8 +5,7 @@ name: "Docker" on: push: branches: ["main"] - release: # A GitHub release was published - types: [published] + tags: ["v*"] workflow_dispatch: # A build was manually requested workflow_call: # Another pipeline called us @@ -50,7 +49,7 @@ jobs: ghcr.io/${{ env.GHCR_NAMESPACE }}/sliding-sync:main - name: Build release Sliding Sync image - if: github.event_name == 'release' # Only for GitHub releases + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') id: docker_build_sliding_sync_release uses: docker/build-push-action@v4 with: @@ -61,7 +60,7 @@ jobs: push: true tags: | ghcr.io/${{ env.GHCR_NAMESPACE }}/sliding-sync:latest - ghcr.io/${{ env.GHCR_NAMESPACE }}/sliding-sync:${{ github.event.release.tag_name }} + ghcr.io/${{ env.GHCR_NAMESPACE }}/sliding-sync:${{ github.ref_name }} - name: Run Trivy vulnerability scanner uses: aquasecurity/trivy-action@master diff --git a/RELEASING.md b/RELEASING.md index 77320c28..cf32a148 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,7 +1,13 @@ 0. Ensure that CI passes against the commit you want to release. 1. Tag that release. The tag name should start with `v`. Push it to GitHub. -2. GitHub should see tag and trigger [a GHA workflow](https://github.com/matrix-org/sliding-sync/actions/workflows/release.yml). It should: - - build binaries, - - create a draft release for this tag, and +2. After the tag is pushed, Github will see the tag and trigger [a GHA workflow](https://github.com/matrix-org/sliding-sync/actions/workflows/docker.yml). It should + - build docker images, + - publish them to [the project's container repository](https://github.com/matrix-org/sliding-sync/pkgs/container/sliding-sync), + - and also run some [third-party vulnerability scanner](https://github.com/matrix-org/sliding-sync/blob/97b21d4d9ea2c151ac5535a46ad9930c5a2a7f32/.github/workflows/docker.yml#L66-L76), for some reason. +3. GitHub should also trigger [a second GHA workflow](https://github.com/matrix-org/sliding-sync/actions/workflows/release.yml), which: + - builds binaries, + - creates a draft release for this tag, and - uploads the binaries as artifacts to this release. -3. Go to https://github.com/matrix-org/sliding-sync/releases/ to find your release. Check that the binaries are attached successfully. Write release notes. When you're happy, publish. \ No newline at end of file +4. Go to https://github.com/matrix-org/sliding-sync/releases/ to find your release. **Edit it in place** (do not create a new release). Check that the binaries are attached successfully. Write release notes. When you're happy, publish. + +That's it. Relax, take a deep breath, pat yourself on the back, then move on with your life. \ No newline at end of file