You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Auto-release on every source-file commit (continuous deployment, gated) (#28)
Switch the publish workflow from manual-only (workflow_dispatch) to also
fire on push to master when source files change. "Source" is gated to:
- src/PyDiffGame/** (the package itself)
- pyproject.toml (packaging metadata, deps, classifiers)
Docs / tests / tooling / CI changes do NOT cut a release on their own; a
mixed commit (e.g. src/foo.py + README.md) does. workflow_dispatch stays
available for on-demand publishing.
Three independent loop guards stop the workflow's own "chore: bump
version" commit from re-triggering itself:
1. The bump commit message contains [skip ci]; GitHub Actions natively
skips creating a workflow run for such pushes.
2. Defense-in-depth job-level if: filtering out github-actions[bot] and
re-checking the commit message.
3. paths: filter (src changes only) on the trigger.
Add a concurrency group (publish-master, no cancel) so back-to-back
pushes serialize on the git push of the bump commit.
Also fix two pre-existing lint errors (unused import, unsorted imports)
in tools/render_logo.py that would otherwise block CI.
Claude-Session: https://claude.ai/code/session_013KvuS9HKbnZAwwFJyBkyHc
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments