Release when uxarray does, not on the fifth of the month - #140
Merged
Merged
Conversation
The release poll ran at 05:00 on the 5th, but upstream skipped 2026.01 and 2026.05, shipped twice in August, and released 2026.09.0 on the 10th, so the poll was early or late every time and never on the thing it was waiting for. It now runs daily and reads the newest uxarray from PyPI rather than from upstream's tags, which mix v2026.09.0 and v2026.4.0. Versions become CalVer: upstream's year.month, our own patch. Zero padding is refused where it enters, because PEP 440 strips the leading zero and a dist built from 2026.09.0 publishes as 2026.9.0 and disagrees with the tag it came from. The release commit moves both ends of the uxarray pin; raising the floor alone would leave a ceiling written for the previous month and make the package uninstallable beside the release it was just tested against. An unreachable PyPI decides nothing: the version falls back to a patch bump and the pin is left as reviewed. The workflow no longer tags, creates a GitHub release, or dispatches the publish job. Green opens a release pull request against the upstream version it was checked with, red opens an issue naming it, and a human merge is the only path to PyPI. The checks run with --no-sync so the explicit install of that upstream release is not undone by a re-sync to uv.lock. The cutover from 0.3.1 is deliberately not here; it is a manual dispatch.
rajeeja
force-pushed
the
rajeeja/calver-release
branch
from
September 11, 2026 16:12
e8b30d1 to
be0bc0c
Compare
rajeeja
added a commit
that referenced
this pull request
Sep 12, 2026
The release poll ran at 05:00 on the 5th, but upstream skipped 2026.01 and 2026.05, shipped twice in August, and released 2026.09.0 on the 10th, so the poll was early or late every time and never on the thing it was waiting for. It now runs daily and reads the newest uxarray from PyPI rather than from upstream's tags, which mix v2026.09.0 and v2026.4.0. Versions become CalVer: upstream's year.month, our own patch. Zero padding is refused where it enters, because PEP 440 strips the leading zero and a dist built from 2026.09.0 publishes as 2026.9.0 and disagrees with the tag it came from. The release commit moves both ends of the uxarray pin; raising the floor alone would leave a ceiling written for the previous month and make the package uninstallable beside the release it was just tested against. An unreachable PyPI decides nothing: the version falls back to a patch bump and the pin is left as reviewed. The workflow no longer tags, creates a GitHub release, or dispatches the publish job. Green opens a release pull request against the upstream version it was checked with, red opens an issue naming it, and a human merge is the only path to PyPI. The checks run with --no-sync so the explicit install of that upstream release is not undone by a re-sync to uv.lock. The cutover from 0.3.1 is deliberately not here; it is a manual dispatch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Versions become CalVer mirroring upstream uxarray's year.month with our own patch, read from PyPI rather than upstream's tags, which mix
v2026.09.0andv2026.4.0; zero padding is refused because PEP 440 strips it and the dist would disagree with its own tag. The release commit moves both ends of the uxarray pin, since a floor raised without its ceiling makes the package uninstallable beside the release it was just tested against. The workflow no longer tags or publishes — green opens a release pull request, red opens an issue, and the cutover from 0.3.1 stays a manual dispatch.