Run only what a change reaches
--affected follows task edges from the change, and nothing else runs.

vx run test --affected runs the tasks a change since the base branch touches, and the tasks whose dependsOn reaches one of them. With no edge from the changed task to yours, yours does not run.
Pair it with the cache and most pull requests run a handful of tasks.
More in CI

vx lock
CI runs exactly the config you reviewed.

Flaky task detection
Local and free: the same key failing after it passed is called flaky.

Results on GitHub
Every run on GitHub Actions writes a job summary and a check.

Results on the pull request
A check run on the commit carries the run summary, failures first.

Cache scope from the branch
On Actions, main writes trusted cache entries and a pull request writes only its own.