-
Notifications
You must be signed in to change notification settings - Fork 1.9k
remove simplest topology, leave only two #20681
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I see you updated files related to
|
|
4b1988f to
082ea38
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR simplifies the test topology by removing the "simplest" (workflow-don) configuration and retaining only two topologies: workflow-gateway-don and workflow-gateway-capabilities-don. The bootstrap node has been moved from the workflow DON to a separate bootstrap DON that also serves as the gateway node, aligning with production/staging configurations.
Key changes:
- Bootstrap node moved to a separate DON that combines bootstrap and gateway roles
- Workflow DON reduced from 5 to 4 nodes (no longer includes bootstrap)
- Fixed consensus v2 bootstrap job to use correct DON name
- Fixed EVM v2 capability configuration to use correct node address per worker
Reviewed changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| system-tests/tests/test-helpers/before_suite.go | Updated default test config from workflow-don.toml to workflow-gateway-don.toml |
| system-tests/tests/smoke/cre/README.md | Removed workflow topology from documentation and CI examples |
| system-tests/lib/cre/types.go | Added BootstrapDON flag and removed validation requiring bootstrap in workflow DON |
| system-tests/lib/cre/flags/flags.go | Replaced HasOnlyOneFlag with HasNoOtherFlags to support multiple DON types |
| system-tests/lib/cre/features/evm/v2/evm.go | Fixed bug where capability config used first node's address instead of actual worker node |
| system-tests/lib/cre/features/consensus/v2/consensus.go | Fixed bootstrap job to use bootstrap DON name instead of workflow DON |
| system-tests/lib/cre/environment/blockchains/evm/evm.go | Refactored if-else chain to switch statement |
| system-tests/lib/cre/don/config/config.go | Added conditional checks to prevent duplicate config entries and extracted Solana chain logic |
| system-tests/lib/cre/contracts/keystone.go | Updated to exclude bootstrap-only DONs from capability registry |
| core/scripts/cre/environment/main.go | Changed default config to workflow-gateway-don.toml |
| core/scripts/cre/environment/environment/environment.go | Changed default config to workflow-gateway-don.toml |
| core/scripts/cre/environment/configs/*.toml | Updated topology configs to move bootstrap to separate DON with gateway role |
| core/scripts/cre/environment/completions.go | Updated file descriptions to reflect new topology structure |
| core/scripts/cre/environment/README.md | Updated documentation to reference workflow-gateway-don.toml as default |
| .github/workflows/*.yaml | Removed workflow topology from CI test matrix |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|




This PR removes simplest topology to reduce complexity, number of tests run in the CI and to align them with what we have in staging & production.
Bootstrap node has been removed from the workflow DON and moved to a separate DON. That bootstrap node will also always play the role of the gateway to limit the memory footprint.
Removing bootstrap from the workflow DON was mainly done to fix gateway job configuration, which previously included the bootstrap node in the set of nodes that were whitelisted for the gateway. That caused an error, when gateway had to process an incoming request, e.g. via web API trigger, because bootstrap node wasn't maintaining a connection with the gateway node. We adjusted the topology to match the job changeset logic.
Bonuses: