Lower the esp-matter timeout to 60 minutes - #17
Merged
Conversation
180 was set against a QEMU leg that took 337 minutes, before any native leg had been measured. Six native legs across two runs now put the range at 8m50s-10m30s on master and up to 10m58s on a pull request, so 60 keeps a five- to sevenfold margin over the worst observed. Left deliberately wide rather than tightened toward the observed number: the failure mode is quiet. A killed leg takes its manifest job with it, the other platform's image stays in GHCR unreferenced, and the published tags sit on the previous build while the run reports failure - so the cost of a ceiling that is too low is much higher than the cost of one that is never reached. CLAUDE.md now records the measurement rather than the plan to take it, and says what to do before changing the number again.
There was a problem hiding this comment.
Pull request overview
This PR updates the esp-matter image family’s CI build timeout to better reflect current native build performance, and updates the repo’s operational documentation to match the new measured baseline.
Changes:
- Lower
esp-matter’stimeout_minutesfrom 180 to 60 inimages/versions.json. - Update
CLAUDE.mdto reflect measured native esp-matter build durations and clarify which jobs are (and are not) controlled bytimeout_minutes.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| images/versions.json | Reduces esp-matter build timeout to 60 minutes to align CI ceiling with measured native runtimes. |
| CLAUDE.md | Refreshes CI timeout documentation to reflect the new measurement-driven rationale and current configuration behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
180 was set against a QEMU leg that took 337 minutes, before any native leg had
been measured. It has been now — six legs across two runs:
Worst observed anywhere, including the pull-request run: 10m58s. So 60 keeps a
five- to sevenfold margin.
Deliberately not tightened further toward the observed number, because the failure
mode is quiet rather than loud: a killed leg takes its manifest job with it, the
other platform's image stays in GHCR unreferenced, and the published tags sit on
the previous build while the run reports failure. A ceiling that is too low costs
much more than one that is never reached.
CLAUDE.mdnow records the measurement instead of the plan to take it, and sayswhat to do before changing the number again. It also drops the sentence claiming
the manifest timeout lives in
versions.json— it does not; only build jobs readtimeout_minutes, which was itself a finding on the previous PR.Verification
./scripts/check-versions.shgreenidf-v5.5.5-matter-v1.6: timeout_minutes=60codex-review(xhigh) — no findings; confirms the value propagates through thegenerated matrix and the documentation matches the configuration
This run rebuilds everything (
images/versions.jsonis in the paths filter), whichalso exercises the new ceiling against the real ~10-minute legs.