Dispatch and watch the heavy suites for branch $ARGUMENTS (default:
the current branch). Reference: dev-docs/playbooks/ci-suites.md.
- Check for in-flight runs first — re-dispatching a workflow on the
same ref CANCELS its in-flight run (concurrency groups):
gh run list --branch <branch> --limit 5 - Dispatch:
gh workflow run integration-tests-ci.yaml --ref <branch> -f test_threads=4 gh workflow run test-cluster.yaml --ref <branch> gh workflow run ts-integration-tests.yaml --ref <branch> - Capture the three run IDs (
gh run list --workflow <wf> --branch <branch> --limit 1) and arm a background watcher per run; report each conclusion as it lands rather than polling inline. - On a failure, download the artifact before triaging
(
rust-tests-log/cluster-tests-log-<attempt>/localnet-logs). Distinguish three failure shapes:- test failure (nextest exit 100 / vitest FAILED) → read the failing test's replay;
- runner-pod death ("runner lost communication", no artifacts) → infra, re-dispatch once;
- TS-suite wedge (cascading "Object does not exist" timeouts) → run
dev-docs/playbooks/mpc-stall-postmortem.mdon localnet-logs FIRST; the pre-existing epoch-entry race (issue #1736) must be ruled out before attributing the failure to the branch.