Skip to content

Commit 732fc2a

Browse files
committed
docs: update release process (emphasize automation)
1 parent f4a97e2 commit 732fc2a

File tree

1 file changed

+26
-46
lines changed

1 file changed

+26
-46
lines changed

docs/contributor/RELEASE.md

Lines changed: 26 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -26,53 +26,41 @@ Only `pyproject.toml` maintains the version.
2626

2727
## Release Process (Fully Automated)
2828

29-
### Single Command Release
29+
NOTE: Normal workflow: Just push to main. That's it.
3030

31-
```bash
32-
# Run release - everything is automated
33-
pdm run semantic-release version
34-
```text
31+
### Automated Release on Push
3532

36-
This automatically:
37-
1. Validates - Runs tests, lint, format checks (via `build_command`)
38-
2. Calculates - Determines version bump from commit messages
39-
3. UPDATES - Bumps version in `pyproject.toml`
40-
4. Generates - Creates changelog entries
41-
5. Commits - Creates release commit
42-
6. Tags - Creates git tag
33+
When you push to `main`, GitHub Actions automatically:
34+
- Validates: Runs tests, lint, format checks
35+
- Calculates: Determines version bump from commit messages
36+
- Updates: Bumps version in `pyproject.toml`
37+
- Generates: Creates changelog entries
38+
- Commits: Creates release commit
39+
- Tags: Creates git tag
40+
- Publishes: Creates GitHub Release
4341

44-
### 2. Push to Publish
42+
NOTE: No manual steps required.
4543

4644
```bash
47-
# Push triggers GitHub Release creation
48-
git push origin main --tags
45+
# Your workflow:
46+
git commit -m "feat: add new feature"
47+
git push origin main
48+
# Done. CI/CD handles the rest.
4949
```text
5050
51-
CI/CD will automatically create GitHub Release with changelog.
52-
53-
---
54-
55-
## Manual Override (If Needed)
51+
### Manual Release (Advanced / Emergency Only)
5652
57-
### Preview Version Bump
53+
For troubleshooting or special cases, you can run locally:
5854
5955
```bash
60-
# See what version would be released
56+
# Preview what version would be released
6157
pdm run semantic-release version --print
62-
```text
63-
64-
### Preview Changelog
65-
66-
```bash
67-
# See changelog entries
68-
pdm run semantic-release changelog --print
69-
```text
7058

71-
### Dry Run
72-
73-
```bash
74-
# Test release without modifications
59+
# Dry run (no modifications)
7560
pdm run semantic-release version --dry-run
61+
62+
# Force release (bypasses automatic calculation)
63+
pdm run semantic-release version --bump major
7664
```text
7765
7866
---
@@ -123,11 +111,12 @@ Full guide: See `.github/COMMIT_CONVENTION.md`
123111
| Trigger | Jobs |
124112
|---------|------|
125113
| PR to main | test, lint |
126-
| Push to main | test, lint |
127-
| Tag v* | test, lint, release |
114+
| Push to main | test, lint, release (auto) |
128115
129116
Cost: ~5 minutes per run (single Python version)
130117
118+
Note: Release job runs on every push to main but only creates a release if commit messages warrant a version bump.
119+
131120
---
132121
133122
## Troubleshooting
@@ -147,15 +136,6 @@ git push origin :refs/tags/v1.0.1
147136
pdm run semantic-release version
148137
```text
149138
150-
### Force Specific Version Bump
151-
152-
```bash
153-
# Force major/minor/patch bump
154-
pdm run semantic-release version --bump major
155-
pdm run semantic-release version --bump minor
156-
pdm run semantic-release version --bump patch
157-
```text
158-
159139
---
160140
161141
## Related Files
@@ -169,6 +149,6 @@ pdm run semantic-release version --bump patch
169149
170150
---
171151
172-
LAST UPDATED: 2026-03-10
152+
LAST UPDATED: 2026-03-11
173153
VERSION: 1.0.0
174154
Tool: python-semantic-release

0 commit comments

Comments
 (0)