Fix the lobby layout test and queue merges

Merged
JS
4d ago
+271-234

Main's browser lane has been red since fd7c23c: #410's layout test toggled only the problem card's hidden flag, but #401 wraps each card in an entry that filtering hides along with it, so cards inside hidden entries all measured at the top and counted as one row of 57. The test now hides and restores whole entries and counts the cards that are rendered, and the picker outline measures the entries the grid lays out. This is the interaction HellHBBD traced on #295.

Each pull request was green against its own base, and nothing ran them together. The workflow now also runs on merge_group, so enabling a merge queue for main tests each pull request on top of the main it will land on (main has no branch protection or ruleset today, so the queue itself is a settings change). check also collects the mutation plan and shards and is the one status to require; on a pull request that changes Rust it now waits for the shards. The weekly avatar job moves into check.yml, started only by its schedule or a dispatch, and the vendor and Chromium restores become composite actions shared by every job. build and release wait on the gate lanes rather than check, because the default success() would otherwise carry the skipped mutation jobs through check and stop every release.

Two smaller fixes ride along. A whiteboard test pressed Control+Z for a text field's own undo, which only works off macOS, so it now uses ControlOrMeta. tokio moves from 1.54.0, yanked under RUSTSEC-2026-0384, to 1.54.1, which cargo-audit now requires.

Verified locally on macOS: ./scripts/test.sh portable and ./scripts/test.sh rust pass; the browser lane passes except for timeouts under parallel load on this machine, and the affected suites pass 309/309 run serially; actionlint is clean.


Summary by cubic

Fixes the lobby picker layout test to measure filtered entries, and updates CI to test pull requests together on merge queue refs.

  • check now combines gate and mutation results; make it the required status and enable the merge queue in repository settings.
  • Moves the scheduled avatar check into check.yml and shares vendor and Chromium restore actions across jobs.
  • Keeps publishing gated on test lanes, updates whiteboard shortcut tests for host modifiers, and upgrades tokio to 1.54.1.