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

deployment/memory: Solana support #15850

Draft
wants to merge 11 commits into
base: yn-solana
Choose a base branch
from
Draft

Conversation

archseer
Copy link
Contributor

@archseer archseer commented Jan 7, 2025

No description provided.

@@ -516,7 +516,7 @@ func deployChainContractsSolana(
if chainState.CcipRouter.IsZero() {
// deploy and initialize router

programID, err := deployment.DeploySolProgramCLI("ccip_router")
programID, err := deployment.DeploySolProgramCLI(chain, "ccip_router")
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Should probably turn this into chain.DeployProgram("ccip_router")

Copy link
Contributor

github-actions bot commented Jan 7, 2025

AER Report: CI Core

aer_workflow , commit , Clean Go Tidy & Generate , Detect Changes , Scheduled Run Frequency , test-scripts , GolangCI Lint (core/scripts) , GolangCI Lint (.) , Core Tests (go_core_tests) , GolangCI Lint (integration-tests) , Core Tests (go_core_tests_integration) , GolangCI Lint (deployment) , Core Tests (go_core_ccip_deployment_tests) , Core Tests (go_core_fuzz) , Core Tests (go_core_race_tests) , lint , SonarQube Scan

1. Error deploying program: No such file or directory (os error 2):[go_core_ccip_deployment_tests]

Source of Error:
Run tests	2025-01-09T08:44:41.7067463Z github.com/smartcontractkit/chainlink/deployment/ccip/changeset.deployChainContractsForChainsSolana.func1
Run tests	2025-01-09T08:44:41.7067997Z 	/home/runner/work/chainlink/chainlink/deployment/ccip/changeset/cs_deploy_chain.go:207
Run tests	2025-01-09T08:44:41.7068254Z golang.org/x/sync/errgroup.(*Group).Go.func1
Run tests	2025-01-09T08:44:41.7068703Z 	/home/runner/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:78
Run tests	2025-01-09T08:44:41.7070327Z logger.go:146: 2025-01-09T08:44:30.927Z	ERROR	changeset/cs_deploy_chain.go:214	Failed to deploy chain contracts	{"version": "unset@unset", "err": "failed to deploy chain contracts for chain 16423721717087811551: failed to deploy program: error deploying program: exit status 1: error: Invalid value for '--program-id <PROGRAM_ID>': No such file or directory (os error 2)\n"}
Run tests	2025-01-09T08:44:41.7070925Z github.com/smartcontractkit/chainlink/deployment/ccip/changeset.deployChainContractsForChainsSolana
Run tests	2025-01-09T08:44:41.7071445Z 	/home/runner/work/chainlink/chainlink/deployment/ccip/changeset/cs_deploy_chain.go:214
Run tests	2025-01-09T08:44:41.7071964Z github.com/smartcontractkit/chainlink/deployment/ccip/changeset.DeployChainContractsSolana
Run tests	2025-01-09T08:44:41.7072478Z 	/home/runner/work/chainlink/chainlink/deployment/ccip/changeset/cs_deploy_chain.go:66
Run tests	2025-01-09T08:44:41.7073408Z github.com/smartcontractkit/chainlink/deployment/ccip/changeset.TestDeployChainContractsChangesetSolana.WrapChangeSet[...].func3
Run tests	2025-01-09T08:44:41.7073926Z 	/home/runner/work/chainlink/chainlink/deployment/common/changeset/test_helpers.go:28
Run tests	2025-01-09T08:44:41.7074385Z github.com/smartcontractkit/chainlink/deployment/common/changeset.ApplyChangesets
Run tests	2025-01-09T08:44:41.7074895Z 	/home/runner/work/chainlink/chainlink/deployment/common/changeset/test_helpers.go:39
Run tests	2025-01-09T08:44:42.5288662Z github.com/smartcontractkit/chainlink/deployment/ccip/changeset.TestDeployChainContractsChangesetSolana
Run tests	2025-01-09T08:44:42.5290071Z 	/home/runner/work/chainlink/chainlink/deployment/ccip/changeset/cs_deploy_chain_test.go:134
Run tests	2025-01-09T08:44:42.5291215Z testing.tRunner
Run tests	2025-01-09T08:44:42.5291892Z 	/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:1690
Run tests	2025-01-09T08:44:42.5292422Z cs_deploy_chain_test.go:180: 
Run tests	2025-01-09T08:44:42.5293434Z 	Error Trace:	/home/runner/work/chainlink/chainlink/deployment/ccip/changeset/cs_deploy_chain_test.go:180
Run tests	2025-01-09T08:44:42.5294228Z 	Error: 	Received unexpected error:
Run tests	2025-01-09T08:44:42.5297051Z 	 	failed to apply changeset at index 2: failed to deploy chain contracts for chain 16423721717087811551: failed to deploy program: error deploying program: exit status 1: error: Invalid value for '--program-id <PROGRAM_ID>': No such file or directory (os error 2)
Run tests	2025-01-09T08:44:42.5298271Z 	Test: 	TestDeployChainContractsChangesetSolana
Run tests	2025-01-09T08:44:42.5298590Z FAIL
Run tests	2025-01-09T08:44:42.5299040Z FAIL	github.com/smartcontractkit/chainlink/deployment/ccip/changeset	84.782s

Why: The error indicates that the deployment process is attempting to use a program ID that does not exist or cannot be found in the specified directory. This is likely due to a missing or incorrectly specified program ID file.

Suggested fix: Ensure that the program ID file exists in the specified directory and that the path to the file is correctly specified in the deployment script.

2. Error deploying program: Invalid value for '--program-id <PROGRAM_ID>': No such file or directory (os error 2):[go_core_ccip_deployment_tests]

Source of Error:
Run tests	2025-01-09T08:44:42.5311048Z --- FAIL: TestDeployProgram (16.94s)
Run tests	2025-01-09T08:44:42.5311429Z environment.go:198: Creating solana chain
Run tests	2025-01-09T08:44:42.5311797Z environment.go:201: Spinning up devnet
Run tests	2025-01-09T08:44:42.5312354Z environment.go:202: solana-test-validator is ready at http://127.0.0.1:25007
Run tests	2025-01-09T08:44:42.5313497Z deploy_link_token_sol_test.go:98: Failed to deploy program: error deploying program: exit status 1: error: Invalid value for '--program-id <PROGRAM_ID>': No such file or directory (os error 2)

Why: The error indicates that the deployment process is attempting to use a program ID that does not exist or cannot be found in the specified directory. This is likely due to a missing or incorrectly specified program ID file.

Suggested fix: Ensure that the program ID file exists in the specified directory and that the path to the file is correctly specified in the deployment script.

3. Panic: decode: zero length string:[go_core_ccip_deployment_tests]

Source of Error:
Run tests	2025-01-09T08:44:42.5317194Z panic: decode: zero length string [recovered]
Run tests	2025-01-09T08:44:42.5317522Z 	panic: decode: zero length string
Run tests	2025-01-09T08:44:42.5317693Z 
Run tests	2025-01-09T08:44:42.5317813Z goroutine 3226 [running]:
Run tests	2025-01-09T08:44:42.5318141Z testing.tRunner.func1.2({0x4426c00, 0xc003361520})
Run tests	2025-01-09T08:44:42.5318615Z 	/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:1632 +0x230
Run tests	2025-01-09T08:44:42.5318988Z testing.tRunner.func1()
Run tests	2025-01-09T08:44:42.5319384Z 	/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:1635 +0x35e
Run tests	2025-01-09T08:44:42.5319784Z panic({0x4426c00?, 0xc003361520?})
Run tests	2025-01-09T08:44:42.5320193Z 	/opt/hostedtoolcache/go/1.23.4/x64/src/runtime/panic.go:785 +0x132
Run tests	2025-01-09T08:44:42.5320713Z github.com/gagliardetto/solana-go.MustPublicKeyFromBase58(...)
Run tests	2025-01-09T08:44:42.5321268Z 	/home/runner/go/pkg/mod/github.com/gagliardetto/[email protected]/keys.go:183
Run tests	2025-01-09T08:44:42.5322031Z github.com/smartcontractkit/chainlink/deployment/common/changeset_test.TestCcipRouterDeploy(0xc0038261a0)
Run tests	2025-01-09T08:44:42.5322913Z 	/home/runner/work/chainlink/chainlink/deployment/common/changeset/deploy_link_token_sol_test.go:166 +0x8eb
Run tests	2025-01-09T08:44:42.5323493Z testing.tRunner(0xc0038261a0, 0x50e5ed8)
Run tests	2025-01-09T08:44:42.5323934Z 	/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:1690 +0xf4
Run tests	2025-01-09T08:44:42.5324366Z created by testing.(*T).Run in goroutine 1
Run tests	2025-01-09T08:44:42.5324806Z 	/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:1743 +0x390

Why: The panic is caused by attempting to decode a zero-length string into a Solana public key. This indicates that an expected value was not provided or was empty.

Suggested fix: Ensure that all required values, especially those that are being decoded into public keys, are provided and are not empty.

4. Error: port is already allocated:[go_core_ccip_deployment_tests]

Source of Error:
Run tests	2025-01-09T08:44:42.5333441Z environment.go:202: 
Run tests	2025-01-09T08:44:42.5334142Z 	Error Trace:	/home/runner/work/chainlink/chainlink/deployment/environment/memory/chain.go:132
Run tests	2025-01-09T08:44:42.5335451Z 	 				/home/runner/work/chainlink/chainlink/deployment/environment/memory/environment.go:202
Run tests	2025-01-09T08:44:42.5336738Z 	 				/home/runner/work/chainlink/chainlink/deployment/environment/memory/environment.go:173
Run tests	2025-01-09T08:44:42.5338130Z 	 				/home/runner/work/chainlink/chainlink/deployment/common/changeset/example/link_transfer_test.go:34
Run tests	2025-01-09T08:44:42.5339584Z 	 				/home/runner/work/chainlink/chainlink/deployment/common/changeset/example/link_transfer_test.go:140
Run tests	2025-01-09T08:44:42.5340208Z 	Error: 	Received unexpected error:
Run tests	2025-01-09T08:44:42.5343008Z 	 	start container: container start: Error response from daemon: driver failed programming external connectivity on endpoint blockchain-node-8d0cc (1766fb96737810be71713bf2f66efa44cb265187e1709ac1a084ce58f8909c02): Bind for 0.0.0.0:13006 failed: port is already allocated
Run tests	2025-01-09T08:44:42.5344283Z 	Test: 	TestLinkTransfer
Run tests	2025-01-09T08:44:42.5344756Z [DEBUG] freeport: Test "TestLinkTransferMCMS" returned ports [13007]
Run tests	2025-01-09T08:44:42.5345169Z --- FAIL: TestLinkTransferMCMS (0.43s)
Run tests	2025-01-09T08:44:42.5345518Z environment.go:172: Created chains
Run tests	2025-01-09T08:44:42.5345872Z environment.go:198: Creating solana chain
Run tests	2025-01-09T08:44:42.5346239Z environment.go:201: Spinning up devnet
Run tests	2025-01-09T08:44:42.5346558Z environment.go:202: 
Run tests	2025-01-09T08:44:42.5347265Z 	Error Trace:	/home/runner/work/chainlink/chainlink/deployment/environment/memory/chain.go:132
Run tests	2025-01-09T08:44:42.5348559Z 	 				/home/runner/work/chainlink/chainlink/deployment/environment/memory/environment.go:202
Run tests	2025-01-09T08:44:42.5349838Z 	 				/home/runner/work/chainlink/chainlink/deployment/environment/memory/environment.go:173
Run tests	2025-01-09T08:44:42.5351231Z 	 				/home/runner/work/chainlink/chainlink/deployment/common/changeset/example/link_transfer_test.go:34
Run tests	2025-01-09T08:44:42.5352665Z 	 				/home/runner/work/chainlink/chainlink/deployment/common/changeset/example/link_transfer_test.go:66
Run tests	2025-01-09T08:44:42.5353283Z 	Error: 	Received unexpected error:
Run tests	2025-01-09T08:44:42.5355828Z 	 	start container: container start: Error response from daemon: driver failed programming external connectivity on endpoint blockchain-node-91366 (a437d98877debb9b1d59ab6e2dd408dd2618a511f4b78cf0dd6e4e92fcb273c4): Bind for 0.0.0.0:13007 failed: port is already allocated
Run tests	2025-01-09T08:44:42.5357235Z 	Test: 	TestLinkTransferMCMS

Why: The error indicates that the specified port is already in use by another process, preventing the container from starting.

Suggested fix: Ensure that the ports required for the tests are free before starting the tests. You may need to modify the test setup to dynamically allocate available ports or ensure that previous tests release the ports properly.

5. Panic: freeport: cannot allocate port block:[go_core_ccip_deployment_tests]

Source of Error:
Run tests	2025-01-09T08:44:42.9578933Z panic: freeport: cannot allocate port block [recovered]
Run tests	2025-01-09T08:44:42.9579328Z 	panic: freeport: cannot allocate port block
Run tests	2025-01-09T08:44:42.9579532Z 
Run tests	2025-01-09T08:44:42.9579656Z goroutine 421 [running]:
Run tests	2025-01-09T08:44:42.9579983Z testing.tRunner.func1.2({0x4216940, 0x563a640})
Run tests	2025-01-09T08:44:42.9580458Z 	/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:1632 +0x230
Run tests	2025-01-09T08:44:42.9581136Z testing.tRunner.func1()
Run tests	2025-01-09T08:44:42.9581601Z 	/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:1635 +0x35e
Run tests	2025-01-09T08:44:42.9582023Z panic({0x4216940?, 0x563a640?})
Run tests	2025-01-09T08:44:42.9582431Z 	/opt/hostedtoolcache/go/1.23.4/x64/src/runtime/panic.go:785 +0x132
Run tests	2025-01-09T08:44:42.9582899Z github.com/hashicorp/consul/sdk/freeport.alloc()
Run tests	2025-01-09T08:44:42.9583487Z 	/home/runner/go/pkg/mod/github.com/hashicorp/consul/[email protected]/freeport/freeport.go:274 +0xad
Run tests	2025-01-09T08:44:42.9584062Z github.com/hashicorp/consul/sdk/freeport.initialize()
Run tests	2025-01-09T08:44:42.958
</cicore>
  
    











<operatoruici>

## AER Report: [Operator UI CI](https://github.com/smartcontractkit/chainlink/actions/runs/12686361280) ran successfully :white_check_mark:

[aer_workflow](https://github.com/smartcontractkit/chainlink/actions/runs/12686380841/job/35358594611) , [commit](https://github.com/smartcontractkit/chainlink/commit/04219aefb0a077838eed24c6ae21c6596e039080)

</operatoruici>

@archseer archseer force-pushed the deployment-memory-solana branch 3 times, most recently from 7a5f109 to 3d4a248 Compare January 8, 2025 07:43
@archseer archseer force-pushed the deployment-memory-solana branch 2 times, most recently from 5b0fd2d to 3374431 Compare January 8, 2025 08:15
@archseer archseer force-pushed the deployment-memory-solana branch from 3374431 to 75bf435 Compare January 8, 2025 08:17
Copy link
Contributor

github-actions bot commented Jan 9, 2025

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.

@archseer archseer force-pushed the deployment-memory-solana branch from c47f4a0 to 04219ae Compare January 9, 2025 08:39
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.

2 participants