Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,11 @@ jobs:
# simulation bench in bench.yml computes the same scope from the
# PR's changed-file list — keep TOOLCHAIN_PATHS below in sync with
# the path lists in bench.yml's gate job.
#
# Bounded like every other job here: without an explicit timeout a job that
# wedges runs to GitHub's 6-hour default. 13s typical, so 10 is ~45x
# headroom — this job's only slow part is the fetch-depth: 0 checkout.
timeout-minutes: 10
runs-on: ubuntu-latest
outputs:
packages: ${{ steps.list.outputs.packages }}
Expand Down Expand Up @@ -179,6 +184,16 @@ jobs:
fail-fast: false
matrix:
package: ${{ fromJson(needs.detect-changes.outputs.packages) }}
# The matrix leg that motivated this: `build (big-endian)` wedged on PR #70
# and sat in_progress for 80+ minutes while its nine siblings finished in
# 58-239s, because nothing bounded it. fail-fast is off (deliberately — one
# package's failure should not hide another's), so a wedged leg keeps the
# whole run, and every job downstream of it, pending until GitHub's 6-hour
# default fires.
#
# 20 is ~5x the slowest observed leg (libjxl, 239s) and leaves room for a
# cold emsdk image pull.
timeout-minutes: 20
runs-on: ubuntu-latest
container:
image: emscripten/emsdk:3.1.74
Expand Down Expand Up @@ -292,6 +307,9 @@ jobs:
# missing dist FAILS its suite instead of silently skipping.
needs: [detect-changes, build]
if: needs.detect-changes.outputs.any == 'true'
# 53s typical. Generous enough for the openjpeg corpus suite on a slow
# runner without letting a hung vitest worker burn six hours.
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -378,6 +396,8 @@ jobs:
# a visible, reviewed diff.
needs: [detect-changes, build]
if: needs.detect-changes.outputs.any == 'true'
# 47s typical: download the dist artifacts, measure, compare.
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
Loading