fix: port conventional-commit version bump from metriccalc - #4
Merged
Merged
Conversation
Replace the manual workflow_dispatch bump (which pushed directly to protected main and always failed) with metriccalc's PR-based flow: bump type derived from conventional commits, bump lands via an auto-merge PR (main requires one approving review), release tagged once the bump merge hits main. R-CMD-check now runs on pull_request only and skips bump PRs.
monazhu
force-pushed
the
ci/port-version-bump
branch
from
August 11, 2026 22:44
1fb313b to
7c29d22
Compare
There was a problem hiding this comment.
Pull request overview
Ports a CI-driven version-bump workflow (based on conventional commits) to keep the R package DESCRIPTION version and release tags consistent across R repositories, and aligns the R CMD check workflow triggers with that flow.
Changes:
- Replaces the manual version bump dispatch with an automatic bump PR flow on pushes to
main, deriving bump type from conventional commit messages. - Adds an automated tagging job intended to tag
v<version>once the bump PR merge commit lands onmain. - Adjusts
R-CMD-checkto run only onpull_requestand skip version-bump PRs.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .github/workflows/version-bump.yaml | Adds automated conventional-commit-based version bump PR creation and post-merge tagging. |
| .github/workflows/R-CMD-check.yaml | Removes push trigger and skips running checks on automated bump PRs. |
Suppressed comments (1)
.github/workflows/version-bump.yaml:112
git ls-remotepatterns match full ref names (e.g.,refs/tags/v1.2.3). Using justv${VERSION}will not reliably detect an existing tag, so re-runs may try to recreate an existing tag and fail on push.
if ! git ls-remote --exit-code --tags origin "v${VERSION}" >/dev/null; then
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| id: bump | ||
| run: | | ||
| # Get commit messages from this push | ||
| COMMITS=$(git log --format="%s" ${{ github.event.before }}..${{ github.event.after }}) |
nccanderson
approved these changes
Aug 11, 2026
This was referenced Aug 12, 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.
Ports the working CI setup from
c3d-metriccalc(DS-980 / DS-981) so R-package version management is consistent across our R repos.Changes
version-bump.yaml— replaces the manualworkflow_dispatchbump, which pushed directly to protected main and failed every run (version has been stuck at 0.1.0):feat!:/BREAKING CHANGE→ major,feat:→ minor,fix:/perf:/refactor:→ patch).chore/bump-version-*PR and enables auto-merge (merge commit, never squash) — main requires one approving review from a project member since this repo is public, so the bump PR lands once someone approves.tagjob: once the bump PR's merge commit lands on main, tagsv<version>(preserves the old workflow's tagging behavior).R-CMD-check.yaml— deduped to match metriccalc:pull_request-only trigger (every change reaches main through a PR, so the push trigger double-ran checks).chore/bump-version-*PRs — they only touch the DESCRIPTION version string.Deployment notes
VERSION_BUMP_TOKENsecret, updated to the fine-grained PAT used by metriccalc (needs Contents R/W + Pull requests R/W and repo access to this repo).allow_auto_mergeanddelete_branch_on_mergeenabled alongside this PR.🤖 Generated with Claude Code