Skip to content

Commit 44c7574

Browse files
Disable Solana non-LOOP mode (#22139)
* step 1, remove option for non-LOOP mode * do not use hard coded cmd * rm non-LOOPP solana e2e test * update CI * add Solana loop for failing test * refactor solana core test into integration with LOOP plugin * refactor test * fix lint * move refactor and remove solana from non-loop health report * revert removal, only remove solana * rm no plugin test * update comment * test: align solana interoperator test with cosmos/starknet pattern * refactor solana relay config to use raw unwrapped * mod tidy * fix test * use default cmd * fix * fix test * add test env var back * update yml again with plugin fix * delete solana config as raw config test is covered * add missing fields back * remove the old code added accidentally * revert test modification * mod tidy
1 parent d4e0e05 commit 44c7574

53 files changed

Lines changed: 476 additions & 1499 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/integration-in-memory-tests.yml

Lines changed: 16 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -54,22 +54,6 @@ runner-test-matrix:
5454
-- -v -run "Test_CCIPMessaging_EVM2EVM" -timeout 18m -count=1 -parallel=4 ./smoke/ccip
5555
test_go_project_path: integration-tests
5656

57-
- id: smoke/ccip/ccip_messaging_test.go:Test_CCIPMessaging_EVM2Solana
58-
path: integration-tests/smoke/ccip/ccip_messaging_test.go
59-
test_env_type: in-memory
60-
runs_on: ubuntu-latest
61-
runs_on_self_hosted: runs-on/cpu=8/ram=32/family=m6i+m5.*/spot=false/image=ubuntu24-full-x64/extras=s3-cache+tmpfs
62-
triggers:
63-
- PR Integration CCIP Tests
64-
- Nightly Integration CCIP Tests
65-
test_cmd: |
66-
gotestsum \
67-
--junitfile=/tmp/junit.xml \
68-
--jsonfile=/tmp/gotest.log \
69-
--format=github-actions \
70-
-- -v -run "Test_CCIPMessaging_EVM2Solana" -timeout 18m -count=1 -parallel=4 ./smoke/ccip
71-
test_go_project_path: integration-tests
72-
7357
- id: smoke/ccip/ccip_messaging_test.go:Test_CCIPMessaging_EVM2Solana_LOOPP
7458
path: integration-tests/smoke/ccip/ccip_messaging_test.go
7559
test_env_type: in-memory
@@ -86,24 +70,6 @@ runner-test-matrix:
8670
-- -v -run "Test_CCIPMessaging_EVM2Solana" -timeout 18m -count=1 -parallel=4 ./smoke/ccip
8771
test_go_project_path: integration-tests
8872
install_plugins_public: true
89-
test_env_vars:
90-
CL_SOLANA_CMD: chainlink-solana
91-
92-
- id: smoke/ccip/ccip_messaging_test.go:Test_CCIPMessaging_Solana2EVM
93-
path: integration-tests/smoke/ccip/ccip_messaging_test.go
94-
test_env_type: in-memory
95-
runs_on: ubuntu-latest
96-
runs_on_self_hosted: runs-on/cpu=8/ram=32/family=m6i+m5.*/spot=false/image=ubuntu24-full-x64/extras=s3-cache+tmpfs
97-
triggers:
98-
- PR Integration CCIP Tests
99-
- Nightly Integration CCIP Tests
100-
test_cmd: |
101-
gotestsum \
102-
--junitfile=/tmp/junit.xml \
103-
--jsonfile=/tmp/gotest.log \
104-
--format=github-actions \
105-
-- -v -run "Test_CCIPMessaging_Solana2EVM" -timeout 18m -count=1 -parallel=4 ./smoke/ccip
106-
test_go_project_path: integration-tests
10773

10874
- id: smoke/ccip/ccip_messaging_test.go:Test_CCIPMessaging_Solana2EVM_LOOPP
10975
path: integration-tests/smoke/ccip/ccip_messaging_test.go
@@ -121,8 +87,6 @@ runner-test-matrix:
12187
-- -v -run "Test_CCIPMessaging_Solana2EVM" -timeout 18m -count=1 -parallel=4 ./smoke/ccip
12288
test_go_project_path: integration-tests
12389
install_plugins_public: true
124-
test_env_vars:
125-
CL_SOLANA_CMD: chainlink-solana
12690

12791
- id: smoke/ccip/ccip_messaging_test.go:Test_CCIPMessaging_Revert_EVM2Solana_LOOPP
12892
path: integration-tests/smoke/ccip/ccip_messaging_test.go
@@ -140,8 +104,6 @@ runner-test-matrix:
140104
-- -v -run "Test_CCIPMessaging_Revert_EVM2Solana" -timeout 18m -count=1 -parallel=4 ./smoke/ccip
141105
test_go_project_path: integration-tests
142106
install_plugins_public: true
143-
test_env_vars:
144-
CL_SOLANA_CMD: chainlink-solana
145107

146108
- id: smoke/ccip/ccip_messaging_test.go:Test_CCIPMessaging_MultiExecReports_EVM2Solana
147109
path: integration-tests/smoke/ccip/ccip_messaging_test.go
@@ -399,6 +361,7 @@ runner-test-matrix:
399361
--format=github-actions \
400362
-- -v -run ".*" -timeout 16m -count=1 -parallel=2 smoke/ccip/ccip_token_transfer_test.go
401363
test_go_project_path: integration-tests
364+
install_plugins_public: true
402365

403366
- id: smoke/ccip/ccip_token_transfer_test.go:*_LOOPP
404367
path: integration-tests/smoke/ccip/ccip_token_transfer_test.go
@@ -416,8 +379,6 @@ runner-test-matrix:
416379
-- -v -run ".*" -timeout 16m -count=1 -parallel=2 smoke/ccip/ccip_token_transfer_test.go
417380
test_go_project_path: integration-tests
418381
install_plugins_public: true
419-
test_env_vars:
420-
CL_SOLANA_CMD: chainlink-solana
421382

422383
- id: smoke/ccip/ccip_cs_update_rmn_config_test.go:*
423384
path: integration-tests/smoke/ccip/ccip_cs_update_rmn_config_test.go
@@ -449,6 +410,7 @@ runner-test-matrix:
449410
--format=github-actions \
450411
-- -v -run "^TestRMNCurse$" -timeout 20m -count=1 -parallel=4 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
451412
test_go_project_path: integration-tests
413+
install_plugins_public: true
452414

453415
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNCurseUncurseAptos
454416
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -482,6 +444,7 @@ runner-test-matrix:
482444
--format=github-actions \
483445
-- -v -run "^TestRMNCurseMCMS$" -timeout 20m -count=1 -parallel=4 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
484446
test_go_project_path: integration-tests
447+
install_plugins_public: true
485448

486449
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNCurseBypass
487450
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -498,6 +461,7 @@ runner-test-matrix:
498461
--format=github-actions \
499462
-- -v -run "^TestRMNCurseBypass$" -timeout 20m -count=1 -parallel=4 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
500463
test_go_project_path: integration-tests
464+
install_plugins_public: true
501465

502466
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNCurseIdempotent
503467
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -513,6 +477,7 @@ runner-test-matrix:
513477
--format=github-actions \
514478
-- -v -run "^TestRMNCurseIdempotent$" -timeout 20m -count=1 -parallel=4 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
515479
test_go_project_path: integration-tests
480+
install_plugins_public: true
516481

517482
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNUncurseIdempotent
518483
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -528,6 +493,7 @@ runner-test-matrix:
528493
--format=github-actions \
529494
-- -v -run "^TestRMNUncurseIdempotent$" -timeout 20m -count=1 -parallel=4 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
530495
test_go_project_path: integration-tests
496+
install_plugins_public: true
531497

532498
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNUncurse
533499
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -544,6 +510,7 @@ runner-test-matrix:
544510
--format=github-actions \
545511
-- -v -run "^TestRMNUncurse$" -timeout 20m -count=1 -parallel=4 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
546512
test_go_project_path: integration-tests
513+
install_plugins_public: true
547514

548515
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNUncurseMCMS
549516
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -560,6 +527,7 @@ runner-test-matrix:
560527
--format=github-actions \
561528
-- -v -run "^TestRMNUncurseMCMS$" -timeout 20m -count=1 -parallel=4 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
562529
test_go_project_path: integration-tests
530+
install_plugins_public: true
563531

564532
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNUncurseBypass
565533
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -576,6 +544,7 @@ runner-test-matrix:
576544
--format=github-actions \
577545
-- -v -run "^TestRMNUncurseBypass$" -timeout 20m -count=1 -parallel=4 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
578546
test_go_project_path: integration-tests
547+
install_plugins_public: true
579548

580549
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNCurseConfigValidate
581550
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -592,6 +561,7 @@ runner-test-matrix:
592561
--format=github-actions \
593562
-- -v -run "^TestRMNCurseConfigValidate$" -timeout 20m -count=1 -parallel=2 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
594563
test_go_project_path: integration-tests
564+
install_plugins_public: true
595565

596566
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNCurseNoConnectedLanes
597567
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -607,6 +577,7 @@ runner-test-matrix:
607577
--format=github-actions \
608578
-- -v -run "^TestRMNCurseNoConnectedLanes$" -timeout 20m -count=1 -parallel=1 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
609579
test_go_project_path: integration-tests
580+
install_plugins_public: true
610581

611582
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNCurseOneConnectedLanes
612583
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -622,6 +593,7 @@ runner-test-matrix:
622593
--format=github-actions \
623594
-- -v -run "^TestRMNCurseOneConnectedLanes$" -timeout 20m -count=1 -parallel=1 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
624595
test_go_project_path: integration-tests
596+
install_plugins_public: true
625597

626598
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNCurseOneConnectedLanesSolana
627599
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -637,6 +609,7 @@ runner-test-matrix:
637609
--format=github-actions \
638610
-- -v -run "^TestRMNCurseOneConnectedLanesSolana$" -timeout 20m -count=1 -parallel=1 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
639611
test_go_project_path: integration-tests
612+
install_plugins_public: true
640613

641614
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNCurseOneConnectedLanesGlobalOnly
642615
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -652,6 +625,7 @@ runner-test-matrix:
652625
--format=github-actions \
653626
-- -v -run "^TestRMNCurseOneConnectedLanesGlobalOnly$" -timeout 20m -count=1 -parallel=1 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
654627
test_go_project_path: integration-tests
628+
install_plugins_public: true
655629

656630
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNCurseOneConnectedLanesLaneOnlyOnSource
657631
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -667,6 +641,7 @@ runner-test-matrix:
667641
--format=github-actions \
668642
-- -v -run "^TestRMNCurseOneConnectedLanesLaneOnlyOnSource$" -timeout 20m -count=1 -parallel=1 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
669643
test_go_project_path: integration-tests
644+
install_plugins_public: true
670645

671646
- id: smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go:TestRMNUncurseForceOption
672647
path: integration-tests/smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
@@ -683,6 +658,7 @@ runner-test-matrix:
683658
--format=github-actions \
684659
-- -v -run "^TestRMNUncurseForceOption$" -timeout 20m -count=1 -parallel=4 smoke/ccip/ccip_cs_rmn_curse_uncurse_test.go
685660
test_go_project_path: integration-tests
661+
install_plugins_public: true
686662

687663
- id: smoke/ccip/ccip_disable_lane_test.go:*
688664
path: integration-tests/smoke/ccip/ccip_disable_lane_test.go

core/capabilities/ccip/ccipsolana/pluginconfig.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ import (
66
"github.com/smartcontractkit/chainlink-common/pkg/logger"
77
"github.com/smartcontractkit/chainlink-common/pkg/types/ccip/consts"
88
"github.com/smartcontractkit/chainlink-common/pkg/types/ccipocr3"
9-
"github.com/smartcontractkit/chainlink/v2/core/config/env"
10-
119
ccipcommon "github.com/smartcontractkit/chainlink/v2/core/capabilities/ccip/common"
1210
"github.com/smartcontractkit/chainlink/v2/core/capabilities/ccip/ocrimpls"
1311
)
@@ -26,7 +24,7 @@ func InitializePluginConfig(lggr logger.Logger, extraDataCodec ccipocr3.ExtraDat
2624
ChainRW: ChainRWProvider{},
2725
ExtraDataCodec: ExtraDataDecoder{},
2826
PriceOnlyCommitFn: consts.MethodCommitPriceOnly,
29-
CCIPProviderSupported: env.SolanaPlugin.Cmd.Get() != "",
27+
CCIPProviderSupported: true,
3028
}
3129
}
3230

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
//go:build integration
2+
3+
package cmd_test
4+
5+
import (
6+
"flag"
7+
"testing"
8+
9+
"github.com/stretchr/testify/require"
10+
"github.com/urfave/cli"
11+
12+
"github.com/smartcontractkit/chainlink/v2/core/services/chainlink"
13+
)
14+
15+
func Test_ReplayFromBlock_Solana(t *testing.T) {
16+
t.Parallel()
17+
18+
chain := chainlink.RawConfig{
19+
"ChainID": "devnet",
20+
"Enabled": true,
21+
"Nodes": []map[string]any{{
22+
"Name": "primary",
23+
"URL": "http://solana.example",
24+
}},
25+
}
26+
app := solanaStartNewApplication(t, chain)
27+
client, _ := app.NewShellAndRenderer()
28+
29+
set := flag.NewFlagSet("test", 0)
30+
flagSetApplyFromAction(client.ReplayFromBlock, set, "")
31+
32+
require.NoError(t, set.Set("block-number", "1"))
33+
require.NoError(t, set.Set("chain-id", "devnet"))
34+
require.NoError(t, set.Set("family", "solana"))
35+
c := cli.NewContext(nil, set, nil)
36+
require.NoError(t, client.ReplayFromBlock(c))
37+
}

