Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: smartcontractkit/chainlink
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: f291e9b31e1915db609dd984ee117f9c03906600
Choose a base ref
..
head repository: smartcontractkit/chainlink
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 54ea74a13bfe927e645b8fb493ff104e96f1db68
Choose a head ref
Showing with 668 additions and 86 deletions.
  1. +0 −13 .github/e2e-tests.yml
  2. +18 −0 .github/integration-in-memory-tests.yml
  3. +1 −1 .github/workflows/crib-integration-test.yml
  4. +145 −0 .github/workflows/integration-in-memory-tests.yml
  5. +178 −12 core/capabilities/ccip/ccip_integration_tests/usdcreader/usdcreader_test.go
  6. +4 −3 core/services/gateway/handlers/capabilities/handler.go
  7. +43 −0 core/services/workflows/syncer/fetcher.go
  8. +76 −0 core/services/workflows/syncer/fetcher_test.go
  9. +0 −1 deployment/ccip/changeset/active_candidate.go
  10. +0 −1 deployment/ccip/changeset/active_candidate_test.go
  11. +0 −1 deployment/ccip/changeset/add_chain.go
  12. +1 −5 deployment/ccip/changeset/add_chain_test.go
  13. +13 −3 deployment/ccip/changeset/deploy.go
  14. +0 −2 deployment/ccip/changeset/initial_add_chain.go
  15. +1 −1 deployment/ccip/changeset/internal/deploy_home_chain.go
  16. +59 −23 deployment/ccip/changeset/test_helpers.go
  17. +1 −0 deployment/ccip/changeset/token_info.go
  18. +55 −0 deployment/common/changeset/deploy_link_token.go
  19. +39 −0 deployment/common/changeset/deploy_link_token_test.go
  20. +1 −0 deployment/common/types/types.go
  21. +3 −1 integration-tests/ccip-tests/smoke/ccip_test.go
  22. +1 −1 integration-tests/ccip-tests/testconfig/tomls/ccip-default.toml
  23. +5 −0 integration-tests/ccip-tests/utils/common.go
  24. +1 −1 integration-tests/go.mod
  25. +2 −2 integration-tests/go.sum
  26. +1 −1 integration-tests/load/go.mod
  27. +2 −2 integration-tests/load/go.sum
  28. +3 −1 integration-tests/smoke/ccip/ccip_batching_test.go
  29. +1 −4 integration-tests/smoke/ccip/ccip_messaging_test.go
  30. +4 −1 integration-tests/smoke/ccip/ccip_rmn_test.go
  31. +1 −1 integration-tests/smoke/ccip/ccip_test.go
  32. +1 −1 integration-tests/smoke/ccip/ccip_usdc_test.go
  33. +1 −1 integration-tests/smoke/ccip/fee_boosting_test.go
  34. +1 −1 integration-tests/testconfig/default.toml
  35. +6 −2 integration-tests/testsetups/{ → ccip}/test_helpers.go
13 changes: 0 additions & 13 deletions .github/e2e-tests.yml
Original file line number Diff line number Diff line change
@@ -948,19 +948,6 @@ runner-test-matrix:
E2E_TEST_SELECTED_NETWORK: SIMULATED_1,SIMULATED_2
E2E_JD_VERSION: 0.6.0

- id: smoke/ccip/ccip_messaging_test.go:*
path: integration-tests/smoke/ccip/ccip_messaging_test.go
test_env_type: docker
runs_on: ubuntu-latest
triggers:
- PR E2E Core Tests
- Nightly E2E Tests
test_cmd: cd integration-tests/smoke/ccip && go test ccip_messaging_test.go -timeout 15m -test.parallel=1 -count=1 -json
pyroscope_env: ci-smoke-ccipv1_6-evm-simulated
test_env_vars:
E2E_TEST_SELECTED_NETWORK: SIMULATED_1,SIMULATED_2
E2E_JD_VERSION: 0.6.0

- id: smoke/ccip/ccip_batching_test.go:*
path: integration-tests/smoke/ccip/ccip_batching_test.go
test_env_type: docker
18 changes: 18 additions & 0 deletions .github/integration-in-memory-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# This file specifies the GitHub runner for each in-memory integration test and is utilized by .github/workflows/integration-in-memory-tests.yml CI workflow.
#
# Each entry in this file includes the following:
# - The GitHub runner (runs_on field) that will execute tests.
# - The tests that will be run by the runner.
# - The triggers (e.g., PR Integration CCIP Tests) that should trigger these tests.
#
runner-test-matrix:
# START: CCIPv1.6 tests

- id: smoke/ccip/ccip_messaging_test.go:*
path: integration-tests/smoke/ccip/ccip_messaging_test.go
test_env_type: in-memory
runs_on: ubuntu-latest
triggers:
- PR Integration CCIP Tests
test_cmd: cd integration-tests/smoke/ccip && go test ccip_messaging_test.go -timeout 12m -test.parallel=2 -count=1 -json
# END: CCIP tests
2 changes: 1 addition & 1 deletion .github/workflows/crib-integration-test.yml
Original file line number Diff line number Diff line change
@@ -76,7 +76,7 @@ jobs:
echo $GITHUB_WORKSPACE
- name: Deploy and validate CRIB Environment for Core
uses: smartcontractkit/.github/actions/crib-deploy-environment@a4058228b4b9b6e30bb0e2b883e3b4f0cd447970 # crib-deploy-environment@2.1.0
uses: smartcontractkit/.github/actions/crib-deploy-environment@c1c5e0952dfb1f7748cdad9789fd2a2ae8dc7348 # crib-deploy-environment@2.1.1
id: deploy-crib
with:
github-token: ${{ steps.token.outputs.access-token }}
145 changes: 145 additions & 0 deletions .github/workflows/integration-in-memory-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
#
# Workflow to run in-memory integration tests
# Test matrix is defined in .github/integration-in-memory-tests.yml
#
name: Integration In-Memory Tests
run-name: Integration In-Memory Tests
on:
merge_group:
pull_request:
push:
tags:
- "*"
workflow_dispatch:
inputs:
cl_ref:
description: 'The ref to checkout, defaults to the calling branch'
required: false
type: string

