Genuinely not a thing. There is no --since, no changed-files input, and nothing in the run pipeline looks at git beyond recording the sha in run.json. Selection is exactly the list you found.
What we do instead, in order of how much I would trust it:
- Keep
@smoke small and honest, and let the pull request run only that. This is the workaround that requires no cleverness and does not go wrong. - Map changed paths to modules in the CI job and pass them through:
sdods run -p demo-shop -m cart -m checkout -t @smoke. Cheap to write, and modules already carry an ownership boundary, so the mapping is usually obvious. - Shard to cut wall-clock rather than cutting tests. Eight machines running everything is often cheaper than an afternoon debating which scenarios a shared component touches.
If you go with 2, still run everything before merging to main. A one-line CSS change to a shared component genuinely can break nine modules, and a path-based mapping will not know.