docs/local-cre/system-tests/ci-and-suite-maintenance.md
The smoke suite is designed to be discoverable and repeatable across multiple topologies.
At a high level, the CI flow works like this:
system-tests/tests/smoke/creIn practice, this means you do not need to manually register every new CRE smoke test in a bespoke list.
For discoverability and consistency:
system-tests/tests/smoke/creTest_CRE_ prefixThe suite uses a separated pattern:
This keeps the suite cheaper and faster than recreating Local CRE for every individual test.
Parallel execution is controlled by CRE_TEST_PARALLEL_ENABLED.
That flag only permits parallelism. Each test still decides whether it is safe to call t.Parallel(). In cre_suite_test.go:
By default, the CRE workflow runs tests against:
workflow-gateway-capabilitiesSome tests must replace that default topology set with explicit per-test overrides in .github/workflows/cre-system-tests.yaml. Current examples are:
Test_CRE_V2_Aptos_Suite -> workflow-gateway-aptosTest_CRE_V2_Solana_Suite -> workflowTest_CRE_V1_Tron -> workflowTest_CRE_V2_Sharding -> workflow-gateway-shardedIf a new test only works with a non-default topology, adding the test code is not enough. You must also add an explicit override in the workflow matrix so CI runs the test with the matching topology and configs pair.
Keep tests topology-agnostic where possible. Use a per-test topology override only when the workflow genuinely depends on a different chain family or topology layout.
When adding a new smoke test:
If CI does not pick up a test:
Test_