Migrate release.yml off the full image: lang-go tier, script checkout, python3 JSON helpers #1492

Closed
opened 2026-07-21 04:11:37 +00:00 by coilyco-ops · 1 comment
Member

Problem

release.yml (stage 2) still runs all four jobs on the full agentic-os:latest image with actions/checkout@v6 and twelve inline node -e JSON helpers. Tonight's first stage-2 run since Jul 13 had promote-draft-assets die pulling that image (runner dind eviction, the ward#1328 class), which skipped bump-tap-formula and bump-scoop-manifest. The nightly runner recycle (infrastructure deploy/forgejo-runner-recycle.yml) shrinks the eviction window but stage 2 still rolls the fat-pull dice on every release.

Solution

Mirror the promote.yml migration that took stage 1 green:

  1. Job containers move to agentic-os:lang-go-latest.
  2. actions/checkout@v6 becomes the script checkout (no node runtime needed, no credential in git config). Promote.yml has the canonical block.
  3. The twelve inline node -e sites port to python3 -c, compact json.dumps separators where output bytes are asserted. The scripts (publish-draft-release.sh, forgejo-release-asset.sh, forgejo-create-release.sh) are already ported - only workflow-inline blocks remain, including the two larger generators near lines 474 (tap formula) and 731 (scoop manifest).
  4. docker manifest inspect in the release job becomes a registry-API HEAD via curl (job-token read is proven), since lang-go has no docker CLI.
  5. scripts/release_contract_test.go pins several of these strings (actions/checkout@v6 in the scoop job, the docker manifest line, the six Accept-header count) - update the contract in the same commit, and run the suite with node stripped from PATH to prove independence.

Context

Stage 1 (promote.yml) went green tonight after the same treatment plus the registry-copy blob-mount fix and the org REGISTRY_TOKEN refresh. See the ward#1328 thread and commits 9a9e23a, 6e80401, afe748d, fdef21c, 6c49c99.

Filed by Claude Code during the release-pipeline repair session with Kai.

## Problem release.yml (stage 2) still runs all four jobs on the full `agentic-os:latest` image with `actions/checkout@v6` and twelve inline `node -e` JSON helpers. Tonight's first stage-2 run since Jul 13 had `promote-draft-assets` die pulling that image (runner dind eviction, the ward#1328 class), which skipped `bump-tap-formula` and `bump-scoop-manifest`. The nightly runner recycle (infrastructure `deploy/forgejo-runner-recycle.yml`) shrinks the eviction window but stage 2 still rolls the fat-pull dice on every release. ## Solution Mirror the promote.yml migration that took stage 1 green: 1. Job containers move to `agentic-os:lang-go-latest`. 2. `actions/checkout@v6` becomes the script checkout (no node runtime needed, no credential in git config). Promote.yml has the canonical block. 3. The twelve inline `node -e` sites port to `python3 -c`, compact `json.dumps` separators where output bytes are asserted. The scripts (`publish-draft-release.sh`, `forgejo-release-asset.sh`, `forgejo-create-release.sh`) are already ported - only workflow-inline blocks remain, including the two larger generators near lines 474 (tap formula) and 731 (scoop manifest). 4. `docker manifest inspect` in the release job becomes a registry-API HEAD via curl (job-token read is proven), since lang-go has no docker CLI. 5. `scripts/release_contract_test.go` pins several of these strings (`actions/checkout@v6` in the scoop job, the docker manifest line, the six Accept-header count) - update the contract in the same commit, and run the suite with node stripped from PATH to prove independence. ## Context Stage 1 (promote.yml) went green tonight after the same treatment plus the registry-copy blob-mount fix and the org REGISTRY_TOKEN refresh. See the ward#1328 thread and commits 9a9e23a, 6e80401, afe748d, fdef21c, 6c49c99. Filed by Claude Code during the release-pipeline repair session with Kai.
Owner

So move from my self hosted image with many things, to my self hosted image with less things ...? I guess so...

So move from my self hosted image with many things, to my self hosted image with less things ...? I guess so...
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/ward#1492
No description provided.