Skip to content

Do not publish a release whose image never arrived - #44

Merged
kristianwind merged 1 commit into
mainfrom
release-order
Sep 1, 2026
Merged

kristianwind merged 1 commit into
mainfrom
release-order

Conversation

@kristianwind

Copy link
Copy Markdown
Owner

v0.5.1 published every binary and checksums.txt while its image job was still running — 56 minutes against a normal 7–11:

tag image job
v0.4.5 7m 06s
v0.4.6 10m 21s
v0.4.7 8m 38s
v0.4.8 10m 41s
v0.5.0 9m 28s
v0.5.1 cancelled at 56m

Two tag builds started six minutes apart and shared the same type=gha cache; tags are deliberately not cancelled by concurrency, so both ran.

The result was the state this file was rewritten to prevent: the release existed and the image did not. The self-updater reads GitHub releases and would offer v0.5.1 to a self-hoster, while the panel pulls :latest and got v0.5.0.

binaries now needs image as well as test. Either both artefacts exist or neither does, and a stuck build leaves nothing half-published behind it.

Gating still holds: image is skipped on Gitea and on pull requests, and a skipped dependency skips its dependents — which is the wanted behaviour, since binaries already refuses to publish anywhere but GitHub on a tag.

🤖 Generated with Claude Code

v0.5.1 published every binary and checksums.txt while its image job was
still running — 56 minutes against a normal 7 to 11, on the arm64 half
under QEMU, two tag builds having started six minutes apart and shared
the same gha cache.

So the release existed and the image did not. The self-updater reads
GitHub releases and would offer v0.5.1 to a self-hoster; the panel pulls
:latest and got v0.5.0. Hosted and self-hosted diverge exactly there,
and ending that divergence is why this file was rewritten in the first
place.

binaries now needs the image as well as the tests. Either both artefacts
exist or neither does, and a stuck build leaves nothing half-published
behind it.

The gating still holds where it should: image is skipped on Gitea and on
pull requests, and a skipped dependency skips its dependents — which is
the wanted behaviour, since binaries already refuse to publish anywhere
but GitHub on a tag.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kristianwind
kristianwind merged commit 14d86f0 into main Sep 1, 2026
3 checks passed
@kristianwind
kristianwind deleted the release-order branch September 1, 2026 11:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants