Start from a clean checkout at main.
Before running through the release it's good to run the build and the tests locally, and make sure CI is passing. You can also test-drive the commit in an existing Bazel workspace to sanity check functionality.
rules_python is currently using Zero-based versioning and thus backwards-incompatible API changes still come under the minor-version digit. So releases with API changes and new features bump the minor, and those with only bug fixes and other minor changes bump the patch digit.
version.bzl with the new semantic version X.Y.Z.bazel build //distro:rules_python-X.Y.Z to build the distributed tarball.http_archive rules that download the new release.shasum --algorithm 256 bazel-bin/distro/rules_python-0.1.0.tar.gzexamples/*/WORKSPACE to get the new semantic version with the new sha256 hash.X.Y.Z. Eg. git tag X.Y.Zmain.bazel build //distro:relnotes from within workspace and then from repo root run cat bazel-bin/distro/relnotes.txt to get the ‘install instructions’ that are added as release notes.sha256 value matches the one you calculated earlier.X.Y.Z tag. Upload the release artifact from rules_python-[version].tar.gz. Also copy the relnotes.txt from step 8, adding anything extra if desired.README.md to point at new release.