ci: adopt Release Please for versioning, tags, and releases#415
Merged
Conversation
Replace the manual package.json bump + sersoft-gmbh/running-release-tags-action flow (which silently failed to move tags from a shallow checkout) with release-please: - release-please.yml: release-please maintains a release PR (version bump + CHANGELOG from Conventional Commits); merging it tags vX.Y.Z + cuts a GitHub release. A roll-tags job then moves the major (v1) and minor (v1.7) tags onto the released commit via the refs API, so @v1 / @v1.7 consumers track it (no checkout, so no shallow-clone tag-push pitfalls). - build-dist.yml: trimmed to just rebuilding + committing dist/ on every push to main, so the released commit always carries built output. Versioning and tags now belong to release-please. Uses CRU_DEVOPS_GITHUB_TOKEN so the release PR triggers the required "Lint, Build & Test" check (a default-GITHUB_TOKEN PR would not) and tag pushes are allowed. The workflow_call check/get-pr-release-label workflows are left as-is (consumed by other apps). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
davidhollenberger
approved these changes
Jun 30, 2026
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.
Why
The release mechanism here was fragile and silently broken:
package.json.build-dist.ymlmoved the rollingv1tag viasersoft-gmbh/running-release-tags-actionfrom a shallow checkout, which failed every release. As a result the only tags in the repo werev1.0.0andv1, andv1had drifted 9 commits stale —@v1consumers (bills' deploy, etc.) were running an old action bundle.What
Switch to Release Please, the same flow the bills app uses.
release-please.yml(new)release-pleasereads Conventional Commits onmainand maintains a release PR (version bump inpackage.json+CHANGELOG.md). Merging it tagsvX.Y.Zand cuts a GitHub release.roll-tagsjob then pointsv{major}(v1) andv{major}.{minor}(v1.7) at the released commit via the refs API — no checkout, so none of the shallow-clone tag-push pitfalls that broke the old step.CRU_DEVOPS_GITHUB_TOKENso the release PR triggers the required Lint, Build & Test check (a default-GITHUB_TOKENPR wouldn't) and tag pushes are allowed.build-dist.yml(trimmed)dist/on every push tomain. Sincedist/is always current onmain, the commit release-please tags already carries built output — the tags never point at an unbuilt commit. Versioning/tags moved torelease-please.yml.Notes
workflow_callcheck-pr-release-label/get-pr-release-labelworkflows are left untouched — they're consumed by other apps' deployments, not this repo's release path.package.jsonis1.7.1and av1.7.1tag now exists, so release-please starts fromv1.7.1; the nextfeat:/fix:opens the first release PR. No giant historical CHANGELOG.release-type: node.Follow-up (optional)
dist/is kept current via the per-push rebuild (simplest, keeps@mainrunnable). If you'd rather cut the per-merge "build: rebuild dist/" churn, we can instead rebuilddist/only on the release PR — more moving parts, happy to do it if you prefer.🤖 Generated with Claude Code