Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
88ea060
Use branch-out for flake protection
kalverra Feb 6, 2026
3e2f367
Debug format flag
kalverra Feb 6, 2026
d543679
Fix run command
kalverra Feb 6, 2026
663df6b
Use commit
kalverra Feb 6, 2026
0076358
Debug
kalverra Feb 6, 2026
be7ff2d
Fix directory path
kalverra Feb 6, 2026
5bb4b96
Typo
kalverra Feb 6, 2026
a6f0f5e
Use -C
kalverra Feb 6, 2026
08d1c0d
Use GOFLAGS
kalverra Feb 6, 2026
0d12486
Use simpler action
kalverra Feb 13, 2026
eb21a82
DB URL
kalverra Feb 13, 2026
5f93c7f
Working directory
kalverra Feb 13, 2026
387e71f
Fix run flag
kalverra Feb 13, 2026
760bd61
Merge branch 'main' of github.com:smartcontractkit/chainlink-ccip int…
kalverra Feb 13, 2026
e7e0d70
Continue on error
kalverra Feb 13, 2026
23cf0aa
&&
kalverra Feb 13, 2026
6765e14
Specify run
kalverra Feb 13, 2026
0b6e60d
Fix format
kalverra Feb 13, 2026
2e675a3
Fix slug
kalverra Feb 13, 2026
7eca4e4
Debug
kalverra Feb 13, 2026
5583a39
Fix path
kalverra Feb 13, 2026
7c9a76a
Run deployments check on workflow file change
kalverra Feb 19, 2026
566db89
Merge branch 'main' of github.com:smartcontractkit/chainlink-ccip int…
kalverra Feb 19, 2026
db89fd0
gotestsum install
kalverra Feb 19, 2026
22de1d2
Fix if checks
kalverra Feb 19, 2026
1c39f1d
Actually setup Go properly
kalverra Feb 20, 2026
013dd19
Fix paths
kalverra Feb 20, 2026
2a1f4b1
Format
kalverra Feb 20, 2026
6fdaa78
Merge branch 'main' of github.com:smartcontractkit/chainlink-ccip int…
kalverra Feb 20, 2026
c0e7da1
Remove broken tests
kalverra Feb 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 77 additions & 39 deletions .github/workflows/ccip-integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
merge_group:
push:
branches:
- 'main'
- "main"

jobs:
changes:
Expand Down Expand Up @@ -36,47 +36,81 @@
# We explicitly have this env var not be "CL_DATABASE_URL" to avoid having it be used by core related tests
# when they should not be using it, while still allowing us to DRY up the setup
DB_URL: postgresql://postgres:postgres@localhost:5432/chainlink_test?sslmode=disable

strategy:
fail-fast: false
matrix:
type:
- cmd: cd integration-tests/smoke/ccip && go test ccip_fees_test.go -timeout 12m -test.parallel=2 -count=1 -json
name: "Fees Test"
- cmd: cd integration-tests/smoke/ccip && go test -run "TestTokenTransfer_EVM2EVM" ccip_token_transfer_test.go -timeout 12m -test.parallel=1 -count=1 -json
name: "Token Transfer Test"
- cmd: cd integration-tests/smoke/ccip && go test ccip_usdc_test.go -timeout 12m -test.parallel=1 -count=1 -json
name: "USDC Test"
- cmd: cd integration-tests/smoke/ccip && go test ccip_ooo_execution_test.go -timeout 12m -test.parallel=1 -count=1 -json
name: "OOO Execution Test"
- cmd: cd integration-tests/smoke/ccip && go test -run "^Test_CCIPMessaging_EVM2EVM$" ccip_messaging_test.go -timeout 20m -test.parallel=2 -count=1 -json
name: "Messaging Test Test_CCIPMessaging_EVM2EVM"
- cmd: cd integration-tests/smoke/ccip && go test -run "^Test_CCIPMessaging_EVM2Solana$" ccip_messaging_test.go -timeout 30m -test.parallel=2 -count=1 -json
name: "Messaging Test Test_CCIPMessaging_EVM2Solana"
- cmd: cd integration-tests/smoke/ccip && go test -run "^Test_CCIPMessaging_Solana2EVM$" ccip_messaging_test.go -timeout 30m -test.parallel=2 -count=1 -json
name: "Messaging Test Test_CCIPMessaging_Solana2EVM"
- cmd: cd integration-tests/smoke/ccip && go test -run "^Test_CCIPMessaging_EVM2SolanaMultiExecReports$" ccip_messaging_test.go -timeout 35m -test.parallel=1 -count=1 -json
name: "Messaging Test Test_CCIPMessaging_EVM2SolanaMultiExecReports"
- cmd: cd integration-tests/smoke/ccip && go test -run "Test_CCIPBatching_MaxBatchSizeEVM" ccip_batching_test.go -timeout 12m -test.parallel=1 -count=1 -json
name: "Batching Test Test_CCIPBatching_MaxBatchSizeEVM"
- cmd: cd integration-tests/smoke/ccip && go test -run "^Test_CCIPBatching_MultiSource$" ccip_batching_test.go -timeout 12m -test.parallel=1 -count=1 -json
name: "Batching Test Test_CCIPBatching_MultiSource"
- cmd: cd integration-tests/smoke/ccip && go test -run "Test_CCIPBatching_MultiSource_MultiRoot" ccip_batching_test.go -timeout 12m -test.parallel=1 -count=1 -json
name: "Batching Test Test_CCIPBatching_MultiSource_MultiRoot"
- cmd: cd integration-tests/smoke/ccip && go test -run "^Test_CCIPBatching_SingleSource$" ccip_batching_test.go -timeout 12m -test.parallel=1 -count=1 -json
name: "Batching Test Test_CCIPBatching_SingleSource"
- cmd: cd integration-tests/smoke/ccip && go test -run "Test_CCIPBatching_SingleSource_MultiRoot" ccip_batching_test.go -timeout 12m -test.parallel=1 -count=1 -json
name: "Batching Test Test_CCIPBatching_SingleSource_MultiRoot"
- cmd: cd integration-tests/smoke/ccip && go test ccip_gas_price_updates_test.go -timeout 12m -test.parallel=2 -count=1 -json
name: "Gas Price Updates Test"
- name: "Fees Test"
file: ccip_fees_test.go
run: ""
timeout: 12m
- name: "Token Transfer Test"
file: ccip_token_transfer_test.go
run: "TestTokenTransfer_EVM2EVM"
timeout: 12m
- name: "USDC Test"
file: ccip_usdc_test.go
run: ""
timeout: 12m
- name: "OOO Execution Test"
file: ccip_ooo_execution_test.go
run: ""
timeout: 12m
- name: "Messaging Test Test_CCIPMessaging_EVM2EVM"
file: ccip_messaging_test.go
run: "^Test_CCIPMessaging_EVM2EVM$"
timeout: 20m
- name: "Messaging Test Test_CCIPMessaging_EVM2Solana"
file: ccip_messaging_test.go
run: "^Test_CCIPMessaging_EVM2Solana$"
timeout: 30m
- name: "Messaging Test Test_CCIPMessaging_Solana2EVM"
file: ccip_messaging_test.go
run: "^Test_CCIPMessaging_Solana2EVM$"
timeout: 30m
- name: "Messaging Test Test_CCIPMessaging_EVM2SolanaMultiExecReports"
file: ccip_messaging_test.go
run: "^Test_CCIPMessaging_EVM2SolanaMultiExecReports$"
timeout: 35m
- name: "Batching Test Test_CCIPBatching_MaxBatchSizeEVM"
file: ccip_batching_test.go
run: "Test_CCIPBatching_MaxBatchSizeEVM"
timeout: 12m
- name: "Batching Test Test_CCIPBatching_MultiSource"
file: ccip_batching_test.go
run: "^Test_CCIPBatching_MultiSource$"
timeout: 12m
- name: "Batching Test Test_CCIPBatching_MultiSource_MultiRoot"
file: ccip_batching_test.go
run: "Test_CCIPBatching_MultiSource_MultiRoot"
timeout: 12m
- name: "Batching Test Test_CCIPBatching_SingleSource"
file: ccip_batching_test.go
run: "^Test_CCIPBatching_SingleSource$"
timeout: 12m
- name: "Batching Test Test_CCIPBatching_SingleSource_MultiRoot"
file: ccip_batching_test.go
run: "Test_CCIPBatching_SingleSource_MultiRoot"
timeout: 12m
- name: "Gas Price Updates Test"
file: ccip_gas_price_updates_test.go
run: ""
timeout: 12m
# TODO: this can only run in docker for now, switch to in-memory and uncomment
# - cmd: cd integration-tests/smoke/ccip && go test ccip_token_price_updates_test.go -timeout 12m -test.parallel=2 -count=1 -json
# name: "Token Price Updates Test"
- cmd: cd integration-tests/smoke/ccip && go test ccip_reader_test.go -timeout 5m -test.parallel=1 -count=1 -json
name: "CCIPReader Test"
- cmd: cd integration-tests/smoke/ccip && go test -run "^Test_CCIPTopologies_EVM2EVM_RoleDON_AllSupportSource_SomeSupportDest$" ccip_topologies_test.go -timeout 20m -test.parallel=2 -count=1 -json
name: "Test_CCIPTopologies_EVM2EVM_RoleDON_AllSupportSource_SomeSupportDest"

# - name: "Token Price Updates Test"
# file: ccip_token_price_updates_test.go
# run: ""
# timeout: 12m
- name: "CCIPReader Test"
file: ccip_reader_test.go
run: ""
timeout: 5m
- name: "Test_CCIPTopologies_EVM2EVM_RoleDON_AllSupportSource_SomeSupportDest"
file: ccip_topologies_test.go
run: "^Test_CCIPTopologies_EVM2EVM_RoleDON_AllSupportSource_SomeSupportDest$"
timeout: 20m

name: Integration Tests (${{ matrix.type.name }})
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -217,8 +251,12 @@
go run github.com/smartcontractkit/chainlink/v2/core/store/cmd/preparetest
env:
CL_DATABASE_URL: ${{ env.DB_URL }}
- name: Run ${{ matrix.type.name }}
run: cd $GITHUB_WORKSPACE/chainlink/ && ${{ matrix.type.cmd }}
- name: ${{ matrix.type.name }}
uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1
with:
trunk-org-slug: smartcontractkit
trunk-token: ${{ secrets.TRUNK_API_KEY }}
go-test-args: ./integration-tests/smoke/ccip/${{ matrix.type.file }} ${{ matrix.type.run && format('-run {0}', matrix.type.run) }} -timeout ${{ matrix.type.timeout }}
env:
CL_DATABASE_URL: ${{ env.DB_URL }}

Expand Down
34 changes: 25 additions & 9 deletions .github/workflows/test-deployments.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
merge_group:
push:
branches:
- 'main'
- "main"

jobs:
detect_deployments_changes:
Expand Down Expand Up @@ -60,8 +60,12 @@
working-directory: chains/evm/deployment
steps:
- uses: actions/checkout@v4
- name: Run tests
run: go test ./...
- name: Test EVM Deployments
uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium test

Unpinned 3rd party Action 'Test Deployments' step
Uses Step
uses 'smartcontractkit/.github/actions/branch-out-upload' with ref 'branch-out-upload/v1', not a pinned commit hash
with:
trunk-org-slug: smartcontractkit
trunk-token: ${{ secrets.TRUNK_API_KEY }}
go-test-args: ./chains/evm/deployment/...

test-solana-deployments:
needs: [detect_deployments_changes, setup-go]
Expand All @@ -72,8 +76,12 @@
working-directory: chains/solana/deployment
steps:
- uses: actions/checkout@v4
- name: Run tests
run: go test ./...
- name: Test Solana Deployments
uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium test

