We have a large test suite and don't want to run the entire thing for unrelated changes. Currently, there are two ways that CI gets run:
Run everything
If all the changes in a PR (or push) are within the docs/ folder (or are one of a few config files that lives at the root of the repo), then only run a subset of the test suite (mostly the docs-related bits).
This is a good start, but I think we can probably reduce the testing burden more with a few rules that should give us reasonably good coverage (I think).
New rules
Keep the current "docs-only" rule, but also add in #8231 to allow for adding words to the codespell dictionary without triggering a full CI run
For changes in ibis/expr/: run everything
For changes in ibis/backends/base: run everything
For changes in ibis/backends/<backend name>: only run the tests for that backend
An exception to this rule is Risingwave, which is mostly the postgres backend and so changes to postgres should also trigger risingwave tests
Then, as a fallback, we add a label akin to our docs-preview label that can trigger a full backend test suite run if the reviewer thinks that something might have a larger blast radius than accounted for by these rules.
Current status
We have a large test suite and don't want to run the entire thing for unrelated changes. Currently, there are two ways that CI gets run:
docs/
folder (or are one of a few config files that lives at the root of the repo), then only run a subset of the test suite (mostly the docs-related bits).This is a good start, but I think we can probably reduce the testing burden more with a few rules that should give us reasonably good coverage (I think).
New rules
codespell
dictionary without triggering a full CI runibis/expr/
: run everythingibis/backends/base
: run everythingibis/backends/<backend name>
: only run the tests for that backendThen, as a fallback, we add a label akin to our
docs-preview
label that can trigger a full backend test suite run if the reviewer thinks that something might have a larger blast radius than accounted for by these rules.