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-3076 deployment package #14209

Merged
merged 16 commits into from
Aug 26, 2024
Merged

Ccip-3076 deployment package #14209

merged 16 commits into from
Aug 26, 2024

Conversation

AnieeG
Copy link
Contributor

@AnieeG AnieeG commented Aug 23, 2024

This exposes the new style of deployment/configuration logic for other products to use. The general structure and usage is described in the README.
Notes

  • ~5k is generated protobuf code to unblock. That will be imported once exposed.
  • ~5k is generated graphql code for programmatic CL node interaction (integration-tests/web/sdk)
  • We put the deployment/configuration logic in integration-tests module for a few reasons:
    • Keeps the chain dependencies out of the core module, in particular helpful for eventual cross family tests
    • It can become the canonical deployment logic to be used for CRIB envs as well (eventually can replace the actions + contracts dirs)
  • To accomplish the lightweight tests (chainlink.Application + simulated.Backend) we expose some test utilities in util/testutils/

@AnieeG AnieeG requested review from a team as code owners August 23, 2024 06:06
@AnieeG AnieeG requested a review from a team August 23, 2024 06:06
@AnieeG AnieeG requested review from a team and samsondav as code owners August 23, 2024 06:06
@AnieeG AnieeG marked this pull request as draft August 23, 2024 06:33
@lukaszcl
Copy link
Collaborator

Merged develop to fix the CI builds.

@connorwstein connorwstein marked this pull request as ready for review August 23, 2024 14:06
@connorwstein connorwstein requested review from a team as code owners August 23, 2024 14:06
}
}

//func NewMemoryEnvironmentExistingChains(t *testing.T, lggr logger.Logger,
Copy link
Contributor

Choose a reason for hiding this comment

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

/nit remove?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@connorwstein do we need to keep it?

Copy link
Contributor

Choose a reason for hiding this comment

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

can remove

}

func (j JobClient) ListNodes(ctx context.Context, in *nodev1.ListNodesRequest, opts ...grpc.CallOption) (*nodev1.ListNodesResponse, error) {
//TODO implement me
Copy link
Contributor

Choose a reason for hiding this comment

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

/nit ticket?

"github.com/smartcontractkit/chainlink/integration-tests/web/sdk/internal/generated"
)

type Client interface {
Copy link
Contributor

Choose a reason for hiding this comment

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

We have similar web routes defined in core/web - is there an ability to consolidate/reuse existing implementations?

Copy link
Contributor

Choose a reason for hiding this comment

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

can you link to what implementations you're referring to?

Copy link
Contributor

Choose a reason for hiding this comment

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

hmm, my bad. I thought we had defined go APIs, but I was thinking of the scattered resolver unit tests we have that use graphql queries.

for instance,

query GetJobProposal {

return selectors
}

func ConfirmIfNoError(chain Chain, tx *types.Transaction, err error) (uint64, 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.

@connorwstein changed the signature of this as discussed

Client OnchainClient
// Note the Sign function can be abstract supporting a variety of key storage mechanisms (e.g. KMS etc).
DeployerKey *bind.TransactOpts
Confirm func(tx common.Hash) (uint64, 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.

@connorwstein changed the signature of this as discussed

patrickhuie19
patrickhuie19 previously approved these changes Aug 26, 2024
@cl-sonarqube-production
Copy link

@AnieeG AnieeG enabled auto-merge August 26, 2024 19:07
@AnieeG AnieeG added this pull request to the merge queue Aug 26, 2024
Merged via the queue into develop with commit c00ac96 Aug 26, 2024
150 checks passed
@AnieeG AnieeG deleted the ccip-3076-deployment-from-ccip branch August 26, 2024 21:42
asoliman92 pushed a commit that referenced this pull request Aug 27, 2024
* deployment package inclusion

* go mod

* Add README

* Add changeset

* Fix changeset

* change confirm function

* ignore linter for now

* core generate

* add todo ticket

* fix test

---------

Co-authored-by: Lukasz <[email protected]>
Co-authored-by: connorwstein <[email protected]>
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.

6 participants