ci(release): port release automation off release-please to the tier-kit git-cliff flow #117
No reviewers
Labels
No labels
area: build
area: ci
area: compare
area: model
area: plugin
area: provenance
area: rite
area: settings
area: ui
backport
blocked
breaking
confirmed
dependencies
duplicate
epic
invalid
needs-info
needs-triage
php
priority: high
priority: low
priority: medium
regression
type: chore
type: correction
type: docs
type: enhancement
type: feature
type: fix
type: perf
type: refactor
type: security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Directorium/Ordo!117
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?
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
main, 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.