ci(release): port release automation off release-please to the tier-kit git-cliff flow #115
No reviewers
Labels
No labels
area: arcade
area: art-studio
area: calendar
area: chapel
area: content
area: design
area: field-guide
area: infra
area: library
area: os
area: portal
area: sync
area: typing
blocked
breaking
bug
content: approved
content: changes-requested
content: drafting
content: needs-doctrinal-review
content: needs-review
dependencies
documentation
duplicate
enhancement
epic
github_actions
good first issue
help wanted
invalid
javascript
needs-triage
priority: high
priority: low
priority: medium
question
type: enhancement
type: feature
type: fix
type: perf
type: security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Bosco/bosco!115
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ci/port-release-automation"
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?
Closes #114.
release-pleasehas never succeeded on this Forgejo instance and never will — the repo came over from GitHub with its release automation intact and nobody ported it. It authenticates a Forgejo token againstapi.github.com("Bad credentials"), and repointing the REST base would not help because release-please's commit/PR/release iterators are GraphQL, which Forgejo does not expose at all. The tags that make it look like it once worked are imported history, authored byGhost.This replaces it with the flow
manlycucumber/arxhas run in production since v0.1.0:cliff.toml— Conventional Commits → SemVer, via git-cliff.forgejo/workflows/release.yml— computes the bump, tagsvX.Y.Z, creates the Forgejo Releasescripts/changelog.sh— regeneratesCHANGELOG.mdlocally…and deletes
.github/workflows/release-please.yml,release-please-config.jsonand.release-please-manifest.json.Taken from tier-kit
develop, notmain— deliberatelytier-kit's
mainis still v0.1.2, which predatesa6c768b("the two halves agree on a first version"). Without it,changelog.shandrelease.ymldisagree on a repo's first version: git-cliff inherits thevprefix from the previous tag and has none on a first release, so the changelog is headed0.1.0against av0.1.0tag. That bites only on a first release — which is exactly what this port produces here. Porting frommainwould have shipped that bug.This repo
Release fires on push to
develop, matching where it already released from. The job never writes to the branch: a runner holds no signing key, so a CHANGELOG commit made there lands unverified — hence the localchangelog.shhalf.Before this can cut a release
RELEASE_TOKENrepo secret — a Forgejo token withwrite:repositorybelonging to the maintainer.v*tag protection rule exists, that user must be whitelisted on it, or the tag push is refused.Checked before porting
Ran tier-kit#8's count check against this repo's history: no hard-wrapped commit subjects, so nothing will be silently dropped from the first release notes or from the version bump. Full results for all seven repos are in tier-kit#8.