core/cmd/blocks_commands_test.go

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"github.com/urfave/cli"
1010

1111
"github.com/smartcontractkit/chainlink-common/pkg/sqlutil"
12-
"github.com/smartcontractkit/chainlink-solana/pkg/solana/config"
1312
"github.com/smartcontractkit/chainlink/v2/core/services/chainlink"
1413
)
1514

@@ -19,13 +18,6 @@ func Test_ReplayFromBlock(t *testing.T) {
1918
app := startNewApplicationV2(t, func(c *chainlink.Config, s *chainlink.Secrets) {
2019
c.EVM[0].ChainID = (*sqlutil.Big)(big.NewInt(5))
2120
c.EVM[0].Enabled = ptr(true)
22-
23-
solCfg := &config.TOMLConfig{
24-
ChainID: ptr("devnet"),
25-
Enabled: ptr(true),
26-
}
27-
solCfg.SetDefaults()
28-
c.Solana = config.TOMLConfigs{solCfg}
2921
})
3022

3123
client, _ := app.NewShellAndRenderer()
@@ -59,14 +51,6 @@ func Test_ReplayFromBlock(t *testing.T) {
5951
c := cli.NewContext(nil, set, nil)
6052
require.NoError(t, client.ReplayFromBlock(c))
6153
})
62-
63-
t.Run("solana replay", func(t *testing.T) {
64-
require.NoError(t, set.Set("block-number", "1"))
65-
require.NoError(t, set.Set("chain-id", "devnet"))
66-
require.NoError(t, set.Set("family", "solana"))
67-
c := cli.NewContext(nil, set, nil)
68-
require.NoError(t, client.ReplayFromBlock(c))
69-
})
7054
}
7155

