fix(ci): stop deleting the dev release — the tag can never come back - #201
Merged
Conversation
Both flatpak workflows published the rolling dev bundle by deleting the latest-dev release and tag, then re-creating them. With the immutable-release ruleset in effect that is a self-destruct: a tag that has carried a release is permanently banned from re-creation. The first dev push after the ruleset landed deleted the release and could not restore it: HTTP 422: Validation Failed pre_receive Repository rule violations found Cannot create ref due to creations being restricted. for CI's token and for a maintainer PAT alike. Re-running does not help. The dev flatpak channel is down: dakota-iso 404s on releases/download/latest-dev/... and silently falls back to the upstream tuna-os bundle, so the live ISO ships someone else's installer. latest-dev is burned for good, so the rolling dev tag becomes dev-rolling. Publishing is now create-if-missing followed by upload --clobber, with no delete anywhere, so this cannot recur on the new tag. Release notes now record the commit and build time. dakota-iso must move its dev-channel URL to dev-rolling in lockstep. The existing comment in flatpak.yml already warned this had happened to latest-stable. It was right. Assisted-by: Claude Opus 5 via GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Merged
1 task
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 broke
Both flatpak workflows published the rolling dev bundle by deleting the
latest-devrelease and tag and re-creating them on every push todev:With the immutable-release ruleset in effect that is a self-destruct. A tag that has ever carried a release is permanently banned from re-creation, so the delete succeeds and the create cannot:
That happens for CI's
github.tokenand for a maintainer PAT alike, and re-running the job does not help — I re-ran it, same failure.2>/dev/nullon the create meant the real error never reached the log; the job just reportedrelease not foundtwice from the fallback path.Current state:
latest-devno longer exists and cannot be recreated. The dev flatpak channel is down.dakota-iso'sinstall-flatpaks.sh404s onreleases/download/latest-dev/org.bootcinstaller.Installer.Devel.flatpakand silently falls back to the upstreamtuna-osbundle — so a live ISO quietly ships a different project's installer instead of failing loudly.Triggered by merging #200. The landmine was already armed; that merge stepped on it.
Fix
dev-rolling(latest-devis unusable forever — the ban is per tag name; arbitrary new tags create fine, verified).upload --clobber. No delete anywhere, in either workflow, so this cannot recur on the new tag.set -euo pipefailso a failure surfaces instead of being swallowed, and no more2>/dev/nullhiding the cause.The comment already sitting in
flatpak.ymlwarned that exactly this had happened tolatest-stable. It was right, and the same pattern was left in place forlatest-dev.Companion change
dakota-isomust move its dev-channel URL todev-rollingin the same window — filed alongside this. Until both land,installer_channel=devISO builds fall back to upstream.Skill update
docs/skills/PITFALLS.mdrecords the one-way-door rule and the two-repo coupling.Assisted-by: Claude Opus 5 via GitHub Copilot