We typically release at least one beta/rc before each release for PyGranta packages, but we rely on CI steps failing to achieve this. There are two things we want not to happen as part of a pre-release.
Docs
When we do a pre-release we generally don't want to update the documentation, or if we do we don't want it to be the 'latest stable' documentation. This happens 'accidentally' currently, because the docs publish action fails if the version number contains a letter, and so as long as the docs publish happens after the PyPI publish, we end up with a published package, but no published docs. Not great, not terrible.
Release notes
However, this is no longer sufficient. We now auto-generate release notes using towncrier, and this will almost certainly succeed if we push a tag with a letter in it. Or at least, it will succeed to update the changelog and remove the fragments, meaning that they will not be included in the actual full release. This is not want we want.
We typically release at least one beta/rc before each release for PyGranta packages, but we rely on CI steps failing to achieve this. There are two things we want not to happen as part of a pre-release.
Docs
When we do a pre-release we generally don't want to update the documentation, or if we do we don't want it to be the 'latest stable' documentation. This happens 'accidentally' currently, because the docs publish action fails if the version number contains a letter, and so as long as the docs publish happens after the PyPI publish, we end up with a published package, but no published docs. Not great, not terrible.
Release notes
However, this is no longer sufficient. We now auto-generate release notes using towncrier, and this will almost certainly succeed if we push a tag with a letter in it. Or at least, it will succeed to update the changelog and remove the fragments, meaning that they will not be included in the actual full release. This is not want we want.