Parent
#33 (release pipeline)
What to build
release-please bumps the project version in pyproject.toml and src/caw/init.py, but it does not touch uv.lock, which pins the project's own package (caw) version. The result: every Release PR has pyproject at the new version and uv.lock at the old one, so the CI uv sync --locked step fails with "The lockfile at uv.lock needs to be updated, but --locked was provided." This already happened on Release PR #45 (v0.2.0), and because the merge landed on main, main's CI is currently red and any contributor running uv sync --locked fails.
Make the release flow keep uv.lock in lockstep with the version bump. Chosen mechanism: after release-please opens/updates the Release PR, the workflow runs uv lock and commits the refreshed lockfile onto the release branch, so the Release PR's own CI is green before merge.
Also includes the immediate remediation: a uv lock commit on main bringing the locked caw version to 0.2.0 so main's CI goes green now (a release PR fix alone does not repair the already-merged main).
Acceptance criteria
Blocked by
None - can start immediately
Parent
#33 (release pipeline)
What to build
release-please bumps the project version in pyproject.toml and src/caw/init.py, but it does not touch uv.lock, which pins the project's own package (
caw) version. The result: every Release PR has pyproject at the new version and uv.lock at the old one, so the CIuv sync --lockedstep fails with "The lockfile at uv.lock needs to be updated, but --locked was provided." This already happened on Release PR #45 (v0.2.0), and because the merge landed on main, main's CI is currently red and any contributor runninguv sync --lockedfails.Make the release flow keep uv.lock in lockstep with the version bump. Chosen mechanism: after release-please opens/updates the Release PR, the workflow runs
uv lockand commits the refreshed lockfile onto the release branch, so the Release PR's own CI is green before merge.Also includes the immediate remediation: a
uv lockcommit on main bringing the lockedcawversion to 0.2.0 so main's CI goes green now (a release PR fix alone does not repair the already-merged main).Acceptance criteria
uv sync --lockedsucceeds on main HEAD)cawversion matches the bumped pyproject version, and its CI gates passBlocked by
None - can start immediately