ci: handle brand-new images and workflow_dispatch in release_check#446
Merged
Conversation
- GHCR refuses to issue an anonymous pull token (403) for packages that do not exist yet, which made the release gate crash on the first release of a new image name (seen with jvm-jersey-env-25). Treat token 401/403/404 as "package missing -> release needed". - When invoked with no package list (workflow_dispatch, where the paths filter has no diff), reconcile every environment so any envconfig version that never got published is picked up. Verified live against GHCR: the reconcile run correctly flags the unpublished backlog (jvm-jersey-env-25 1.32.0, python-env 1.34.3, php-env 1.31.2, legacy dotnet 1.31.1) and skips everything already published. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This was referenced Jun 6, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Follow-up fix to the #436 release-gate repair, surfaced by the first real release runs after #437/#438 merged:
jvm-jersey-env-25(failed run). Token 401/403/404 now maps to "package missing → release needed"; 5xx/network errors still fail closed.workflow_dispatchreconcile mode: on manual dispatch the paths filter has no diff, so the gate previously did nothing. With an empty package list it now scans every*/envconfig.jsonand releases anything whose version isn't on GHCR — making dispatch a "reconcile all" button.Verified live against GHCR
Reconcile mode correctly flags the current unpublished backlog —
jvm-jersey-env-25:1.32.0(the failed run above),python-env:1.34.3(pre-existing backlog from the broken gate),php-env:1.31.2, legacydotnet-env/dotnet20-env1.31.1— and skips everything already published.After merge
Run
gh workflow run release.yamlonce to backfill the missed releases (heads-up: the legacy dotnet 1.1/2.0 matrix legs may fail to build — they're EOL images on the deprecatedmicrosoft/dotnetbase and were left untouched in this series;fail-fast: falsekeeps the other legs going).🤖 Generated with Claude Code