We raised $3M for agent-native runners

Move selected heavy checks after merge

Keep a deliberately chosen pull request gate and schedule heavier validation after merge, with explicit ownership of the resulting risk.

How companies used this technique

Read what each company changed and follow the original sources.

Run the heavy matrix after merge

Codex kept Bazel build, test and clippy on pull requests, along with Cargo hygiene and its required aggregate, and moved the full Cargo matrix to pushes on main.

Full Cargo matrix moved to post-merge pushes on main Source

Use it when
A heavyweight matrix repeats a signal another required workflow already provides.
Before applying it
A regression only the deferred legs catch now surfaces after merge. Count those leg-unique failures first, and give the post-merge run an owner who is notified and can block a release.

Move heavyweight checks after merge, by decision

Shopify/tecnix#74 keeps the component tests and cheap flake checks on pull requests. VM tests, the remaining flake checks, the installer tests and flake regressions run on pushes to main, merge-queue runs and manual dispatches, and as optional jobs on pull requests. The required check names still report on every pull request. The pattern match is partial: the PR moves whole suites after merge with their tradeoff written down in the PR.

Merged 2026-10-01; the pull-request conditions are on the default branch. Source

Use it when
Heavy suites sit on the required path of every pull request, and the cheaper checks catch nearly every break first.
Before applying it
Failures in the moved suites show up on main after merge, so someone has to watch main and act on them.

Company Playbooks