Skip to content

[chore] Add fields to GetJobDistributor#21414

Draft
cedric-cordenier wants to merge 1 commit intodevelopfrom
update-get-job-distributor-w-chain-configs
Draft

[chore] Add fields to GetJobDistributor#21414
cedric-cordenier wants to merge 1 commit intodevelopfrom
update-get-job-distributor-w-chain-configs

Conversation

@cedric-cordenier
Copy link
Contributor

Requires

Supports

@github-actions
Copy link
Contributor

github-actions bot commented Mar 5, 2026

✅ No conflicts with other open PRs targeting develop

@cl-sonarqube-production
Copy link

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Fixed issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarQube

Copy link

@trunk-io trunk-io bot left a comment

Choose a reason for hiding this comment

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

🔴 Test Results: GraphQL Schema Mismatch

Affected failures:

  1. Workflow Run: Run CCIP integration In Memory Tests For PR / smoke/ccip/ccip_token_transfer_test.go:*_LOOPP
  2. Workflow Run: Run CCIP integration In Memory Tests For PR / smoke/ccip/ccip_messaging_test.go:Test_CCIPMessaging_Solana2EVM_LOOPP

What Broke

The addition of new GraphQL fields and types for OCR job configurations has introduced an OCR3 config digest mismatch and configuration incompatibility. This issue affects CCIP integration tests, preventing them from completing successfully and processing commit reports.

Proposed Fixes

Introduce a new PluginsInput type in the GraphQL schema and update related input types to use it. Additionally, regenerate the generated.go file to ensure synchronization with the updated GraphQL schema.

go generate ./deployment/environment/web/sdk/internal/...

In schema.graphql:332

 type FeedsManager {
 	id: ID!
 	name: String!
 	uri: String!
 	publicKey: String!
 	jobProposals: [JobProposal!]!
 	isConnectionActive: Boolean!
 	createdAt: Time!
 	disabledAt: Time
 	chainConfigs: [FeedsManagerChainConfig!]!
 }
 
+ input PluginsInput {
+ 	commit: Boolean!
+ 	execute: Boolean!
+ 	median: Boolean!
+ 	mercury: Boolean!
+ 	rebalancer: Boolean!
+ }
 type FeedsManagerChainConfig {
 	id: ID!
 	chainID: String!
 	chainType: String!
 	accountAddr: String!
 	accountAddrPubKey: String
 	adminAddr: String!
 	fluxMonitorJobConfig: FluxMonitorJobConfig!
 	ocr1JobConfig: OCR1JobConfig!
 	ocr2JobConfig: OCR2JobConfig!
 }
 
 type FluxMonitorJobConfig {
 	enabled: Boolean!
 }
 
 type OCR1JobConfig {
 	enabled: Boolean!
 	isBootstrap: Boolean!
 	multiaddr: String
 	p2pPeerID: String
 	keyBundleID: String
 }
 
 type OCR2JobConfig {
 	enabled: Boolean!
 	isBootstrap: Boolean!
 	multiaddr: String
 	forwarderAddress: String
 	p2pPeerID: String
 	keyBundleID: String
 	plugins: Plugins!
 }
 
 # FeedsManagerPayload defines the response to fetch a single feeds manager by id
 union FeedsManagerPayload = FeedsManager | NotFoundError
 
 # FeedsManagersPayload defines the response when fetching feeds managers
 type FeedsManagersPayload {
     results: [FeedsManager!]!
 }
 
 input CreateFeedsManagerInput {
 	name: String!
 	uri: String!
 	publicKey: String!
 }
 
 # CreateFeedsManagerSuccess defines the success response when creating a feeds
 # manager
 type CreateFeedsManagerSuccess {
     feedsManager: FeedsManager!
 }
 
 type DuplicateFeedsManagerError implements Error {
 	message: String!
 	code: ErrorCode!
 }
 
 # DEPRECATED: No longer used since we now support multiple feeds manager.
 # Keeping this to avoid breaking change.
 type SingleFeedsManagerError implements Error {
 	message: String!
 	code: ErrorCode!
 }
 
 # CreateFeedsManagerPayload defines the response when creating a feeds manager
 union CreateFeedsManagerPayload = CreateFeedsManagerSuccess
 	| DuplicateFeedsManagerError
 	| SingleFeedsManagerError # // TODO: delete once multiple feeds managers support is released
 	| NotFoundError
 	| InputErrors
 
 input UpdateFeedsManagerInput {
 	name: String!
 	uri: String!
 	publicKey: String!
 }
 
 # UpdateFeedsManagerSuccess defines the success response when updating a feeds
 # manager
 type UpdateFeedsManagerSuccess {
     feedsManager: FeedsManager!
 }
 
 # UpdateFeedsManagerPayload defines the response when updating a feeds manager
 union UpdateFeedsManagerPayload = UpdateFeedsManagerSuccess
 	| NotFoundError
 	| InputErrors
 
 input CreateFeedsManagerChainConfigInput {
 	feedsManagerID: ID!
 	chainID: String!
 	chainType: String!
 	accountAddr: String!
 	accountAddrPubKey: String
 	adminAddr: String!
 	fluxMonitorEnabled: Boolean!
 	ocr1Enabled: Boolean!
 	ocr1IsBootstrap: Boolean
 	ocr1Multiaddr: String
 	ocr1P2PPeerID: String
 	ocr1KeyBundleID: String
 	ocr2Enabled: Boolean!
 	ocr2IsBootstrap: Boolean
 	ocr2Multiaddr: String
 	ocr2ForwarderAddress: String
 	ocr2P2PPeerID: String
 	ocr2KeyBundleID: String
- 	ocr2Plugins: String!
+ 	ocr2Plugins: PluginsInput!
 }
 
 # CreateFeedsManagerChainConfigSuccess defines the success response when
 # creating a chain config for a feeds manager.
 type CreateFeedsManagerChainConfigSuccess {
     chainConfig: FeedsManagerChainConfig!
 }
 
 # CreateFeedsManagerChainConfigPayload defines the response when creating a
 # feeds manager chain config.
 union CreateFeedsManagerChainConfigPayload = CreateFeedsManagerChainConfigSuccess
 	| NotFoundError
 	| InputErrors
 
 # DeleteFeedsManagerChainConfigSuccess defines the success response when
 # deleting a chain config for a feeds manager.
 type DeleteFeedsManagerChainConfigSuccess {
     chainConfig: FeedsManagerChainConfig!
 }
 
 # DeleteFeedsManagerChainConfigPayload defines the response when creating a
 # feeds manager chain config.
 union DeleteFeedsManagerChainConfigPayload = DeleteFeedsManagerChainConfigSuccess
 	| NotFoundError
 
 input UpdateFeedsManagerChainConfigInput {
 	accountAddr: String!
 	accountAddrPubKey: String
 	adminAddr: String!
 	fluxMonitorEnabled: Boolean!
 	ocr1Enabled: Boolean!
 	ocr1IsBootstrap: Boolean
 	ocr1Multiaddr: String
 	ocr1P2PPeerID: String
 	ocr1KeyBundleID: String
 	ocr2Enabled: Boolean!
 	ocr2IsBootstrap: Boolean
 	ocr2Multiaddr: String
 	ocr2ForwarderAddress: String
 	ocr2P2PPeerID: String
 	ocr2KeyBundleID: String
- 	ocr2Plugins: String!
+ 	ocr2Plugins: PluginsInput!
 }
