Repository navigation
ci: pin the blocking psmux gate to one release and add a latest-release canary - #899
Conversation
…se canary The live gate's test_premise_* rows turn red by design when a psmux release fixes what they pin. With the gate installing releases/latest, psmux 3.4.0 turned every PR red on the day it shipped. The blocking gate now installs a pinned release (v3.3.8) through a shared composite action, and a non-required weekly psmux-canary workflow runs the same gate against the latest release, so an upstream release is noticed without blocking anyone. Moving the pin is a deliberate PR that also moves the version floor and retires the workarounds.
|
@codex review |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
WalkthroughThe pull request adds a composite action to install and validate psmux. Windows CI uses a pinned release. A scheduled or manually triggered workflow runs the live tests against the latest release and verifies the resulting metrics. ChangesWindows psmux CI
Priority: ⬆️ High Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix Sequence Diagram(s)sequenceDiagram
participant PsmuxCanaryWorkflow
participant PsmuxRelease
participant BenchmarkRunner
participant LivePsmuxTests
participant PerfReport
PsmuxCanaryWorkflow->>PsmuxRelease: Install latest release
PsmuxCanaryWorkflow->>BenchmarkRunner: Run live test command
BenchmarkRunner->>LivePsmuxTests: Execute tests
BenchmarkRunner-->>PsmuxCanaryWorkflow: Write metrics and JUnit output
PsmuxCanaryWorkflow->>PerfReport: Verify executed tests from metrics
Merge Risk: ⚪ Minimal · up to
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: faa54b4c6b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
pytest exits 0 when a live-gate row skips, but a skip means that behaviour was never exercised. Run the canary through the blocking gate's benchmark runner and check its metrics with perf_report.py verify-executed, as ci.yml's aggregator does.
psmux v3.4.0 was released today. It fixes upstream defects that bmad-loop works around (psmux/psmux#583, #599, #622, #773 and #775). The live psmux gate's
test_premise_*rows are tripwires: each one turns red by design when a psmux release fixes the defect it pins. The gate installedreleases/latest, so five rows went red on the day 3.4.0 shipped. That took down bothpsmux gatejobs and, through the aggregator,test (windows, …)on every PR and on main, whatever the PR changed.The root cause is that a required check depended on an unpinned external release. This PR pins it, and keeps the early warning as a separate, non-required check.
Changes
.github/actions/ensure-psmux(new composite action): the existing install step moved here unchanged, except that it takes aversioninput, either a release tag orlatest. The floor assertion throughPsmuxMultiplexer.available()stays.ci.yml: the blocking gate installs the pinnedv3.3.8through the action. Moving this pin becomes a deliberate PR that also raises_LAST_UNSUPPORTEDand retires the workarounds the tripwires name, so the gate stays green across the bump.psmux-canary.yml(new, not a required check): runs the same gate against the latest psmux release every Monday and onworkflow_dispatch. A redtest_premise_*row there means an upgrade is due. Any other red row is a psmux regression to report upstream before moving the pin.docs/testing.md: documents the pin and the canary.Follow-up
A separate PR raises the floor to 3.4.0, moves this pin to
v3.4.0, and retires the five workarounds behind it (tracked in #660, #733, #754 and #879).Verification
v3.3.8publishes thepsmux-v3.3.8-windows-x64.zipasset the action selects.Summary by CodeRabbit