7256
func Test_FindLCA(t *testing.T) {

core/cmd/chains_commands_integration_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"github.com/smartcontractkit/chainlink/v2/core/cmd"
1212
"github.com/smartcontractkit/chainlink/v2/core/internal/cltest"
1313
"github.com/smartcontractkit/chainlink/v2/core/internal/testutils/cosmostest"
14+
"github.com/smartcontractkit/chainlink/v2/core/internal/testutils/solanatest"
1415
"github.com/smartcontractkit/chainlink/v2/core/services/chainlink"
1516
)
1617

@@ -35,3 +36,26 @@ func TestShell_IndexCosmosChains(t *testing.T) {
3536
assert.Equal(t, chainID, c.ID)
3637
assertTableRenders(t, r)
3738
}
39+
40+
func TestShell_IndexSolanaChains(t *testing.T) {
41+
t.Parallel()
42+
43+
id := solanatest.RandomChainID()
44+
chain := chainlink.RawConfig{
45+
"ChainID": id,
46+
"Enabled": true,
47+
"Nodes": []map[string]any{{
48+
"Name": "primary",
49+
"URL": "http://solana.example",
50+
}},
51+
}
52+
app := solanaStartNewApplication(t, chain)
53+
client, r := app.NewShellAndRenderer()
54+
55+
require.NoError(t, cmd.NewChainClient(client, "solana").IndexChains(cltest.EmptyCLIContext()))
56+
chains := *r.Renders[0].(*cmd.ChainPresenters)
57+
require.Len(t, chains, 1)
58+
c := chains[0]
59+
assert.Equal(t, id, c.ID)
60+
assertTableRenders(t, r)
61+
}

