ci(release): widen the lock-sync retry window for PyPI propagation - #2716
ci(release): widen the lock-sync retry window for PyPI propagation#2716goldmedal wants to merge 1 commit into
Conversation
The 0.7.6 release published fine but the follow-up lock sync failed: all five uv add attempts (~80s total) still resolved against an index that only listed 0.7.5. Wait up to 10 minutes instead so a slow index update no longer turns a good release into a red job needing a manual re-run. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. WalkthroughThe lock-sync workflow now retries ChangesLock Sync Workflow
Estimated code review effort: 2 (Simple) | ~5 minutes Merge Risk: ⚪ Minimal · up to The workflow now retries PyPI synchronization for a longer bounded window while preserving existing success and failure behavior; no actionable merge-blocking risk remains after normal checks and review. Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Description checkExplanation The description explains the failure, the code change, unchanged behavior, verification steps, and required manual follow-up. It uses alternative headings and does not include the template's Duplicate check section, but the required information is mostly complete. Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.) ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Problem
wren-core-py0.7.6 published to PyPI successfully, but the follow-upsync-wren-core-py-lock / sync-lockjob failed, so nochore(wren): bump wren-core-py to 0.7.6PR was opened andcore/wrenstill pins 0.7.5.All five
uv addattempts hit the same resolution error:The published files are fine — 0.7.6 ships the same wheel set as 0.7.5 (
cp311-abi3for macOS x86_64/arm64, manylinux, win_amd64, plus an sdist, allrequires-python >=3.11). The marker split in the message is just where the resolver gave up first; the real cause is that the new version was not yet visible in the index uv reads. The existing retry loop (5 attempts, 20s apart) only covered about 80 seconds, and the whole job finished 1m35s after publish.Change
Widen the window in the
Bump floor and relock core/wren against published wren-core-pystep:attempts/delayvariables instead of literals repeated in three places, and the retry log now readsattempt 3/10 failed; retrying in 60swith the count in the final error too.Behaviour is otherwise unchanged: success still exits on the first passing attempt, and exhausting all attempts still fails the job.
Verification
runscript passesbash -n.actionlintclean.attempts=3, delay=0prints1/3,2/3, then errors out after the third — success and exhaustion paths both behave.Note
This only prevents future occurrences. The 0.7.6 sync still needs a manual
workflow_dispatchrun ofsync-wren-core-py-lock; 0.7.6 resolves fine now, so it will pass on the first attempt.Summary by CodeRabbit