Delete the legacy rebuild workflows and their vestigial version-bump script - #162
Merged
Merged
Conversation
Their stated deletion condition is met: the first post-cutover RC published simplerisk/simplerisk 20260820-001-jammy/-noble, and GA promoted both images from those digests (run 32507524464). There is no longer a release path that needs a rebuild, so the escape hatch has nothing left to catch. Both were already dispatch-only and unreferenced outside their own files. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
push-to-dockerhub_rw.yml and push-to-gh-pkgs_rw.yml had exactly two callers between them -- the entry points removed in the previous commit. Nothing else in the repo references either file, so they are dead code rather than reusable building blocks. Split from the previous commit so it can be dropped independently if you would rather keep the generic build-and-push blocks around. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…on pin Deleting the push workflows would have broken `make update_version`, not just left dead code. update_workflows.sh loops over `.github/workflows/push*`; with no matches bash leaves the literal glob, sed fails on the nonexistent path, and `set -e` exits 1 -- taking down step 1 of the release bump. Verified: the loop exits 1 against the post-deletion tree. The script only ever patched `version:` pins in those four workflows, and despite its name update_stack_and_workflows.sh touches only stack.yml, so nothing else needs it. The version now lives solely in the two generated Dockerfiles (`ENV version=`), which is where promote-latest.yml and create_new_tag.yml already read it. Removed from the Makefile and from gorin.toml -- the latter generates the Makefile, so leaving it would resurrect the call on the next `make generate_makefile`. CLAUDE.md's release-step list updated to match. Verified: `make update_version VERSION=20260820-001` succeeds and is idempotent (no Dockerfile churn). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
jsokol
marked this pull request as ready for review
August 21, 2026 19:52
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.
Description
Removes the legacy rebuild path now that GA promotes instead of rebuilding. Their stated deletion condition is met: the first post-cutover RC published
simplerisk/simplerisk:20260820-001-jammy/-noble, and promote run 32507524464 moved:lateston both images from those digests.Three commits, deliberately separable:
1. Delete the two entry points —
push-to-dockerhub.yml,push-to-gh-pkgs.yml. Already dispatch-only since #160, and unreferenced outside their own files.2. Delete the two now-orphaned reusable workflows —
push-to-dockerhub_rw.yml,push-to-gh-pkgs_rw.yml. Between them they had exactly two callers, both removed in commit 1; nothing else in the repo references either. Split out so you can drop this commit if you'd rather keep the generic build-and-push blocks around.3. Delete
update_workflows.sh— this one is not optional cleanup, it's required. See below.The trap in commit 3
Deleting the workflows without this would have broken the next release cut.
update_workflows.shdoes:With no
push*files left, bash leaves the literal glob unexpanded,sedfails on the nonexistent path, andset -eexits 1 — taking down step 1 ofmake update_version. Verified against the post-deletion tree:The script only ever patched
version:pins in those four workflows. Despite its name,simplerisk-minimal/update_stack_and_workflows.shtouches onlystack.yml, so nothing else needs it. The version now lives solely in the two generated Dockerfiles (ENV version=) — which is already wherepromote-latest.ymlandcreate_new_tag.ymlread it from.Removed from three places, because they'd each resurrect it:
Makefile— theupdate_versiontargetgorin.toml— generates the Makefile, so leaving it would bring the call back on the nextmake generate_makefileCLAUDE.md— the release-step list (also drops the stale "with a fresh random password" note; that script uses a fixed bootstrap password now)Release Notes
No customer-facing change. Removes dead release plumbing.
Manual Validation Steps
make update_version VERSION=20260820-001→ exits 0 (exited 1 before commit 3) and produces no Dockerfile churn.version:pin:grep -rn 'version: "' .github/workflows/→ no matches.container-validation,create_new_tag,promote-latest,publish-testing,shellcheck,verify-image_rw.make update_versionthenpromote-latestdispatch should be the whole image path.Type of Change
make update_versionbreakage the deletion would otherwise introduce)Testing Results
make update_version VERSION=20260820-001→ exit 0, idempotent, no Dockerfile churn. Proved the pre-fix failure first.actionlintclean on every remaining workflow. One pre-existingSC2086:infoincreate_new_tag.yml— confirmed present onorigin/masterbefore this branch; untouched here.shellcheck -S error(CI's gate) clean across all tracked scripts._rwfiles.CIA Impact Check
WILL NOT negatively impact Confidentiality, Integrity or Availability.
Deletes only workflows that no longer run on any trigger and a script that patches files which no longer exist. The live release path —
publish-testing.ymlontesting,promote-latest.ymlonmaster— is untouched. Net positive on Availability: it removes amake update_versionfailure that the deletion would otherwise have introduced into the next release cut.