Releasing#

Tagging a version#

We use calendar versioning (CalVer) with the format: YYYY.MM.X where X is incremented depending on how many releases have already occurred in the same year and month. For example, if the most recent release is the first release from March of 2023 it would be 2023.3.0, the next release (on any day in that month) would be 2023.3.1.

Check the latest tag with git (or just visit the GitHub repository tags list):

$ git fetch --all --tags
$ git describe --tags $(git rev-list --tags --max-count=1)
2023.3.0

Create a new tag that follows our CalVer convention (using 2023.3.0 example above, we write the next tag accordingly):

$ git tag -a -m "2023.3.1" 2023.3.1

Push the tag to GitHub (assuming upstream points to the dask-contrib/dask-awkward remote):

$ git push upstream 2023.3.1

PyPI upload#

We use a GitHub action to upload releases to PyPI when tags are pushed to GitHub. It should take just a few minutes after pushing the tag.

Create GitHub Release#

Once the release is tagged and both the source and wheel distributions are on PyPI, visit the GitHub repository releases page and click on Draft new release. Create a new release with the same name as the new tag. Click on the option to automatically generate release notes (from the commits that are part of the release). Give those notes a read and polish the automatically generated text as necessary.

Merge conda-forge version update#

The conda-forge regro-cf-autotick-bot will create a PR after detecting the new release on PyPI. You should be able to just merge the PR when CI passes.