Skip to content
Merged
Show file tree
Hide file tree
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
5 changes: 4 additions & 1 deletion .github/actions/run-visual-shard/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ inputs:
How often to run the shard before calling it failed. Firefox
intermittently hangs on a single file in headless CI — a hang vitest's
per-test `retry` cannot recover, only a fresh browser process can. A real
diff fails every attempt.
diff fails every attempt. No caller passes it any more, because the
failure it was aimed at is not one a re-run recovers — the attempts share
the runner, so all three fail identically (#3106). Kept for a hang that
shows up on its own.
default: "1"

runs:
Expand Down
8 changes: 1 addition & 7 deletions .github/workflows/test-visual-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,15 +69,10 @@ jobs:
# browsers, so one runner spent 24-34 minutes on it. Sharding is the only split
# that keeps each file's conditions identical: every shard still runs its own
# files one at a time, in its own browser process.
#
# `attempts` matches the scheduled run, and the timeout matches it for the same
# reason: three attempts of a shard have to fit inside the job. This is the
# path contributors are told to use, so it is the path that must not report a
# contended runner as a diff.
run-visual-tests:
needs: prepare
runs-on: ubuntu-latest
timeout-minutes: 45
timeout-minutes: 30
strategy:
# A failing shard must not cancel the others — the diffs of the shards
# still running are what tell you whether the change is broad or local.
Expand All @@ -98,7 +93,6 @@ jobs:
with:
shard: ${{ matrix.shard }}
shards: ${{ strategy.job-total }}
attempts: "3"

# vitest writes the diffs into `.vitest-attachments`, six directory levels
# deep. Uploaded as they lie, the zip opens on a dot directory Finder does
Expand Down
12 changes: 7 additions & 5 deletions .github/workflows/test-visual-scheduled.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,15 @@ jobs:
# styling from any page it is not showing), and it renders every file in both
# browsers, so one runner spent 24-34 minutes on it. Sharding is the only split
# that keeps each file's conditions identical: every shard still runs its own
# files one at a time, in its own browser process. The retry lives inside the
# shard now, so a flaky firefox hang re-runs a sixth of the suite, not all of
# it.
# files one at a time, in its own browser process.
#
# No retry: the three attempts this job carried since before the sharding never
# recovered the failure they were aimed at. All three fail identically, because
# they share the runner — see #3106. The timeout is the label path's, which is
# calibrated for this same shape at one attempt.
visual:
runs-on: ubuntu-latest
timeout-minutes: 45
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
Expand All @@ -33,7 +36,6 @@ jobs:
with:
shard: ${{ matrix.shard }}
shards: ${{ strategy.job-total }}
attempts: "3"

alert:
needs: visual
Expand Down
Loading