Autofix Options

You can use our MCP server to get AI assistance with debugging and fixing these failures.

  • Use MCP in your IDE to debug the issue. Try Help me fix CI failures from qKbKubv2 to get started.

Tip

Get Better Results: This CI job is not uploading test reports. Adding structured test reports enables more precise, test-level analysis with better root cause identification and more targeted fix recommendations.
👉🏻 Learn how to upload test results.

Copy link

@trunk-io trunk-io bot left a comment

Choose a reason for hiding this comment

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

🔴 Test Results: Unrelated Failure

Affected failures:

  1. Workflow Run: Integration Tests
  2. Workflow Run: Run CCIP integration In Memory Tests For PR / smoke/ccip/ccip_token_transfer_test.go:*_LOOPP

What Broke

These failures appear to be unrelated to the changes in this PR. One failure could not be definitively determined due to a lack of detailed error information in the CI logs, which only indicated a generic exit code. The other failure was caused by an incorrect or mismatched OCR3 configuration within a CCIP test environment, leading to invalid commit reports and subsequent test timeout. Both failures are external to the PR's scope, which involves GraphQL schema definitions and generated Go client code.

Autofix Options

You can use our MCP server to get AI assistance with debugging and fixing these failures.

  • Use MCP in your IDE to debug the issue. Try Help me fix CI failures from ESncvEBj to get started.

Tip

Get Better Results: This CI job is not uploading test reports. Adding structured test reports enables more precise, test-level analysis with better root cause identification and more targeted fix recommendations.
👉🏻 Learn how to upload test results.

Copy link

@trunk-io trunk-io bot left a comment

Choose a reason for hiding this comment

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

🔴 Test Results: GraphQL Schema Mismatch

Affected failures:

  1. Workflow Run: Run CCIP integration In Memory Tests For PR / smoke/ccip/ccip_token_transfer_test.go:*_LOOPP

What Broke

The addition of 'ChainConfigs' to the FeedsManagerParts in the GraphQL schema and generated Go code caused an OCR3 configuration digest mismatch for the CCIPCommit plugin.

Proposed Fixes

Regenerate the Go client code from the updated GraphQL schema to resolve the OCR3 configuration digest mismatch for the CCIPCommit plugin.

go generate ./...
Autofix Options

You can use our MCP server to get AI assistance with debugging and fixing these failures.

  • Use MCP in your IDE to debug the issue. Try Help me fix CI failures from Kq2FeYzz to get started.

View all test uploads

@trunk-io
Copy link

trunk-io bot commented Mar 5, 2026

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

Copy link

@trunk-io trunk-io bot left a comment

Choose a reason for hiding this comment

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

🔴 Test Results: OCR3 Config Mismatch

Affected failures:

  1. Workflow Run: Run CCIP integration In Memory Tests For PR / smoke/ccip/ccip_messaging_test.go:Test_CCIPMessaging_Solana2EVM_LOOPP

What Broke

The new ChainConfigs and JobSpec types introduced in the PR caused an OCR3 configuration digest mismatch, leading to a failure in the CCIP integration test.

Proposed Fixes

Update Go module dependencies and regenerate the Go client code to ensure the OCR3 configuration correctly reflects the new ChainConfigs and JobSpec types introduced in the GraphQL schema.

cd deployment && go mod tidy
cd deployment/environment/web/sdk && task generate
Autofix Options

You can use our MCP server to get AI assistance with debugging and fixing these failures.

  • Use MCP in your IDE to debug the issue. Try Help me fix CI failures from mnJnTbuB to get started.

Tip

Get Better Results: This CI job is not uploading test reports. Adding structured test reports enables more precise, test-level analysis with better root cause identification and more targeted fix recommendations.
👉🏻 Learn how to upload test results.

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