Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions NEWS.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
Incremental 24.11.0 (2025-11-27)
================================

.. note::

The date above is correct — 25.11.0 was mistakenly released as 24.11.0.

Features
--------

Expand Down
10 changes: 10 additions & 0 deletions RELEASE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Releasing Incremental
=====================

To release Incremental, `install just <https://just.systems/>`_ and run `just release`.

This will bump the version,
render `the changelog <./NEWS.rst>`_,
and push the tagged release.
The `release workflow <https://github.com/twisted/incremental/actions/workflows/release.yml>`_
will build and upload the library to PyPI.org.
27 changes: 27 additions & 0 deletions justfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Update the version, tag a release, and trigger the GHA release workflow
release:
#!/bin/bash
set -exu -o pipefail
# TODO: Replace `tox` with `uv run`
tox -e release --notest
if [[ $(git rev-parse --abbrev-ref HEAD) != trunk ]]
then
echo "ERROR: Must be on trunk branch"
exit 1
fi
if ! git diff --quiet HEAD
then
echo "ERROR: Dirty working copy"
exit 1
fi
# Incremental doesn't do release candidates.
.tox/release/bin/incremental update Incremental --rc
.tox/release/bin/incremental update Incremental
version=$(.tox/release/bin/hatch version)
tag="incremental-$version"
.tox/release/bin/towncrier build --yes
git add -A NEWS.rst src/incremental/newsfragments src/incremental/_version.py
git commit -m "Release $version"
git tag "$tag"
git push origin "$tag"
git push origin trunk
1 change: 1 addition & 0 deletions src/incremental/newsfragments/185.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add release automation to prevent errors like the mis-numbered 24.11.0 release.
6 changes: 6 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,9 @@ commands =
[testenv:build]
# empty environment to build universal wheel once per tox invocation
# https://github.com/ionelmc/tox-wheel#build-configuration

[testenv:release]
description = Release management dependencies
deps =
hatch
towncrier
Loading