fix(ci): pin samples and python-sdk checkouts to last verified-green combination#48
Conversation
|
Conformance Tests still failed on this morning's push to main, after the #47 merge: https://github.com/Universal-Commerce-Protocol/conformance/actions/runs/28931312401 — red since Jul 1 (last green Jun 30). |
|
#49 is the complementary half of this: it adapts the tests to the python-sdk move, while the pin here keeps |
|
Last night's scheduled run is red again with a new incompatibility ( |
|
Thank you for helping here @vishkaty - we appreciate you flagging and proactively trying to fix the incompatibility between SDK, conformance and samples. I don't think pinning it's the right long-term solution, as we want conformance to be used to continuously validate the "main" revision of samples. We'll try to do a better job in releasing updates for these 3 dependent repos in a more coordinated manner. I'm closing this one as we'll handle this fix in other PRs (like Universal-Commerce-Protocol/samples#127 and #50). Looking forward to more contributions! |
The nightly conformance run has been red since 2026-07-01 (e.g. run 28839412863; last green was 2026-06-30, run 28418270435). Root cause: the workflow checks out
samples@mainandpython-sdk@mainunpinned, so any incompatible move in either repo breaks this repo's signal with no change here.That is exactly what happened: exactly one commit landed in either checked-out repo between the last green nightly and the first red one — python-sdk 298c295 (#48, 2026-06-30). After it, the Flower Shop server no longer boots (
ImportError: cannot import name 'Checkout' from 'ucp_sdk...ap2_mandate'), so every test file fails at "Start Flower Shop server". Same root cause as Universal-Commerce-Protocol/samples#118, where the unpinned editable path dependency breaks the documented human setup path.This PR pins both checkouts to the combination the last green nightly actually ran (samples
74e66de, python-sdkf54858e), with comments documenting the provenance and the bump procedure.Verification
Notes
samplestracking main and pin onlypython-sdk, happy to adjust — pinned-both is simply the exactly-reproduced green state.continue-on-errornightly job against both @main as an early-warning drift canary.