docs/local-cre/agent-skills/local-cre-e2e/SKILL.md
Use this skill when working in the chainlink repo and you need to:
This skill is for local CRE system-test workflows, not for generic unit tests.
chainlink checkout.core/scripts/cre/environment.system-tests/tests.Use the default topology when the user asks to run the standard local CRE suite or to verify a change without special flags.
cd core/scripts/cre/environment
go run . env stop -a
cd core/scripts/cre/environment
go run . env setup
cd core/scripts/cre/environment
go run . env start
go run . obs up
Use --with-beholder on env start only when the test depends on the real Beholder stack or when you want Red Panda Console to debug workflow events.
For the normal CRE smoke suite:
cd system-tests/tests
go test ./smoke/cre -timeout 20m -run '^Test_CRE_'
For only the V2 smoke suite:
cd system-tests/tests
go test ./smoke/cre -timeout 15m -run '^Test_CRE_V2'
For regression tests:
cd system-tests/tests
go test ./regression/cre -timeout 20m -run '^Test_CRE_'
Rule of thumb:
smoke is for happy-path and sanity coverageregression is for edge cases and negative casesUse a narrow regex when debugging a single scenario or bucket:
cd system-tests/tests
go test ./smoke/cre -timeout 20m -run '^Test_CRE_V2_Suite_Bucket_B$' -count=1 -v
Examples:
cd system-tests/tests
go test ./smoke/cre -timeout 20m -run 'Test_CRE_V2_Suite_Bucket_B/.*/Vault' -count=1 -v
cd system-tests/tests
go test ./regression/cre -timeout 20m -run '^Test_CRE_V2_Consensus_Regression$' -count=1 -v
Prefer -count=1 when re-running flaky or stateful CRE scenarios.
Use a non-default topology when the test requires a specific DON layout, chain, or feature configuration.
cd core/scripts/cre/environment
go run . env stop -a
CTF_CONFIGS pointing at the topology file:cd core/scripts/cre/environment
CTF_CONFIGS=./configs/workflow-gateway-capabilities-don.toml go run . env start
cd system-tests/tests
TOPOLOGY_NAME=workflow-gateway-capabilities \
go test ./smoke/cre -timeout 20m -run '^Test_CRE_V2_Suite_Bucket_B$' -count=1 -v
TOPOLOGY_NAME is optional but useful because many CRE suite tests include it in subtest names.
Create a custom topology when the user wants to override:
user_config_overridesWorkflow:
core/scripts/cre/environment/configs/.CTF_CONFIGS=<new topology>.Example:
cd core/scripts/cre/environment/configs
cp workflow-gateway-capabilities-don.toml workflow-gateway-capabilities-don-my-override.toml
Then start it:
cd ../
CTF_CONFIGS=./configs/workflow-gateway-capabilities-don-my-override.toml go run . env start
Then run the intended tests:
cd ../../../system-tests/tests
TOPOLOGY_NAME=workflow-gateway-capabilities-my-override \
go test ./smoke/cre -timeout 20m -run '^Test_CRE_V2_Suite_Bucket_B$' -count=1 -v
When making a custom topology:
Typical override points:
nodesets.capability_configsnodesets.user_config_overridesWhen changing topology or low-level config, prefer a full stop/start instead of assuming the running environment will converge.
Clean restart:
cd core/scripts/cre/environment
go run . env stop -a
CTF_CONFIGS=./configs/<topology>.toml go run . env start
When done:
cd core/scripts/cre/environment
go run . env stop -a
CTF_CONFIGS.-count=1.go run . obs up.For longer repo-specific guidance, see:
docs/local-cre/index.mddocs/local-cre/system-tests/index.mddocs/local-cre/system-tests/running-tests.md