Skip to content
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

Ccip-5112 propose job from ccip jobspec changeset #16184

Open
wants to merge 29 commits into
base: develop
Choose a base branch
from

Conversation

AnieeG
Copy link
Contributor

@AnieeG AnieeG commented Feb 1, 2025

Requires

Supports

AnieeG added 25 commits December 6, 2024 16:47
@AnieeG AnieeG requested review from kylesmartin and a team as code owners February 1, 2025 00:31
Copy link
Contributor

github-actions bot commented Feb 1, 2025

AER Report: CI Core ran successfully ✅

aer_workflow , commit

AER Report: Operator UI CI ran successfully ✅

aer_workflow , commit

Comment on lines 132 to 141
if err != nil {
// If we fail to propose a job, we should return an error and the jobs we've already proposed.
// This is so that we can retry the proposal with manual intervention.
// JOBID will be empty if the proposal failed.
return deployment.ChangesetOutput{
Proposals: []timelock.MCMSWithTimelockProposal{},
AddressBook: nil,
Jobs: Jobs,
}, fmt.Errorf("failed to propose job: %w", err)
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a fan of this counter-intuitive logic, returning an error in Go means you should discard return values.

Treating this function as a special one will inevitably lead to mis-usages and bugs

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair point. updating this so that on subsequent run, it only proposes jobs which are not previously proposed

Copy link
Contributor Author

@AnieeG AnieeG Feb 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could not find any option in job distributor to fetch proposals filtered by node. As of now the CCIPJobSpec can be run multiple times without error. There can be two scenarios here -

  1. Jobs are already accepted by node - in this case CS will not propose it again
  2. Jobs are not accepted but proposed already - in this CS will propose it again in current implementation until we find a solution to find out if the job is already proposed to the node. It should be alright as same jobs can be proposed multiple times without error and as we are returning job id in cs output, we can only accept the recently proposed jobid returned by the changeset output.

bukata-sa
bukata-sa previously approved these changes Feb 3, 2025
Copy link
Contributor

github-actions bot commented Feb 3, 2025

Flakeguard Summary

Ran new or updated tests between develop and 6d67770 (CCIP-5112-CCIPJobspec).

View Flaky Detector Details | Compare Changes

Found Flaky Tests ❌

Name Pass Ratio Panicked? Timed Out? Race? Runs Successes Failures Skips Package Package Panicked? Avg Duration Code Owners
TestSmokeState 0.00% true true false 3 0 3 0 github.com/smartcontractkit/chainlink/deployment/ccip/changeset true 0s @AnieeG, @kylesmartin, @smartcontractkit/ccip-offchain, @smartcontractkit/deployment-automation

Artifacts

For detailed logs of the failed tests, please refer to the artifact failed-test-results-with-logs.json.

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