ci(webviews): isolate base comparison from react shards

Merged
TE
9d ago
+161-3

Problem

react-apps-check (3) timed out after finishing the 249-file head suite because webviews-tests-new-reds.sh then installed dependencies and rebuilt the base checkout in the same 40-minute job. The head verdict was ready at 16:12:25, but the base setup still ran when the job was cancelled at 16:21:00.

Fix

PR shards now publish their per-shard head result JSON and finish without replaying the base. A separate four-way react-apps-base-check matrix checks out the PR base, installs/builds it, reruns only that shard's head-red files, and compares with guards_new_reds.py. The stable react-apps-check aggregate requires that comparison on pull requests while keeping push behavior unchanged.

This removes the base install/build from the head shard's timeout budget; shard 3 no longer loses its verdict to the in-job base replay.

Validation

  • python3 -m unittest tests/test_webviews_tests_new_reds.py (19 passed)
  • actionlint .github/workflows/ci-web.yml
  • bash -n scripts/ci/webviews-tests-new-reds.sh
  • git diff --check

agent-identity footer
Agent session: big-red


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.