@@ -71,7 +71,7 @@ Examples:
71711 . Create a feature branch from ` main ` .
72722 . Keep PR scope focused and small.
73733 . Ensure CI is green.
74- 4 . Use a Conventional Commit style PR title .
74+ 4 . Use Conventional Commit style commit messages ( ` feat: ` , ` fix: ` , ` perf: ` , etc.) .
75755 . Fill the PR template completely.
7676
7777Recommended merge strategy: squash merge.
@@ -89,11 +89,12 @@ Include:
8989
9090## Release Flow Overview
9191
92- - Release automation runs when a PR from ` dev ` into ` main ` is merged .
93- - Semantic release evaluates Conventional Commits from merged changes .
92+ - Release is executed manually from GitHub Actions using the ` Semantic Release ` workflow ( ` workflow_dispatch ` ) .
93+ - Semantic release evaluates Conventional Commits already present in ` main ` ( from PR merges or direct pushes) .
9494- If commits qualify (` feat ` , ` fix ` , ` perf ` , or breaking), version and changelog are updated and a new tag (` vX.Y.Z ` ) is created.
9595- If commits do not qualify (for example docs/chore only), release is a no-op and no publish is triggered.
96- - New ` vX.Y.Z ` tags trigger the CI workflow that builds multi-platform wheels and publishes to PyPI.
96+ - After a tag is created, GitHub Release notes are generated automatically.
97+ - CI is then triggered on that tag to build artifacts and publish to PyPI.
9798
9899## Simple Trigger Guide
99100
@@ -106,10 +107,10 @@ Use this rule of thumb for automatic versioning:
106107
107108How to trigger semantic release until publish to PyPI:
108109
109- 1 . Push commit to ` dev ` using Conventional Commit format .
110- 2 . Open PR from ` dev ` to ` main ` .
111- 3 . Merge PR .
112- 4 . Semantic Release workflow runs, creates tag ` vX.Y.Z ` when releasable commits exist .
110+ 1 . Push commits to ` main ` (direct push or merged PR), using Conventional Commit messages .
111+ 2 . Open GitHub Actions and run ` Semantic Release ` on ` main ` .
112+ 3 . Workflow evaluates commits and creates tag ` vX.Y.Z ` when releasable commits exist .
113+ 4 . Workflow creates the corresponding GitHub Release .
1131145 . CI workflow runs on that tag and publishes artifacts to PyPI.
114115
115116Manual fallback (if needed):
@@ -118,5 +119,8 @@ Manual fallback (if needed):
1181192 . Run ` Semantic Release ` workflow via ` workflow_dispatch ` .
1191203 . If no releasable commit exists, workflow will report no new release.
120121
122+ Commit validation note:
123+ - Conventional commit message checks run on both ` push ` and ` pull_request ` events.
124+
121125Required repository secrets:
122126- ` PYPI_API_TOKEN ` : token used by publish job to upload wheels/sdist to PyPI.
0 commit comments