For Developers

Releasing

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.

Determining Semantic Version

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.

Steps

  1. Determine what will be the next release, following semver.
  2. Create a tag and push, e.g. git tag 0.5.0 upstream/main && git push upstream --tags
  3. Watch the release automation run on https://github.com/bazelbuild/rules_python/actions

After release creation in Github

  1. Ping @philwo to get the new release added to mirror.bazel.build. See this comment on issue #400 for more context.
  2. Announce the release in the #python channel in the Bazel slack (bazelbuild.slack.com).