Repository navigation
ci: keep uv.lock in step with release versions and allow republishing a tag - #3
Merged
Merged
Conversation
… a tag release-please bumped pyproject.toml to 0.1.0 but not the package's own version in uv.lock, so uv sync --locked failed and the v0.1.0 publish stopped before building. Bump uv.lock in the release PR through extra-files, refresh it on main, and add a workflow_dispatch path that publishes an existing tag.
5 tasks
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.
The v0.1.0 publish failed at its first step. release-please bumped
pyproject.tomlto 0.1.0, butuv.lockstill records the package's own version as 0.0.0, souv sync --lockedrefused to run. Nothing was built or uploaded. The tag and GitHub release exist, but PyPI does not have the package. The push CI on main fails for the same reason.release-please-config.json: anextra-filesentry so each release PR bumps the package's own version inuv.lock. The JSONPath is$.package[?(@.name.value=='seamless-auth')].version, the form release-please's TOML parser needs (Using a jsonpath array filter with GenericToml extra-file config does not find the relevant version googleapis/release-please#2455). I ran release-please 17.11.2's ownGenericTomlupdater against thisuv.lock: it changes exactly that one line and nothing else.uv.lock: refreshed on main to 0.1.0.release.yml: aworkflow_dispatchpath that publishes an existing tag. It checks the tag isvX.Y.Z, exists, and matchespyproject.toml. Dispatch runs the same workflow file in the samepypienvironment, so the trusted publisher accepts it. The publish job installs with--frozen, because the v0.1.0 tag still carries the stale lockfile. CI keeps main on--locked.AGENTS.md: notes both.This is a
ci:commit, so it opens no 0.1.1 release. After merging,gh workflow run release.yml -f tag=v0.1.0publishes 0.1.0.