Skip to content

ci(release): add workflow_dispatch prepare-release workflow#124

Open
luarss wants to merge 7 commits into
mainfrom
ci/prepare-release-workflow
Open

ci(release): add workflow_dispatch prepare-release workflow#124
luarss wants to merge 7 commits into
mainfrom
ci/prepare-release-workflow

Conversation

@luarss

@luarss luarss commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds .github/workflows/prepare-release.yml with a workflow_dispatch trigger
  • Dropdown input for bump_type: patch, minor, or major
  • Mirrors the full logic from .claude/skills/release/SKILL.md as an automated CI workflow

What it does

  1. Runs make test + make check before touching any files
  2. Computes the new semver from pyproject.toml based on the selected bump type
  3. Generates Keep-a-Changelog entries from conventional commits since the last tag (categorises feat: → Added, fix: → Fixed, chore:/ci:/build:/etc. → Changed, with PR links)
  4. Updates pyproject.toml, server.json, README.md (URL pins), and CHANGELOG.md
  5. Regenerates uv.lock
  6. Commits as openroad-ci to a release/vX.Y.Z branch and opens a PR requesting review from @vvbandeira

Note: ROADMAP.md is intentionally not automated — that step requires human judgment about which future milestones are complete.

Test plan

  • Trigger via Actions → Prepare Release → Run workflow with patch
  • Verify the opened PR has correct version bumps across all files
  • Verify CHANGELOG.md section is inserted correctly with commit categorisation
  • Verify uv.lock is regenerated

@luarss
luarss requested a review from vvbandeira June 11, 2026 13:29
@luarss

luarss commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator Author

@kartikloops feel free to reuse the work in this branch. most of the stuff is done, jsust needs to customise to npm ecosystem.

Adapt the workflow_dispatch release prep for the post-ts-migration tree:
bump python/pyproject.toml + typescript package versions, re-pin README
uvx URLs with #subdirectory=python, regenerate python/uv.lock, and prefer
curated Unreleased changelog notes when present.
@codecov-commenter

codecov-commenter commented Jul 18, 2026

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 67.57%. Comparing base (da9a226) to head (707e2f3).
✅ All tests successful. No failed tests found.
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #124   +/-   ##
=======================================
  Coverage   67.57%   67.57%           
=======================================
  Files          22       22           
  Lines        1610     1610           
=======================================
  Hits         1088     1088           
  Misses        522      522           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

@kartikloops
kartikloops force-pushed the ci/prepare-release-workflow branch from b364fb0 to 707e2f3 Compare July 18, 2026 17:17
OLD="${{ steps.version.outputs.current }}"
NEW="${{ steps.version.outputs.new }}"
# Ignore lockfile noise and node_modules; check project version sources.
FOUND=$(grep -rn "${OLD}" \

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will this mistakenly touch versions that we don't want to touch e.g. dependencies?

--include="package.json" \
--include="package-lock.json" \
--include="server.json" \
python/pyproject.toml typescript/package.json typescript/package-lock.json server.json \

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing verification for readme/uv.lock

git config user.name "openroad-ci"
git config user.email "54529053+openroad-ci@users.noreply.github.com"
git checkout -b "${BRANCH}"
git add \

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SKILL seems to update ROADMAP but not commit it.


Dual-distribution bump (Python/PyPI + TypeScript/npm).

See [CHANGELOG.md](CHANGELOG.md) for full details.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use absolute URL or a ../../blob/<branch>/CHANGELOG.md form for this please

- name: Generate changelog entries
run: python3 .github/scripts/generate_changelog_section.py

- name: Update python/pyproject.toml

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there also potentially an easier way to do this? i.e. make all versions align to a .mcp-version file or something for single source of truth? or must hard coded numbers be used for all versions in pyproject, package json etc.s

@luarss
luarss removed the request for review from vvbandeira July 19, 2026 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants