blob: 092e3efeafdf5f979ff3a52907b43700a27b5e5c [file] [log] [blame] [view] [edit]
# 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](https://0ver.org/) 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.
1. Create a tag and push, e.g. `git tag 0.5.0 upstream/main && git push upstream --tags`
1. 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](https://github.com/bazelbuild/rules_python/issues/400#issuecomment-779159530) for more context.
1. Announce the release in the #python channel in the Bazel slack (bazelbuild.slack.com).
## Secrets
### PyPI user rules-python
Part of the release process uploads packages to PyPI as the user `rules-python`.
This account is managed by Google; contact rules-python-pyi@google.com if
something needs to be done with the PyPI account.