Skip to content

ci: bound every pr-checks job with timeout-minutes - #92

Merged
wayfarer3130 merged 1 commit into
mainfrom
ci/job-timeouts
Sep 3, 2026
Merged

ci: bound every pr-checks job with timeout-minutes#92
wayfarer3130 merged 1 commit into
mainfrom
ci/job-timeouts

Conversation

@wayfarer3130

Copy link
Copy Markdown
Contributor

build (big-endian) wedged on #70 and sat in_progress for over 80 minutes while its nine sibling matrix legs finished in 58–239s. Nothing bounded it, so it was on course for GitHub's 6-hour default.

That is worse than one slow leg. fail-fast is off for that matrix by design, so a wedged leg keeps the whole run pending — along with test, dist-size, browser-smoke and codspeed-walltime, which all needs: build. bench.yml waits on this workflow's dist artifacts, so its runs stall too. For the whole 80 minutes the PR just looked like it was being slow.

browser-smoke (15) and codspeed-walltime (30) already had timeouts. This gives the other four the same treatment, sized off a green run on main (33674157431):

job typical limit
detect-changes 13s 10m
build (slowest leg) 239s (libjxl) 20m
test 53s 15m
dist-size 47s 10m

The build limit is ~5× the slowest observed leg, with room for a cold emsdk image pull. The others sit in the same 10–35× range the two existing timeouts already use.

Additions only — 20 lines, no existing line modified. Verified the file still parses and that no job is left unbounded.

Not included

release.yml's build matrix has the identical gap and the identical 6-hour exposure. Left for a follow-up on purpose: #63 is currently editing that job's if: condition, and touching it here would conflict. Worth doing straight after #63 lands.

🤖 Generated with Claude Code

`build (big-endian)` wedged on PR #70 and sat in_progress for over 80 minutes
while its nine sibling matrix legs finished in 58-239s. Nothing bounded it, so
it was headed for GitHub's 6-hour default. fail-fast is off for that matrix by
design, so one wedged leg keeps the entire run -- and test, dist-size,
browser-smoke and codspeed-walltime, which all need it -- pending that whole
time. bench.yml also waits on this workflow's dist artifacts, so its runs stall
too. A PR looks like it is "just being slow" the entire time.

browser-smoke (15) and codspeed-walltime (30) already carried timeouts; this
gives the other four the same treatment, sized off a green run on main:

  job              typical   limit
  detect-changes       13s      10m
  build (slowest)     239s      20m   (libjxl; leaves room for a cold image pull)
  test                 53s      15m
  dist-size            47s      10m

Additions only -- no existing line changes.

release.yml's build matrix has the same gap and the same 6-hour exposure, but
it is left for a follow-up: PR #63 is currently editing that job's `if:` and
touching it here would conflict.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 47 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: 5af1cdde-519b-4698-8a1f-a6cef7c06e95

📥 Commits

Reviewing files that changed from the base of the PR and between 073884c and 921998b.

📒 Files selected for processing (1)
  • .github/workflows/pr-checks.yml

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codspeed-hq

codspeed-hq Bot commented Sep 2, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 20.51%

⚡ 1 improved benchmark
❌ 4 regressed benchmarks
✅ 62 untouched benchmarks
⏩ 66 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation HTJ2K Lossless (.201) 14.6 ms 26.5 ms -44.89%
Simulation JPEG XL Lossless (.110) 95.6 ms 158.5 ms -39.7%
Simulation JPEG XL Lossless colour (.110) 182.1 ms 297.5 ms -38.79%
Simulation encode CT 512x512x16bit lossy d=1.0 — warm 1.4 s 1.6 s -9%
Simulation encode to JPEG XL lossy d=1.0 (.112) 1,503.6 ms 877.2 ms +71.42%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing ci/job-timeouts (921998b) with main (073884c)

Open in CodSpeed

Footnotes

  1. 66 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@wayfarer3130

Copy link
Copy Markdown
Contributor Author

@jbocce - we sometimes get wedged runs - no idea what is causing it, but it seems to want to timeout. This just adds timeouts. It shouldn't change codspeed at all, but somehow we get random changes tehre.

@wayfarer3130
wayfarer3130 merged commit bac71dd into main Sep 3, 2026
17 of 18 checks passed
@wayfarer3130
wayfarer3130 deleted the ci/job-timeouts branch September 3, 2026 17:47
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