Unpinned 3rd party Action 'Test Deployments' step
Uses Step
uses 'smartcontractkit/.github/actions/branch-out-upload' with ref 'branch-out-upload/v1', not a pinned commit hash
with:
trunk-org-slug: smartcontractkit
trunk-token: ${{ secrets.TRUNK_API_KEY }}
go-test-args: ./chains/solana/deployment/...

test-deployments:
needs: [detect_deployments_changes, setup-go]
Expand All @@ -84,8 +92,12 @@
working-directory: deployment
steps:
- uses: actions/checkout@v4
- name: Run tests
run: go test ./...
- name: Test Crosschain Deployments
uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium test

Unpinned 3rd party Action 'Test Deployments' step
Uses Step
uses 'smartcontractkit/.github/actions/branch-out-upload' with ref 'branch-out-upload/v1', not a pinned commit hash
with:
trunk-org-slug: smartcontractkit
trunk-token: ${{ secrets.TRUNK_API_KEY }}
go-test-args: ./deployment/...

test-deployments-crosschain:
needs: [detect_deployments_changes, setup-go]
Expand All @@ -105,5 +117,9 @@
run: |
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)" # always use latest stable release from solana
echo "PATH=$HOME/.local/share/solana/install/active_release/bin:$PATH" >> $GITHUB_ENV
- name: Run tests
run: go test ./...
- name: Test Crosschain Deployments
uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium test

Unpinned 3rd party Action 'Test Deployments' step
Uses Step
uses 'smartcontractkit/.github/actions/branch-out-upload' with ref 'branch-out-upload/v1', not a pinned commit hash
with:
trunk-org-slug: smartcontractkit
trunk-token: ${{ secrets.TRUNK_API_KEY }}
go-test-args: ./integration-tests/deployment/...
34 changes: 18 additions & 16 deletions .github/workflows/test_smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
workflow_dispatch:
inputs:
ton_ref:
description: 'Git ref (branch) of the TON relayer'
description: "Git ref (branch) of the TON relayer"
required: false
type: string
contract_version:
description: 'Version of CCIP contracts to use'
description: "Version of CCIP contracts to use"
required: false
type: string
chainlink_version:
description: 'Chainlink version to use (e.g., develop, gh ref, etc.)'
description: "Chainlink version to use (e.g., develop, gh ref, etc.)"
required: false
type: string
custom_config:
Expand All @@ -22,7 +22,7 @@
pull_request:
push:
branches:
- 'main'
- "main"

defaults:
run:
Expand All @@ -40,13 +40,13 @@
strategy:
matrix:
test:
- name: TestE2ESmoke
config: >-
${{
github.event_name == 'workflow_dispatch' &&
( inputs.custom_config != '' && inputs.custom_config || 'env.toml' )
|| 'env.toml'
}}
- name: TestE2ESmoke
config: >-
${{
github.event_name == 'workflow_dispatch' &&
( inputs.custom_config != '' && inputs.custom_config || 'env.toml' )
|| 'env.toml'
}}
fail-fast: false
steps:
- name: Checkout code
Expand Down Expand Up @@ -82,7 +82,7 @@
- name: Install Just
uses: extractions/setup-just@e33e0265a09d6d736e2ee1e0eb685ef1de4669ff # v3
with:
just-version: '1.40.0'
just-version: "1.40.0"
- name: Authenticate to AWS ECR
uses: ./.github/actions/aws-ecr-auth
with:
Expand Down Expand Up @@ -120,7 +120,9 @@
cd cmd/ccip && go install . && cd -
ccip u ${{ matrix.test.config }}
sleep 120 # wait for nodes to be ready, need a better way here
- name: Run smoke test
working-directory: devenv/tests/e2e
run: |
go test -v -run ${{ matrix.test.name }} -timeout 20m
- name: Smoke Tests
uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1
with:
trunk-org-slug: smartcontractkit
trunk-token: ${{ secrets.TRUNK_API_KEY }}
go-test-args: -v -run ${{ matrix.test.name }} -timeout 20m
Loading