Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Publish

# On important source changes to main: auto-bump patch version + CHANGELOG,
# commit chore(release), tag, and publish. Skip with [skip release].
# bump version in-runner, tag (no push to main — branch protection), publish. Skip with [skip release].
on:
workflow_dispatch:
push:
Expand Down Expand Up @@ -99,8 +99,9 @@ jobs:
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add pyproject.toml src/praxicraft/__init__.py CHANGELOG.md
if ! git diff --cached --quiet; then
# Local commit only — do not push to main (rules require PRs).
# Pushing the annotated tag keeps this release commit reachable.
git commit -m "chore(release): ${TAG}"
git push origin HEAD:main
fi
{
echo "version=${VERSION}"
Expand Down
4 changes: 3 additions & 1 deletion RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ You can run **Actions → Publish → Run workflow** manually (`workflow_dispatc

## Auto-bump

Pushes to `main` that change package source auto-bump the patch version, update `CHANGELOG.md`, commit `chore(release): vX.Y.Z`, tag, create a **GitHub Release**, and publish to the language registry when credentials are configured.
Pushes to `main` that change package source auto-bump the patch version and `CHANGELOG.md` in the runner, create a local `chore(release)` commit, and **push only the annotated tag** (not `main` — branch protection requires PRs). The tag retains the release commit. Then CI creates a **GitHub Release** and publishes to the language registry when credentials are configured.

Version files on `main` may lag until a follow-up PR syncs them; published artifacts always use the tagged version.

Skip with `[skip release]` in the commit message.
Loading