Skip to content

[pull] develop from smartcontractkit:develop#261

Merged
pull[bot] merged 6 commits intobit-cook:developfrom
smartcontractkit:develop
Mar 26, 2026
Merged

[pull] develop from smartcontractkit:develop#261
pull[bot] merged 6 commits intobit-cook:developfrom
smartcontractkit:develop

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented Mar 26, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

futureproof1 and others added 6 commits March 26, 2026 13:26
* deployment: use timelock qualifier in SetConfigMCMSV2 changeset

The SetConfigMCMSV2 changeset was loading MCMS with timelock state using
MaybeLoadMCMSWithTimelockState, which does not support timelock qualifiers.
This meant that when a ProposalConfig specified a TimelockQualifierPerChain,
the qualifier was silently ignored during both validation and execution,
causing the changeset to load the wrong timelock state.

Update both Validate() and SetConfigMCMSV2() to extract the qualifier from
ProposalConfig.TimelockQualifierPerChain and pass it to the new
MaybeLoadMCMSWithTimelockStateWithQualifier function. When ProposalConfig
is nil, the qualifier defaults to an empty string, preserving backward
compatibility.

* deployment: add unit tests for timelock qualifier in SetConfigMCMSV2

Add TestSetConfigMCMSV2WithTimelockQualifier to verify that the
TimelockQualifierPerChain field in ProposalConfig is correctly extracted
and passed to MaybeLoadMCMSWithTimelockStateWithQualifier during
validation.

The test deploys two MCMS instances on the same chain with different
qualifiers (CLLCCIP and RMNMCMS), mirroring the production setup, and
validates four scenarios:
- CLLCCIP qualifier resolves to the correct MCMS deployment
- RMNMCMS qualifier resolves to the correct MCMS deployment
- Empty qualifier fails with "found more than one instance" when
  multiple MCMS deployments exist, documenting the problem this
  changeset solves
- Non-existent qualifier fails with "no addresses found"
* use sampling logger for CRE soak test

* throw more HDD at the runner, save fake data provider logs to a file

* add debug to runs-on, use more powerful runner

* redirect Gin output to log file

* do not close the log file on test clean up as gin writes to it after the clean up
* remove all unused integration-tests code

* clean up go.mod and go.md

* Fix go.md
* Update PostValidation script

* Lint fixes

* Updates perf fix & v2 FQ

* fixes

* refactor

* Fixes

* Lint fixes & others

* run go modtidy

* refactor

* Addressed comments & fixes

* formatting

* Add GasPriceStalenessThreshold back

* FQ test fixes
* add CRE upgrade pipeline

* bump CTF

* pass some buildcmd

* save Docker logs

* clean up + uncomment df1 compat tests

* exclude rc and beta refs from upgrade tests

* support passing custom refs

* add upgrade tests to build publish pipeline
@pull pull bot locked and limited conversation to collaborators Mar 26, 2026
@pull pull bot added the ⤵️ pull label Mar 26, 2026
@pull pull bot merged commit c532612 into bit-cook:develop Mar 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants