Skip to content

[CRE] Mixed-env nightly full-matrix sweep + chain-specific variants - #23312

Draft
prashantkumar1982 wants to merge 1 commit into
cre/mixed-env-non-determinismfrom
cre/mixed-env-nightly
Draft

[CRE] Mixed-env nightly full-matrix sweep + chain-specific variants#23312
prashantkumar1982 wants to merge 1 commit into
cre/mixed-env-non-determinismfrom
cre/mixed-env-nightly

Conversation

@prashantkumar1982

Copy link
Copy Markdown
Contributor

[CRE] Mixed-env nightly full-matrix sweep + chain-specific variants

Stacked on #23290. Extends mixed-env non-determinism coverage beyond the per-PR OCR3/DON2DON subset.

What

  • Nightly full sweep (cre-mixed-env-nightly.yaml): runs the entire CRE matrix under mixed-env (mixed_env_all: true), comparing today's develop nightly image against a previous develop nightly — catching non-determinism introduced into develop between nightlies, across the whole suite. No image build (reuses cached nightlies).
  • mixed_env_all toggle in cre-system-tests.yaml: appends mixed-env to the default (EVM) topology list, and the chain-specific mixed-env variants to the Solana/Aptos/Stellar tests. Per-PR behavior is unchanged (toggle defaults to false).
  • Chain-specific mixed-env templates: mixed-env-solana-don, mixed-env-aptos-don, mixed-env-stellar-don — a 2-2 PR/develop split of each chain topology.
  • Generalized render: render-mixed-env.sh now renders any mixed-env-*-don.toml.tmpl; the workflow render step and image gating match any mixed-env* topology (startsWith).
  • gitignore covers rendered configs/mixed-env-*.toml; docs updated.

Verified locally

  • All three chain templates render with the correct 2-2 image split and parse via topology show (Solana/Stellar multi-don 4+4+1, Aptos single-don 4+1).
  • Both workflow YAMLs valid; matrix simulation with mixed_env_all: true gives Aptos→mixed-env-aptos, Solana→mixed-env-solana, base tests→mixed-env (default topology preserved alongside).

Known follow-ups

  • Sharding / Module_Cache / Multi_Gateway use special topologies and need their own mixed variants — not covered by this sweep yet.
  • Chain mixed-env templates duplicate their base topologies; keep them in sync (a topology generate --check-style guard would help).
  • The nightly cron (05:00 UTC) assumes the day's chainlink:nightly-<date> image exists; adjust if the nightly build slips. baseline_date is overridable via workflow_dispatch.

🤖 Generated with Claude Code

@prashantkumar1982
prashantkumar1982 requested review from a team as code owners August 3, 2026 18:43
@prashantkumar1982
prashantkumar1982 marked this pull request as draft August 3, 2026 18:43
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

✅ No conflicts with other open PRs targeting cre/mixed-env-non-determinism

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

I see you updated files related to core. Please run make gocs 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

trunk-io Bot commented Aug 3, 2026

Copy link
Copy Markdown

Static BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

Nightly full sweep that runs the entire CRE matrix under mixed-env, built on top
of the dedicated cre-mixed-env-tests.yaml workflow.

- cre-mixed-env-tests.yaml: add a full_matrix input. Off (per-PR default) it runs
  the base EVM set; on (nightly) it also runs the special-topology tests under
  their mixed-env variant. Matrix entries now carry per-test topology + config,
  and the render step / ctf-configs / TOPOLOGY_NAME use them.
- cre-mixed-env-nightly.yaml: scheduled workflow calling cre-mixed-env-tests.yaml
  with full_matrix: true, comparing today's develop nightly against a previous one.
- Special-topology mixed-env templates (2-2 split, verified via `topology show`):
  solana, aptos, stellar, sharded (preserves shard0 custom_ports), cache-test
  (preserves ModuleCache override), multi-gateway (preserves org override + both
  gateway DONs).
- render-mixed-env.sh generalized to render any mixed-env-*-don.toml.tmpl.
- gitignore covers rendered configs/mixed-env-*.toml; docs updated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@cl-sonarqube-production

Copy link
Copy Markdown

Quality Gate failed Quality Gate failed

Failed conditions
1 Security Hotspot
1 New Blocker Issues (required ≤ 0)
E Security Rating on New Code (required ≥ A)

See analysis details on SonarQube

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE SonarQube for IDE

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.

1 participant