Skip to content

Commit c007eae

Browse files
ToddHebebrandclaude
andcommitted
chore(ci): push Docker images last — after create-release gate
Watchtower polls GHCR on a 5-minute interval and was pulling stale `latest` tags before the release workflow finished building all artifacts. Move the three Docker image jobs (api, web, binaries) behind `create-release` so images aren't pushed until everything else is done. The `if` conditions tolerate create-release being skipped during workflow_dispatch with skip_release. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 4b9d704 commit c007eae

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

.github/workflows/release.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1633,7 +1633,7 @@ jobs:
16331633
build-binaries-image:
16341634
name: Build & Push Binaries Init Image
16351635
runs-on: ubuntu-latest
1636-
needs: [build-agent, build-windows-msi, build-macos-agent, sign-windows-tauri, build-viewer, build-helper, build-viewer-macos, build-helper-macos]
1636+
needs: [build-agent, build-windows-msi, build-macos-agent, sign-windows-tauri, build-viewer, build-helper, build-viewer-macos, build-helper-macos, create-release]
16371637
if: >-
16381638
!cancelled()
16391639
&& needs.build-agent.result == 'success'
@@ -1644,6 +1644,7 @@ jobs:
16441644
&& needs.build-helper.result == 'success'
16451645
&& (needs.build-viewer-macos.result == 'success' || needs.build-viewer-macos.result == 'skipped')
16461646
&& (needs.build-helper-macos.result == 'success' || needs.build-helper-macos.result == 'skipped')
1647+
&& (needs.create-release.result == 'success' || needs.create-release.result == 'skipped')
16471648
permissions:
16481649
contents: read
16491650
packages: write
@@ -1719,7 +1720,11 @@ jobs:
17191720
build-docker-api:
17201721
name: Build & Push API Docker Image
17211722
runs-on: ubuntu-latest
1722-
needs: [build-api]
1723+
needs: [build-api, create-release]
1724+
if: >-
1725+
!cancelled()
1726+
&& needs.build-api.result == 'success'
1727+
&& (needs.create-release.result == 'success' || needs.create-release.result == 'skipped')
17231728
permissions:
17241729
contents: read
17251730
packages: write
@@ -1775,7 +1780,11 @@ jobs:
17751780
build-docker-web:
17761781
name: Build & Push Web Docker Image
17771782
runs-on: ubuntu-latest
1778-
needs: [build-web]
1783+
needs: [build-web, create-release]
1784+
if: >-
1785+
!cancelled()
1786+
&& needs.build-web.result == 'success'
1787+
&& (needs.create-release.result == 'success' || needs.create-release.result == 'skipped')
17791788
permissions:
17801789
contents: read
17811790
packages: write

0 commit comments

Comments
 (0)