This is a test repository for testing out
auto. Whenever a pull request is merged to
master, if the PR has the release
label, auto performs the following:
-
A new version number is calculated based on the most recent release and whether the intervening PRs had the labels
major
,minor
, orpatch
. -
A section is added & committed to the top of the CHANGELOG for the new version, listing all PRs merged since the last version, organized by label.
-
The new commit is tagged with the new version.
-
A GitHub release is created for the new version using the same body as the CHANGELOG section.
- The creation of the GitHub release in turn triggers a job for building the Python project and uploading it to TestPyPI (link).
By default, auto recognizes the following PR labels:
major
— for major version level changesminor
— for minor version level changespatch
— for patch/micro-version level changes; default for unlabelled PRsinternal
— for changes only affecting the internal APIdocumentation
— for changes only affecting the documentationrelease
— causes a new release after mergingskip-release
— unnecessary, since this repository is configured to only release on PRs withrelease
When copying this repository's configuration to another repository, the following additional steps must be taken:
-
After configuring
.autorc
, the necessary labels must be created in the GitHub repository by running the following in a clone of the repo:GH_TOKEN=... auto create-labels
-
The most recent release of the project must be tagged and have a GitHub release created for it
-
A PyPI upload token must be saved as a secret named "
PYPI_TOKEN
"