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

feat(CRE-329): high fidelity offchain job service client #16527

Open
wants to merge 4 commits into from

Conversation

krehermann
Copy link
Contributor

@krehermann krehermann commented Feb 22, 2025

CRE-329

Implement the JobServiceClient API for in memory integration testing using the real node Feed service APIs

This is a building block to unlock in memory integration tests that have high fidelity to real deployments.

Specifically, it will enable the CRE migration concern jobs to be moved from CLD to this repo and be well tested. That move, then, will enable reuse for CTF & CRIB environment implementations.

Requires

Supports

Copy link
Contributor

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

🎖️ No JIRA issue number found in: PR title, commit message, or branch name. Please include the issue ID in one of these.

Copy link
Contributor

github-actions bot commented Feb 22, 2025

AER Report: CI Core ran successfully ✅

aer_workflow , commit

AER Report: Operator UI CI ran successfully ✅

aer_workflow , commit

@krehermann krehermann force-pushed the cre/in-memory-offchain-client branch from d83729f to 1cef16b Compare February 26, 2025 00:20
@krehermann krehermann changed the title feat(deployment): high fidelty offchain client feat(CRE-329): high fidelity offchain job service client Feb 26, 2025
"github.com/smartcontractkit/chainlink-protos/job-distributor/v1/shared/ptypes"
)

func (j JobClient) EnableNode(ctx context.Context, in *nodev1.EnableNodeRequest, opts ...grpc.CallOption) (*nodev1.EnableNodeResponse, error) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

this file is just a code move of the node servie API methods

"github.com/smartcontractkit/chainlink/v2/core/services/job"
)

type JobServiceClient struct {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

this is the new implementation


var errNoExist = errors.New("does not exist")

// proposalStore is an interface for storing job proposals.
Copy link
Contributor Author

@krehermann krehermann Feb 26, 2025

Choose a reason for hiding this comment

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

these store interfaces and implementations are conveniences for the in memory data needed by the JobServiceClient impl. they are not interesting in and of themselves

AnieeG
AnieeG previously approved these changes Feb 26, 2025
@krehermann krehermann requested a review from bolekk February 26, 2025 23:18
bolekk
bolekk previously approved these changes Feb 26, 2025
@@ -598,3 +611,54 @@ func (e KeystoreSim) Eth() keystore.Eth {
func (e KeystoreSim) CSA() keystore.CSA {
return e.csa
}

func setupJD(t *testing.T, app chainlink.Application) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Why are we mixing real code and test helpers here...?

Copy link
Contributor

Choose a reason for hiding this comment

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

+1

@krehermann krehermann dismissed stale reviews from bolekk and AnieeG via d6990fa February 27, 2025 00:05
@krehermann krehermann added this pull request to the merge queue Feb 27, 2025
Any commits made after this event will not be merged.
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 27, 2025
@krehermann krehermann added this pull request to the merge queue Feb 27, 2025
Any commits made after this event will not be merged.
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