# Only run 1 of this workflow at a time per PR
concurrency:
group: ${{ github.ref }}-${{ github.repository }}-${{ github.event_name }}--integration-tests
cancel-in-progress: true

jobs:
changes:
environment: integration
name: Check Paths That Require Tests To Run
runs-on: ubuntu-latest
# We don't directly merge dependabot PRs, so let's not waste the resources
if: github.actor != 'dependabot[bot]'
steps:
- name: Checkout the repo
uses: actions/checkout@v4.2.1
with:
repository: smartcontractkit/chainlink
ref: ${{ inputs.cl_ref }}
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
filters: |
github_ci_changes:
- '.github/workflows/integration-tests.yml'
- '.github/workflows/integration-in-memory-tests.yml'
- '.github/integration-in-memory-tests.yml'
core_changes:
- '**/*.go'
- '**/*go.sum'
- '**/*go.mod'
- '**/*Dockerfile'
- 'core/**/migrations/*.sql'
- 'core/**/config/**/*.toml'
- 'integration-tests/**/*.toml'
ccip_changes:
- '**/*ccip*'
- '**/*ccip*/**'
- name: Ignore Filter On Workflow Dispatch
if: ${{ github.event_name == 'workflow_dispatch' }}
id: ignore-filter
run: echo "changes=true" >> $GITHUB_OUTPUT
outputs:
github_ci_changes: ${{ steps.ignore-filter.outputs.changes || steps.changes.outputs.github_ci_changes }}
core_changes: ${{ steps.ignore-filter.outputs.changes || steps.changes.outputs.core_changes }}
ccip_changes: ${{ steps.ignore-filter.outputs.changes || steps.changes.outputs.ccip_changes }}

run-ccip-integration-tests-for-pr:
name: Run CCIP integration Tests For PR
permissions:
actions: read
checks: write
pull-requests: write
id-token: write
contents: read
needs: changes
if: github.event_name == 'pull_request' && ( needs.changes.outputs.ccip_changes == 'true' || needs.changes.outputs.core_changes == 'true' || needs.changes.outputs.github_ci_changes == 'true')
uses: smartcontractkit/.github/.github/workflows/run-integration-tests.yml@57112554b9e5cfae79e795a8b1c36acf7e9dead7
with:
workflow_name: Run CCIP Integration Tests For PR
test_path: .github/integration-in-memory-tests.yml
test_trigger: PR Integration CCIP Tests
secrets:
QA_AWS_REGION: ${{ secrets.QA_AWS_REGION }}
QA_AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }}
QA_AWS_ACCOUNT_NUMBER: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SLACK_BOT_TOKEN: ${{ secrets.QA_SLACK_API_KEY }}

run-ccip-integration-tests-for-merge-queue:
name: Run CCIP Integration Tests For Merge Queue
permissions:
actions: read
checks: write
pull-requests: write
id-token: write
contents: read
needs: changes
if: github.event_name == 'merge_group' && ( needs.changes.outputs.ccip_changes == 'true' || needs.changes.outputs.core_changes == 'true' || needs.changes.outputs.github_ci_changes == 'true')
uses: smartcontractkit/.github/.github/workflows/run-integration-tests.yml@57112554b9e5cfae79e795a8b1c36acf7e9dead7
with:
workflow_name: Run CCIP Integration Tests For Merge Queue
test_path: .github/integration-in-memory-tests.yml
test_trigger: Merge Queue Integration CCIP Tests
slack_notification_after_tests: on_failure
slack_notification_after_tests_channel_id: "#ccip-testing"
slack_notification_after_tests_name: CCIP integration Tests In Merge Queue
secrets:
QA_AWS_REGION: ${{ secrets.QA_AWS_REGION }}
QA_AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }}
QA_AWS_ACCOUNT_NUMBER: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SLACK_BOT_TOKEN: ${{ secrets.QA_SLACK_API_KEY }}

check-integration-test-results:
if: always()
name: Integration Tests
runs-on: ubuntu-latest
needs: [run-ccip-integration-tests-for-pr,run-ccip-integration-tests-for-merge-queue]
steps:
- name: Fail the job if ccip tests in PR not successful
if: always() && needs.run-ccip-integration-tests-for-pr.result == 'failure'
run: exit 1

- name: Fail the job if ccip tests in merge queue not successful
if: always() && needs.run-ccip-integration-tests-for-merge-queue.result == 'failure'
run: exit 1

cleanup:
name: Clean up integration environment deployments
if: always()
needs: [run-ccip-integration-tests-for-pr, run-ccip-integration-tests-for-merge-queue]
runs-on: ubuntu-latest
steps:
- name: Checkout repo
if: ${{ github.event_name == 'pull_request' }}
uses: actions/checkout@v4.2.1
with:
repository: smartcontractkit/chainlink
ref: ${{ inputs.cl_ref }}

- name: 🧼 Clean up Environment
if: ${{ github.event_name == 'pull_request' }}
uses: ./.github/actions/delete-deployments
with:
environment: integration
ref: ${{ github.head_ref }} # See https://github.com/github/docs/issues/15319#issuecomment-1476705663
Loading