Release on merge: tag-release promotes Unreleased and tags it #416
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "auto-release"
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?
A new
tag-releaseworkflow releases every push tomainthat has something under## [Unreleased]. The rules are indocs/deployment.md> "Cutting a release".## [vYYYY.M.D](.Nfor a second release that day), commit as Waggle Release Bot, tag, push<!-- release: hold -->or### Note when rolling outpublish-and-stagebuilds and deploys staging## [vX]heading not yet taggedpublish-and-stagenow builds and deploys staging only when the push is held.release-and-deploy.yamlis untouched: the tag builds, releases and deploys production.release-promote.shrefuses a section that still carries the marker. A failed run can be re-run from the Actions tab; it stops on its own ifmainhas moved on.Scripts
release-decide.shpicks the route. It reuseschangelog-section.sh,validate-calver-tag.shand the newnewest-calver-tag.sh;assert-newest-calver-tag.shnow uses that last one too.release-promote.shrewrites the CHANGELOG (section, fresh Unreleased, both links). It renamesunreleased.mdonly when it has content, and removes it when it is empty..forgejo/known_hostspins the host key the push checks.Tests.
test-release-scripts.shcovers every route, the.Nnumbering, the hold refusal and the in-app notes. Everything passes in a clean container, andchangelog-frozen.shpasses on the real history. Locally, the existing tag-based cases fail on this host only becausetag.gpgSignis set globally.Push identity
RELEASE_PUSH_KEYdeploy key. The automatic token cannot push to a protectedmain(forgejo#11159), and a tag it pushes starts no workflow. A deploy-key push counts as the repository owner's (routers/private/serv.go, v15), so the tag does startrelease-and-deploy.Waggle Release Bot <release-bot@waggle.rijksapp.nl>. That domain publishes a null MX, so no account can claim the address. The commits are unsigned; "Require signed commits" is off.This PR lands under a hold, so merging it only stages. The first real release comes from the PR that removes the marker.
Open points
SHA256:vcXtpeDOqkTc5F466dN5PiTAAAM+J+vU1A6ejGkpX20) was read from mybee, trust on first use. Whether the runner reaches port 22 shows on the first real run.CI / *andtest-build / *, "Enforce this rule for repository admins", "Block merge if pull request is outdated", and "Whitelist restricted push" with only deploy keys.23dc2ded5523e8b63c1723e8b63c17ca397cf2d4ca397cf2d4cf0afbb1beRelease on merge: promote Unreleased and tag from publish-and-stageto Release on merge: cut-release promotes Unreleased and tags itcf0afbb1be622480904e622480904e7aef31357fRelease on merge: cut-release promotes Unreleased and tags itto Release on merge: tag-release promotes Unreleased and tags it7aef31357f225727c08d