To create a new version, run:
uvx bumpver update --patch # Increment PATCH component (e.g., 1.2.3 -> 1.2.4)
uvx bumpver update --minor # Increment MINOR component (e.g., 1.2.3 -> 1.3.0)
uvx bumpver update --major # Increment MAJOR component (e.g., 1.2.3 -> 2.0.0)-
Pre-release script (
scripts/pre-release.sh):- Generates the changelog using
git cliff(skipped for alpha/beta/rc releases) - Updates
uv.lock
- Generates the changelog using
-
Version bump:
- Updates the version in
pyproject.tomlandsrc/pytest_codspeed/__init__.py - Creates a commit with the message "Release vX.Y.Z"
- Updates the version in
-
Post-release script (
scripts/post-release.sh):- Creates a git tag with the
vprefix (e.g.,v1.2.3) - Pushes the commit and tag to the remote
- Creates a git tag with the
-
CI release workflow (
.github/workflows/release.yml):- Triggered automatically when the tag is pushed
- Builds wheels for x86_64 and aarch64
- Builds the source distribution
- Publishes the package to PyPI
- Creates a draft GitHub release