Recipes¶
Goal-oriented walkthroughs for common bumpwright workflows.
Library release¶
Releasing a Python package and tagging the repository.
- Scenario
After merging changes you need a new library version on PyPI.
Minimal config
[project]
public_roots = ["src"]
[analysers]
cli = true
More options are documented in concepts/configuration and analysers/cli.
Command sequence
Initialise the repository (run once):
bumpwright init
Apply the version bump, commit and tag:
bumpwright bump --commit --tag
Expected output
Command |
Sample output |
---|---|
|
Creates baseline commit |
|
Markdown |
Service deployment¶
Checking API compatibility before deploying a web service.
- Scenario
CI should block breaking HTTP route changes.
Minimal config
[analysers]
web_routes = true
See analysers/web_routes for analyser behaviour.
Command sequence
Compare against
origin/main
in CI:bumpwright decide --base origin/main --format json
Deploy only when
level
is notmajor
.
Expected output
Command |
Sample output |
---|---|
|
|
Changelog generation¶
Updating a changelog alongside version bumps.
- Scenario
Release notes should be appended automatically.
Minimal config
[changelog]
path = "CHANGELOG.md"
repo_url = "https://github.com/me/project"
Configuration details live in changelog/index.
Command sequence
Preview the changelog locally:
bumpwright bump --changelog CHANGELOG.md --dry-run --format md
Apply bump, commit, tag and update the changelog:
bumpwright bump --changelog CHANGELOG.md --commit --tag --format md
Expected output
Command |
Sample output |
---|---|
|
|
|
Same as above and a release tag |