Skip to content

ci: keep uv.lock in sync on the release-please branch - #231

Open
kartojal wants to merge 2 commits into
mainfrom
feature/dev-483-uv-lock-sync
Open

ci: keep uv.lock in sync on the release-please branch#231
kartojal wants to merge 2 commits into
mainfrom
feature/dev-483-uv-lock-sync

Conversation

@kartojal

@kartojal kartojal commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Every release-please merge bumps the version in pyproject.toml but leaves uv.lock recording the previous one, so uv sync --locked fails Static Checks on main until someone regenerates the lockfile by hand (done manually after 0.1.0, 0.2.0 (#207), and 0.3.0).

Fix: a sync-lockfile job runs after release-please, checks out the release PR branch, runs uv lock, and commits the result, so the release PR merges self-contained. A workflow step instead of release-please extra-files because uv lock rewrites the lockfile wholesale (an x-release-please-version annotation would not survive) and the toml updater would need a fragile jsonpath into the [[package]] array. The commit step no-ops when the lock is already current, and publish does not depend on this job, so a sync failure can never block a publish.

Release-please also writes semver-style prerelease versions (0.3.0-b2) into pyproject.toml, and the __version__ fallback in src/polymarket/version.py is not updated at all, which is the other half of the recurring release: canonicalize python beta version commits. Worth its own ticket rather than bundling it here.

Closes DEV-483


Note

Low Risk
CI-only workflow changes with no runtime or auth impact; publish remains decoupled from lockfile sync.

Overview
Fixes uv sync --locked failures on main after release-please bumps pyproject.toml without updating uv.lock.

The Release Please workflow now uses a concurrency group and exposes prs_created. When a release PR is opened, a new sync-lockfile job checks out the release-please branch for polymarket-client, runs uv lock, and pushes a commit only if the lockfile changed. Publish to PyPI still depends only on release-please and releases_created, so a lock sync failure cannot block publishing.

Reviewed by Cursor Bugbot for commit 985561b. Bugbot is set up for automated code reviews on this repo. Configure here.

Comment thread .github/workflows/release-please.yml Fixed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants