-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
New rmn curse changeset #15868
base: develop
Are you sure you want to change the base?
New rmn curse changeset #15868
Conversation
AER Report: CI Coreaer_workflow , commit , Detect Changes , Clean Go Tidy & Generate , Scheduled Run Frequency , GolangCI Lint (integration-tests) , Core Tests (go_core_tests) , GolangCI Lint (deployment) , Core Tests (go_core_tests_integration) , Core Tests (go_core_ccip_deployment_tests) , test-scripts , Core Tests (go_core_fuzz) , Core Tests (go_core_race_tests) , lint , SonarQube Scan 1. Unnecessary conversion error: Golang Lint (integration-tests)Source of Error:integration-tests/smoke/ccip/ccip_rmn_test.go:627:78: unnecessary conversion (unconvert)
curseActions = append(curseActions, changeset.CurseLane(remoteSel, uint64((tc.pf.chainSelectors[subjectDescription])))) integration-tests/smoke/ccip/ccip_rmn_test.go:662:78: unnecessary conversion (unconvert)
curseActions = append(curseActions, changeset.CurseLane(remoteSel, uint64((tc.pf.chainSelectors[subjectDescription])))) Suggested fix: Remove the unnecessary 2. Require must only be used in the goroutine running the test function: Golang Lint (integration-tests)Source of Error:integration-tests/smoke/ccip/ccip_rmn_test.go:679:5: go-require: require must only be used in the goroutine running the test function (testifylint)
require.NoError(t, err) integration-tests/smoke/ccip/ccip_rmn_test.go:681:5: go-require: require must only be used in the goroutine running the test function (testifylint)
require.NoError(t, err) Suggested fix: Use AER Report: Operator UI CIaer_workflow , commit , Breaking Changes GQL Check 1. Workflow conclusion is failure:[convictional/trigger-workflow-and-wait@f69fa9e]Source of Error:
Why: The triggered workflow did not complete successfully. The conclusion status was "failure," which caused the upstream job to also fail. Suggested fix: Investigate the logs of the triggered workflow (https://github.com/smartcontractkit/operator-ui/actions/runs/12714460688) to identify the specific reason for its failure and address the underlying issue. |
// CurseChain(SEPOLIA_CHAIN_SELECTOR), | ||
// CurseLane(SEPOLIA_CHAIN_SELECTOR, AVAX_FUJI_CHAIN_SELECTOR), | ||
// }, |
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.
Instead of taking CurseAction as input , can we take the chain selector to curse and SourceDestPair to curse, then form the CurseAction with it? would it be easier as changeset config input?
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.
I am not sure I understand, the chain to curse would be the CurseChain action and the source dest would be CurseLane in the current setup. Can you give an example of what your are proposing?
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.
Can we do something like this where either of ChainToCurse and SourceDestPairToCurse would be not-nil and the CurseAction will be formed accordingly based on the input.
type RMNCurseConfig struct {
MCMS *MCMSConfig
CurseSubjects []CurseSubjects
}
type CurseSubjects struct{
ChainToCurse *uint64
SourceDestPairToCurse *SourceDestPair
Reason string
}
type SourceDestPair struct{
Source uint64
Dest uint64
}
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.
I think I get what you mean now, is that right that you would prefer the CurseSubjects to look more like a union rather than accepting the CurseAction list?
I guess overall it's a matter of preference, I personally like the CurseAction list because it allows us to easily compose them and define more CurseActionquite easily (like the CurseLaneOnlyOnSourceChain that I added)
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.
I would also prefer the CurseAction list, seems more flexible.
Quality Gate passedIssues Measures |
This PR add a new changeset to curse lanes and chains via RMNRemote
It also add a utility that allow writing changeset without caring about wether we are creating a proposal or executing with a deployer key.
Example usage of the changeset