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-chip-ingress-stack on env start when the test depends on the real stack, or when you want Red Panda Console to debug workflow events. (--with-beholder is deprecated.)
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