Skip to content

infra: add Release workflow (one-click tag + publish)#29

Merged
ashmitb95 merged 1 commit into
mainfrom
release-workflow
May 31, 2026
Merged

infra: add Release workflow (one-click tag + publish)#29
ashmitb95 merged 1 commit into
mainfrom
release-workflow

Conversation

@ashmitb95

Copy link
Copy Markdown
Owner

Summary

Replace the manual git tag vN.N.N && git push origin vN.N.N release step with a one-click workflow.

Release (tag from __version__) is a workflow_dispatch action. When you click Run workflow in the Actions UI, it:

  1. Reads __version__ from src/canopy/__init__.py
  2. Refuses if vN.N.N already exists (so you must bump first)
  3. Creates and pushes the tag

The existing publish.yml is unchanged — it still fires on tag push and OIDC-publishes to PyPI.

New release flow

  1. Merge a PR that bumps __version__ (and CHANGELOG.md)
  2. Go to Actions → Release (tag from version) → Run workflow
  3. Done. PyPI gets canopy-cli vN.N.N ~30s later.

Test plan

  • Merge this PR
  • Merge PR fix(mcp): canopy-mcp --help (v3.1.1) #28 (canopy-mcp --help fix, bumps to 3.1.1)
  • Click "Run workflow" on the Release action → confirm tag v3.1.1 is pushed
  • Confirm publish.yml fires on the tag push and publishes canopy-cli 3.1.1 to PyPI

Adds a workflow_dispatch action that reads __version__ from
src/canopy/__init__.py, refuses if the corresponding tag already exists,
and pushes vN.N.N. The existing publish.yml fires on the tag push and
ships canopy-cli to PyPI.

New release flow:
  1. Merge a PR that bumps __version__ (and CHANGELOG)
  2. Actions → "Release (tag from __version__)" → Run workflow
  3. Done.

Replaces the manual `git tag vN.N.N && git push origin vN.N.N` step.
@ashmitb95 ashmitb95 merged commit e6b86f6 into main May 31, 2026
4 checks passed
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.

1 participant