Skip to content

CI: run curated tests_v2 socket subset on PRs (#145) - #161

Merged
arzafran merged 2 commits into
mainfrom
feat/145-tests-v2-ci-subset
Jul 21, 2026
Merged

CI: run curated tests_v2 socket subset on PRs (#145)#161
arzafran merged 2 commits into
mainfrom
feat/145-tests-v2-ci-subset

Conversation

@arzafran

Copy link
Copy Markdown
Member

What this does

Socket-level regressions can now fail a PR before merge. Until now the python socket suites never ran in CI at all — a fix like #144's could ship with its regression test never executed. This adds a required job running a curated stable subset (12 pure-socket files) against a freshly built, booted app on every app-affecting PR.

Closes #145. This PR's own CI run is the live proof of the job.

Summary

  • New tests-v2-subset job in ci.yml: macos-15 (not the timeout-prone macos-26), 40-minute cap, gated by change-detection like the other app jobs
  • scripts/run-tests-v2-ci.sh: launch/retry logic extracted from run-tests-v2.sh, minus the VM-only user guard; direct binary launch (no open), exports both PROGRAMA_SOCKET_PATH and PROGRAMA_SOCKET
  • tests_v2/ci_subset.txt: the gating list — grow it over time; interactive/drag/visual suites stay VM-only
  • Unique cache keys (deriveddata-tests-v2-macos15-*, spm-tests-v2-*) so a failed run can't poison sibling jobs

Test Plan

  • bash -n on the new script; YAML parses; all 12 subset files exist
  • This PR's tests-v2-subset job passes (the real verification)
  • After merge: mark the job required in branch protection

arzafran added 2 commits July 21, 2026 14:41
CI never executed the python socket suites; tests_v2/** was only a path
trigger. New tests-v2-subset job (macos-15, 40m cap) builds the full app,
boots it with a tagged socket, and runs the stable pure-socket files
listed in tests_v2/ci_subset.txt via the new scripts/run-tests-v2-ci.sh
(extracted from run-tests-v2.sh minus the VM-only guard; direct binary
launch, both socket env vars exported, unique DerivedData cache key).

Closes #145
surface.focus rejected bare indices in #149; both the VM script and the
extracted CI script still passed 0, so the workspace bootstrap died
before any test ran. list_surfaces rows are (index, id, focused) — pass
the id.
@arzafran
arzafran merged commit 597ba21 into main Jul 21, 2026
4 of 8 checks passed
@arzafran
arzafran deleted the feat/145-tests-v2-ci-subset branch July 21, 2026 18:06
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.

CI never runs the tests_v2 socket suites on PRs

1 participant