core/cmd/chains_commands_test.go

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,11 @@ import (
77
"github.com/stretchr/testify/assert"
88
"github.com/stretchr/testify/require"
99

10-
solcfg "github.com/smartcontractkit/chainlink-solana/pkg/solana/config"
11-
1210
"github.com/smartcontractkit/chainlink-common/pkg/sqlutil"
1311
client2 "github.com/smartcontractkit/chainlink-evm/pkg/client"
1412
"github.com/smartcontractkit/chainlink/v2/core/cmd"
1513
"github.com/smartcontractkit/chainlink/v2/core/internal/cltest"
1614
"github.com/smartcontractkit/chainlink/v2/core/internal/testutils"
17-
"github.com/smartcontractkit/chainlink/v2/core/internal/testutils/solanatest"
1815
"github.com/smartcontractkit/chainlink/v2/core/services/chainlink"
1916
)
2017

@@ -39,22 +36,3 @@ func TestShell_IndexEVMChains(t *testing.T) {
3936
assert.Equal(t, strconv.Itoa(client2.NullClientChainID), c.ID)
4037
assertTableRenders(t, r)
4138
}
42-
43-
func TestShell_IndexSolanaChains(t *testing.T) {
44-
t.Parallel()
45-
46-
id := solanatest.RandomChainID()
47-
cfg := solcfg.TOMLConfig{
48-
ChainID: &id,
49-
Enabled: ptr(true),
50-
}
51-
app := solanaStartNewApplication(t, &cfg)
52-
client, r := app.NewShellAndRenderer()
53-
54-
require.NoError(t, cmd.NewChainClient(client, "solana").IndexChains(cltest.EmptyCLIContext()))
55-
chains := *r.Renders[0].(*cmd.ChainPresenters)
56-
require.Len(t, chains, 1)
57-
c := chains[0]
58-
assert.Equal(t, id, c.ID)
59-
assertTableRenders(t, r)
60-
}

0 commit comments

Comments
 (0)