fix(release): land the tag and ward-specs bundle even when an image tier flakes #492
No reviewers
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/agentic-os!492
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-490"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
aos stopped releasing: run 1127's
publish-dev-baseflaked on one registry blob write for thelang-dotnettier, and becausereleaseneededpublish-dev-base, thev0.249.0tag, the Forgejo release, and the ward-specs bundle were all skipped. The Telegram alert for that failure also died - one un-retried TLS handshake timeout - so main sat unreleased atv0.248.0with no signal.Changes
releasenow needsplan-releasealone, so the tag, the Forgejo release, and the ward-specs bundle land regardless of the image publish.publish-dev-basechains offreleaseinstead (images are a consequence of the tag, not a precondition) and fails independently and loudly. Newtests/test_release_workflow_decoupling.pypins the job graph.scripts/dev-base-build.pyretries each pushed tier (3 attempts, 15s/60s backoff), so a single blob-write flake re-pushes one tier instead of costing the run. Already-pushed layers and the registry buildcache make a retry mostly re-push, not rebuild. Local builds stay fail-fast. Covered by new tests.urlopencall (_ssl.c:975: The handshake operation timed out). The compositeactions/telegram-alertand all nine inline workflow copies (ci, promote, mirror x2, dep-bump, freshness, release x3) now retry the send (3 attempts, 10s/30s backoff, 30s timeout). Covered by new tests.Landing the missing release
Merging this PR pushes main forward, promote.yml fast-forwards
release, and the fixed pipeline cuts the next tag plus the ward-specs bundle fromplan-releasealone - even if the dotnet tier flakes again. That satisfies the issue's done condition structurally: a forced failure of one image tier can no longer prevent the tag and bundle.Contributing factor (follow-up, not in this PR)
kai-server is at 87% disk (63.5 GB free of 515 GB, verified via node stats). The packages API returns 403 for the container token, so dev-base tag retention could not be enumerated from here. A follow-up issue covers checking registry retention and adding a cleanup policy.
closes #490
ward.workflow: pull-request-and-merge
almost certainly it will be easier just to rewrite this PR from scratch
Heads-up from Kai's desktop session: this branch is now
mergeable: falseagainst main.27eccc2ande51de73tonight: the ward-specs tar step in release.yml switched to a wildcard plus deny-list (the enumerated list had silently dropped the role-boundguardfile.aws.engineer.kdl), ci.yml grew a standaloneward-doctorjob, and ci/promote moved off the retired:latestcontainer to:release(its ward v0.529.0 predates the doctor verb). A rebase needs to keep the deny-list tar form.failed to push ...lang-go-v0.250.0: unknown(the #490 blob-write class). Two consecutive runs, two different single-job flakes, zero tags - the decoupling and per-tier retries here are the structural fix. Run 1150 is a manual re-dispatch in the meantime.remake this PR from scratch
Pull request closed