You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Derive the version from the git tag instead of a checked-in file (MOM6-community#50)
* Derive the version from the git tag instead of a checked-in file
`sectionate/version.py` held a literal that had to be bumped in its own commit
before every release, and nothing tied that commit to the tag the release was
actually cut from. The two could disagree, and when they did the symptom was a
400 from PyPI at the very end of the release.
hatch-vcs derives the version from the tag at build time and writes it to a
generated `sectionate/_version.py`, so tagging *is* the bump. `version.py`
becomes a shim over the generated file, with a `0.0.0+unknown` fallback for a
checkout that has never been built.
The tag has to be visible for that to work, so the CI and publish checkouts use
`fetch-depth: 0` and Read the Docs unshallows in `post_checkout`; without it the
build quietly produces a `.devN` artifact. The publish workflow also asserts
that the version it built matches the tag it was fired from, which is the check
that would have caught the failure mode described above.
conda/meta.yaml gains `hatch-vcs` in `host`: the recipe builds with
`--no-build-isolation`, so the backend's own requirements must be installed
there or the wheel build fails.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Empty commit to trigger CI rebuild
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
0 commit comments