From 1b7078d1ccf4b208a5bad1f2319f9646fb5c215e Mon Sep 17 00:00:00 2001 From: Alex Vandiver Date: Wed, 12 Nov 2025 10:08:13 -0500 Subject: [PATCH 1/4] github: Explicitly pull when building new `main` images. --- .github/workflows/dockerfile-build.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/dockerfile-build.yaml b/.github/workflows/dockerfile-build.yaml index 0a6f06a514..a8ff0686b8 100644 --- a/.github/workflows/dockerfile-build.yaml +++ b/.github/workflows/dockerfile-build.yaml @@ -31,6 +31,7 @@ jobs: with: context: . push: true + pull: true tags: ghcr.io/${{ github.repository }}:main cache-from: type=gha cache-to: type=gha,mode=max From 788945de17f46fae67dfee64dc512e3a96026c3b Mon Sep 17 00:00:00 2001 From: Alex Vandiver Date: Wed, 12 Nov 2025 10:08:37 -0500 Subject: [PATCH 2/4] github: Fix the package-name in PR image cleanup. --- .github/workflows/dockerfile-cleanup.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dockerfile-cleanup.yaml b/.github/workflows/dockerfile-cleanup.yaml index d040d980d7..932a9cc38a 100644 --- a/.github/workflows/dockerfile-cleanup.yaml +++ b/.github/workflows/dockerfile-cleanup.yaml @@ -16,7 +16,7 @@ jobs: - name: Delete PR image uses: actions/delete-package-versions@v5 with: - package-name: "zulip/docker-zulip" + package-name: "docker-zulip" package-type: "container" token: ${{ secrets.GITHUB_TOKEN }} tag-name: pr-${{ github.event.pull_request.number }} From 74cd2be2bebe8a5fa25e428df96d310ca9f7e5b3 Mon Sep 17 00:00:00 2001 From: Alex Vandiver Date: Wed, 12 Nov 2025 10:08:51 -0500 Subject: [PATCH 3/4] github: Also clean up all untagged images after PR merge. --- .github/workflows/dockerfile-cleanup.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/dockerfile-cleanup.yaml b/.github/workflows/dockerfile-cleanup.yaml index 932a9cc38a..8a8cc2e9fa 100644 --- a/.github/workflows/dockerfile-cleanup.yaml +++ b/.github/workflows/dockerfile-cleanup.yaml @@ -20,3 +20,11 @@ jobs: package-type: "container" token: ${{ secrets.GITHUB_TOKEN }} tag-name: pr-${{ github.event.pull_request.number }} + + - name: Delete untagged images from GHCR + uses: actions/delete-package-versions@v5 + with: + package-name: "docker-zulip" + min-versions-to-keep: 0 + token: ${{ secrets.GITHUB_TOKEN }} + delete-untagged-versions: true From 996f139587772066ff1367db8d4f197417887bd5 Mon Sep 17 00:00:00 2001 From: Alex Vandiver Date: Wed, 12 Nov 2025 11:08:46 -0500 Subject: [PATCH 4/4] github: Only fetch kubernetes logs if the chart was run. We switch from `always()` to `( success() || failure() )` soas to not fetch logs when a run is canceled. --- .github/workflows/dockerfile.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dockerfile.yaml b/.github/workflows/dockerfile.yaml index 889a490a47..df2d02c96a 100644 --- a/.github/workflows/dockerfile.yaml +++ b/.github/workflows/dockerfile.yaml @@ -133,7 +133,8 @@ jobs: --skip-clean-up - name: Fetch logs - if: always() + if: steps.list-changed.outputs.changed == 'true' && ( success() || failure() ) + continue-on-error: true run: | namespace=$(helm list --all-namespaces --output json \ | jq -r '[.[] | select(.namespace | startswith("zulip-"))][0].namespace')