Skip to content

Conversation

@Tofel
Copy link
Contributor

@Tofel Tofel commented Dec 23, 2025

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:

  • fixed consensus v2 job filter: previously the bootstrap job would always be created on the same DON where the capability lived instead of the DON to which bootstrap node belongs
  • fixed EVM v2 capability job configuration: previously all configs used the node address of the first node in the DON instead of the actual node

@github-actions
Copy link
Contributor

I see you updated files related to core. Please run pnpm changeset in the root directory to add a changeset as well as in the text include at least one of the following tags:

  • #added For any new functionality added.
  • #breaking_change For any functionality that requires manual action for the node to boot.
  • #bugfix For bug fixes.
  • #changed For any change to the existing functionality.
  • #db_update For any feature that introduces updates to database schema.
  • #deprecation_notice For any upcoming deprecation functionality.
  • #internal For changesets that need to be excluded from the final changelog.
  • #nops For any feature that is NOP facing and needs to be in the official Release Notes for the release.
  • #removed For any functionality/config that is removed.
  • #updated For any functionality that is updated.
  • #wip For any change that is not ready yet and external communication about it should be held off till it is feature complete.

@trunk-io
Copy link

trunk-io bot commented Dec 23, 2025

Static BadgeStatic BadgeStatic BadgeStatic Badge

Failed Test Failure Summary Logs
Test_CRE_V2_Suite/[v2]_Vault_DON_-_workflow-gateway-capabilities The test failed because the vault public key request failed due to quorum validation error, resulting in a 500 Internal Server Error instead of the... Logs ↗︎

View Full Report ↗︎Docs

@Tofel Tofel force-pushed the simplify-topology branch from 4b1988f to 082ea38 Compare December 29, 2025 13:32
@Tofel Tofel marked this pull request as ready for review December 29, 2025 14:00
@Tofel Tofel requested review from a team as code owners December 29, 2025 14:00
Copilot AI review requested due to automatic review settings December 29, 2025 14:00
Copy link
Contributor

Copilot AI left a 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.

chudilka1
chudilka1 previously approved these changes Dec 29, 2025
@cl-sonarqube-production
Copy link

@Tofel Tofel added this pull request to the merge queue Dec 29, 2025
Merged via the queue into develop with commit d024131 Dec 29, 2025
263 of 267 checks passed
@Tofel Tofel deleted the simplify-topology branch December 29, 2025 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants