From 63269ec7eb548784eda46c475e181f08a1fc693d Mon Sep 17 00:00:00 2001 From: Bartek Tofel Date: Wed, 20 Nov 2024 11:30:20 +0100 Subject: [PATCH 1/9] add support for chain.link labels --- .../workflows/automation-benchmark-tests.yml | 7 +++- .github/workflows/automation-load-tests.yml | 9 ++++-- .../workflows/automation-ondemand-tests.yml | 12 ++++--- .github/workflows/ccip-chaos-tests.yml | 9 +++++- .github/workflows/ccip-load-tests.yml | 11 +++++-- .github/workflows/on-demand-ocr-soak-test.yml | 9 ++++-- .../benchmark/automation_test.go | 14 ++++++-- .../ccip-tests/testsetups/ccip.go | 10 ++++++ .../chaos/automation_chaos_test.go | 8 +++++ integration-tests/chaos/ocr_chaos_test.go | 10 +++++- integration-tests/go.mod | 16 +++++----- integration-tests/go.sum | 32 +++++++++---------- .../automationv2_1/automationv2_1_test.go | 8 +++++ integration-tests/load/go.mod | 16 +++++----- integration-tests/load/go.sum | 32 +++++++++---------- integration-tests/testsetups/ocr.go | 9 ++++++ 16 files changed, 148 insertions(+), 64 deletions(-) diff --git a/.github/workflows/automation-benchmark-tests.yml b/.github/workflows/automation-benchmark-tests.yml index 3a07ecefaa0..72420f8d201 100644 --- a/.github/workflows/automation-benchmark-tests.yml +++ b/.github/workflows/automation-benchmark-tests.yml @@ -20,17 +20,22 @@ on: required: true default: benchmark type: string + team: + description: Team to run the tests for (e.g. BIX, CCIP) + required: true + type: string jobs: run-e2e-tests-workflow: name: Run E2E Tests - uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@f1f2dac0a20f0e02408eb7f528c768fe95c39229 + uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@a77f5b9b8578a8d99979451672223116503c32a3 with: test_path: .github/e2e-tests.yml test_ids: '${{ inputs.testType }}/automation_test.go:TestAutomationBenchmark' test_config_override_path: ${{ inputs.test_config_override_path }} SLACK_USER: ${{ inputs.slackMemberID }} SLACK_CHANNEL: C03KJ5S7KEK + team: ${{ inputs.team }} secrets: QA_AWS_REGION: ${{ secrets.QA_AWS_REGION }} QA_AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }} diff --git a/.github/workflows/automation-load-tests.yml b/.github/workflows/automation-load-tests.yml index 71bfbfa029e..63a94659df3 100644 --- a/.github/workflows/automation-load-tests.yml +++ b/.github/workflows/automation-load-tests.yml @@ -14,18 +14,23 @@ on: description: Notifies test results (Not your @) required: true default: U02Q14G80TY - type: string + type: string + team: + description: Team to run the tests for (e.g. BIX, CCIP) + required: true + type: string jobs: run-e2e-tests-workflow: name: Run E2E Tests - uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@f1f2dac0a20f0e02408eb7f528c768fe95c39229 + uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@a77f5b9b8578a8d99979451672223116503c32a3 with: test_path: .github/e2e-tests.yml test_ids: 'load/automationv2_1/automationv2_1_test.go:TestLogTrigger' test_config_override_path: ${{ inputs.test_config_override_path }} SLACK_USER: ${{ inputs.slackMemberID }} SLACK_CHANNEL: C03KJ5S7KEK + team: ${{ inputs.team }} secrets: QA_AWS_REGION: ${{ secrets.QA_AWS_REGION }} QA_AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }} diff --git a/.github/workflows/automation-ondemand-tests.yml b/.github/workflows/automation-ondemand-tests.yml index f85a1330e6e..a59c0d12c4c 100644 --- a/.github/workflows/automation-ondemand-tests.yml +++ b/.github/workflows/automation-ondemand-tests.yml @@ -38,7 +38,11 @@ on: with_existing_remote_runner_version: description: 'Tag of the existing remote runner version to use (Leave empty to build from head/ref)' required: false - type: string + type: string + team: + description: Team to run the tests for (e.g. BIX, CCIP). Required for load and chaos tests. + required: false + type: string jobs: # Set tests to run based on the workflow inputs @@ -84,11 +88,10 @@ jobs: if [ "${{ github.event.inputs.chainlinkImageUpdate }}" = "QA_ECR" ]; then chainlink_image_versions+="${{ env.upgrade_version }}" fi - echo "require_chainlink_image_versions_in_qa_ecr=$chainlink_image_versions" >> $GITHUB_OUTPUT + echo "require_chainlink_image_versions_in_qa_ecr=$chainlink_image_versions" >> $GITHUB_OUTPUT - name: Set tests to run id: set-tests run: | - # Always run upgrade tests cat > test_list.yaml < Date: Wed, 20 Nov 2024 15:22:42 +0100 Subject: [PATCH 2/9] use newer CTF --- integration-tests/go.mod | 6 ++++-- integration-tests/go.sum | 4 ++-- integration-tests/load/go.mod | 6 ++++-- integration-tests/load/go.sum | 4 ++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/integration-tests/go.mod b/integration-tests/go.mod index f4c808b59ac..80bc0b42995 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -1,6 +1,8 @@ module github.com/smartcontractkit/chainlink/integration-tests -go 1.22.8 +go 1.23 + +toolchain go1.23.0 // Make sure we're working with the latest chainlink libs replace github.com/smartcontractkit/chainlink/v2 => ../ @@ -40,7 +42,7 @@ require ( github.com/smartcontractkit/chainlink-common v0.3.1-0.20241112140826-0e2daed34ef6 github.com/smartcontractkit/chainlink-protos/job-distributor v0.4.0 github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2 - github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120102945-bd45ccbfa368 + github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120164642-930ad02b4f82 github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.9 github.com/smartcontractkit/chainlink-testing-framework/wasp v1.50.2 diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 93487bf64dc..278ab60b75f 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1423,8 +1423,8 @@ github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20241017135645-1 github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20241017135645-176a23722fd8/go.mod h1:WkBqgBo+g34Gm5vWkDDl8Fh3Mzd7bF5hXp7rryg0t5o= github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2 h1:GDGrC5OGiV0RyM1znYWehSQXyZQWTOzrEeJRYmysPCE= github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2/go.mod h1:DsT43c1oTBmp3iQkMcoZOoKThwZvt8X3Pz6UmznJ4GY= -github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120102945-bd45ccbfa368 h1:b2Y931kxllzmKlYgmBcUn8RITnfP4CLkdnIwvoRq2uA= -github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120102945-bd45ccbfa368/go.mod h1:wdHrnYLfZznafXeeneNzxQZjUjfwfcVAQFdopBBp5nI= +github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120164642-930ad02b4f82 h1:PZ9tGYGSC5mUvAYzaCpru02iGbncDwCqnZC+c2G7gw4= +github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120164642-930ad02b4f82/go.mod h1:wdHrnYLfZznafXeeneNzxQZjUjfwfcVAQFdopBBp5nI= github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 h1:VIxK8u0Jd0Q/VuhmsNm6Bls6Tb31H/sA3A/rbc5hnhg= github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0/go.mod h1:lyAu+oMXdNUzEDScj2DXB2IueY+SDXPPfyl/kb63tMM= github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.9 h1:yB1x5UXvpZNka+5h57yo1/GrKfXKCqMzChCISpldZx4= diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index 77338e89aad..96eae783330 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -1,6 +1,8 @@ module github.com/smartcontractkit/chainlink/load-tests -go 1.22.8 +go 1.23 + +toolchain go1.23.0 // Make sure we're working with the latest chainlink libs replace github.com/smartcontractkit/chainlink/v2 => ../../ @@ -18,7 +20,7 @@ require ( github.com/rs/zerolog v1.33.0 github.com/slack-go/slack v0.15.0 github.com/smartcontractkit/chainlink-common v0.3.1-0.20241112140826-0e2daed34ef6 - github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120102945-bd45ccbfa368 + github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120164642-930ad02b4f82 github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.9 github.com/smartcontractkit/chainlink-testing-framework/wasp v1.50.2 github.com/smartcontractkit/chainlink/deployment v0.0.0-00010101000000-000000000000 diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index d100280f595..42b269a1d95 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -1410,8 +1410,8 @@ github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20241017135645-1 github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20241017135645-176a23722fd8/go.mod h1:WkBqgBo+g34Gm5vWkDDl8Fh3Mzd7bF5hXp7rryg0t5o= github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2 h1:GDGrC5OGiV0RyM1znYWehSQXyZQWTOzrEeJRYmysPCE= github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2/go.mod h1:DsT43c1oTBmp3iQkMcoZOoKThwZvt8X3Pz6UmznJ4GY= -github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120102945-bd45ccbfa368 h1:b2Y931kxllzmKlYgmBcUn8RITnfP4CLkdnIwvoRq2uA= -github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120102945-bd45ccbfa368/go.mod h1:wdHrnYLfZznafXeeneNzxQZjUjfwfcVAQFdopBBp5nI= +github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120164642-930ad02b4f82 h1:PZ9tGYGSC5mUvAYzaCpru02iGbncDwCqnZC+c2G7gw4= +github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120164642-930ad02b4f82/go.mod h1:wdHrnYLfZznafXeeneNzxQZjUjfwfcVAQFdopBBp5nI= github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 h1:VIxK8u0Jd0Q/VuhmsNm6Bls6Tb31H/sA3A/rbc5hnhg= github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0/go.mod h1:lyAu+oMXdNUzEDScj2DXB2IueY+SDXPPfyl/kb63tMM= github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.9 h1:yB1x5UXvpZNka+5h57yo1/GrKfXKCqMzChCISpldZx4= From 7f11ea6e709e92d2fb4e47cc64e3bf1350931bff Mon Sep 17 00:00:00 2001 From: Bartek Tofel Date: Wed, 20 Nov 2024 18:06:05 +0100 Subject: [PATCH 3/9] use older go version for tests --- integration-tests/go.mod | 4 +--- integration-tests/load/go.mod | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 80bc0b42995..7b394ac5e88 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -1,8 +1,6 @@ module github.com/smartcontractkit/chainlink/integration-tests -go 1.23 - -toolchain go1.23.0 +go 1.22.8 // Make sure we're working with the latest chainlink libs replace github.com/smartcontractkit/chainlink/v2 => ../ diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index 96eae783330..236349279f2 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -1,8 +1,6 @@ module github.com/smartcontractkit/chainlink/load-tests -go 1.23 - -toolchain go1.23.0 +go 1.22.8 // Make sure we're working with the latest chainlink libs replace github.com/smartcontractkit/chainlink/v2 => ../../ From e4a68f5ce89f8c7eee23132461a742a381b84124 Mon Sep 17 00:00:00 2001 From: Bartek Tofel Date: Thu, 21 Nov 2024 13:02:12 +0100 Subject: [PATCH 4/9] update CTF once again, so that labels are added to pods --- integration-tests/benchmark/automation_test.go | 7 ++++--- integration-tests/ccip-tests/testsetups/ccip.go | 7 ++++--- integration-tests/chaos/automation_chaos_test.go | 7 ++++--- integration-tests/chaos/ocr_chaos_test.go | 7 ++++--- integration-tests/go.mod | 2 +- integration-tests/go.sum | 4 ++-- .../load/automationv2_1/automationv2_1_test.go | 7 ++++--- integration-tests/load/go.mod | 2 +- integration-tests/load/go.sum | 4 ++-- integration-tests/testsetups/ocr.go | 7 ++++--- 10 files changed, 30 insertions(+), 24 deletions(-) diff --git a/integration-tests/benchmark/automation_test.go b/integration-tests/benchmark/automation_test.go index 827f3d56df8..b3cdc937b67 100644 --- a/integration-tests/benchmark/automation_test.go +++ b/integration-tests/benchmark/automation_test.go @@ -262,8 +262,8 @@ func SetupAutomationBenchmarkEnv(t *testing.T, testType string, keeperTestConfig nsLabels, err := environment.GetRequiredChainLinkNamespaceLabels(string(tc.Keeper), testType) require.NoError(t, err, "Error creating required chain.link labels for namespace") - workloadLabels, err := environment.GetRequiredChainLinkWorkloadLabels(string(tc.Keeper), testType) - require.NoError(t, err, "Error creating required chain.link labels for workloads") + workloadPodLabels, err := environment.GetRequiredChainLinkWorkloadAndPodLabels(string(tc.Keeper), testType) + require.NoError(t, err, "Error creating required chain.link labels for workloads and pods") testEnvironment := environment.New(&environment.Config{ TTL: time.Hour * 720, // 30 days, @@ -276,7 +276,8 @@ func SetupAutomationBenchmarkEnv(t *testing.T, testType string, keeperTestConfig Test: t, PreventPodEviction: true, Labels: nsLabels, - WorkloadLabels: workloadLabels, + WorkloadLabels: workloadPodLabels, + PodLabels: workloadPodLabels, }) dbResources := dbResources diff --git a/integration-tests/ccip-tests/testsetups/ccip.go b/integration-tests/ccip-tests/testsetups/ccip.go index 020dc055e59..bc8f723b8a1 100644 --- a/integration-tests/ccip-tests/testsetups/ccip.go +++ b/integration-tests/ccip-tests/testsetups/ccip.go @@ -1412,14 +1412,15 @@ func createEnvironmentConfig(t *testing.T, envName string, testConfig *CCIPTestC nsLabels, err := environment.GetRequiredChainLinkNamespaceLabels(string(tc.CCIP), testType) require.NoError(t, err, "Error creating required chain.link labels for namespace") - workloadLabels, err := environment.GetRequiredChainLinkWorkloadLabels(string(tc.CCIP), testType) - require.NoError(t, err, "Error creating required chain.link labels for workloads") + workloadPodLabels, err := environment.GetRequiredChainLinkWorkloadAndPodLabels(string(tc.CCIP), testType) + require.NoError(t, err, "Error creating required chain.link labels for workloads and pods") envConfig := &environment.Config{ NamespacePrefix: envName, Test: t, Labels: nsLabels, - WorkloadLabels: workloadLabels, + WorkloadLabels: workloadPodLabels, + PodLabels: workloadPodLabels, // PreventPodEviction: true, //TODO: enable this once we have a way to handle pod eviction } if pointer.GetBool(testConfig.TestGroupInput.StoreLaneConfig) { diff --git a/integration-tests/chaos/automation_chaos_test.go b/integration-tests/chaos/automation_chaos_test.go index 64606e8ae21..80e4a46581e 100644 --- a/integration-tests/chaos/automation_chaos_test.go +++ b/integration-tests/chaos/automation_chaos_test.go @@ -200,8 +200,8 @@ func TestAutomationChaos(t *testing.T) { nsLabels, err := environment.GetRequiredChainLinkNamespaceLabels(string(tc.Automation), "chaos") require.NoError(t, err, "Error creating required chain.link labels for namespace") - workloadLabels, err := environment.GetRequiredChainLinkWorkloadLabels(string(tc.Automation), "chaos") - require.NoError(t, err, "Error creating required chain.link labels for workloads") + workloadPodLabels, err := environment.GetRequiredChainLinkWorkloadAndPodLabels(string(tc.Automation), "chaos") + require.NoError(t, err, "Error creating required chain.link labels for workloads and pods") testEnvironment := environment. New(&environment.Config{ @@ -209,7 +209,8 @@ func TestAutomationChaos(t *testing.T) { TTL: time.Hour * 1, Test: t, Labels: nsLabels, - WorkloadLabels: workloadLabels, + WorkloadLabels: workloadPodLabels, + PodLabels: workloadPodLabels, }). AddHelm(testCase.networkChart). AddHelm(testCase.clChart) diff --git a/integration-tests/chaos/ocr_chaos_test.go b/integration-tests/chaos/ocr_chaos_test.go index f59a664786f..f072adcc46a 100644 --- a/integration-tests/chaos/ocr_chaos_test.go +++ b/integration-tests/chaos/ocr_chaos_test.go @@ -144,14 +144,15 @@ func TestOCRChaos(t *testing.T) { nsLabels, err := environment.GetRequiredChainLinkNamespaceLabels("data-feedsv1.0", "chaos") require.NoError(t, err, "Error creating required chain.link labels for namespace") - workloadLabels, err := environment.GetRequiredChainLinkWorkloadLabels("data-feedsv1.0", "chaos") - require.NoError(t, err, "Error creating required chain.link labels for workloads") + workloadPodLabels, err := environment.GetRequiredChainLinkWorkloadAndPodLabels("data-feedsv1.0", "chaos") + require.NoError(t, err, "Error creating required chain.link labels for workloads and pods") testEnvironment := environment.New(&environment.Config{ NamespacePrefix: fmt.Sprintf("chaos-ocr-%s", name), Test: t, Labels: nsLabels, - WorkloadLabels: workloadLabels, + WorkloadLabels: workloadPodLabels, + PodLabels: workloadPodLabels, }). AddHelm(mockservercfg.New(nil)). AddHelm(mockserver.New(nil)). diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 7b394ac5e88..38fd8094b50 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -40,7 +40,7 @@ require ( github.com/smartcontractkit/chainlink-common v0.3.1-0.20241112140826-0e2daed34ef6 github.com/smartcontractkit/chainlink-protos/job-distributor v0.4.0 github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2 - github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120164642-930ad02b4f82 + github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241121115921-72a7684dcdfa github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.9 github.com/smartcontractkit/chainlink-testing-framework/wasp v1.50.2 diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 278ab60b75f..811625a2981 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1423,8 +1423,8 @@ github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20241017135645-1 github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20241017135645-176a23722fd8/go.mod h1:WkBqgBo+g34Gm5vWkDDl8Fh3Mzd7bF5hXp7rryg0t5o= github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2 h1:GDGrC5OGiV0RyM1znYWehSQXyZQWTOzrEeJRYmysPCE= github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2/go.mod h1:DsT43c1oTBmp3iQkMcoZOoKThwZvt8X3Pz6UmznJ4GY= -github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120164642-930ad02b4f82 h1:PZ9tGYGSC5mUvAYzaCpru02iGbncDwCqnZC+c2G7gw4= -github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120164642-930ad02b4f82/go.mod h1:wdHrnYLfZznafXeeneNzxQZjUjfwfcVAQFdopBBp5nI= +github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241121115921-72a7684dcdfa h1:vX3+CndVo1LNI8/v3xnwkasbz/BOt9qVjdq2NOX1Vy4= +github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241121115921-72a7684dcdfa/go.mod h1:wdHrnYLfZznafXeeneNzxQZjUjfwfcVAQFdopBBp5nI= github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 h1:VIxK8u0Jd0Q/VuhmsNm6Bls6Tb31H/sA3A/rbc5hnhg= github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0/go.mod h1:lyAu+oMXdNUzEDScj2DXB2IueY+SDXPPfyl/kb63tMM= github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.9 h1:yB1x5UXvpZNka+5h57yo1/GrKfXKCqMzChCISpldZx4= diff --git a/integration-tests/load/automationv2_1/automationv2_1_test.go b/integration-tests/load/automationv2_1/automationv2_1_test.go index 57f51aa3d0b..b753ccefb85 100644 --- a/integration-tests/load/automationv2_1/automationv2_1_test.go +++ b/integration-tests/load/automationv2_1/automationv2_1_test.go @@ -199,8 +199,8 @@ Load Config: nsLabels, err := environment.GetRequiredChainLinkNamespaceLabels(string(tc.Automation), testType) require.NoError(t, err, "Error creating required chain.link labels for namespace") - workloadLabels, err := environment.GetRequiredChainLinkWorkloadLabels(string(tc.Automation), testType) - require.NoError(t, err, "Error creating required chain.link labels for workloads") + workloadPodLabels, err := environment.GetRequiredChainLinkWorkloadAndPodLabels(string(tc.Automation), testType) + require.NoError(t, err, "Error creating required chain.link labels for workloads and pods") testEnvironment := environment.New(&environment.Config{ TTL: loadDuration.Round(time.Hour) + time.Hour, @@ -212,7 +212,8 @@ Load Config: Test: t, PreventPodEviction: true, Labels: nsLabels, - WorkloadLabels: workloadLabels, + WorkloadLabels: workloadPodLabels, + PodLabels: workloadPodLabels, }) testEnvironment. diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index 236349279f2..8eb33e16b34 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -18,7 +18,7 @@ require ( github.com/rs/zerolog v1.33.0 github.com/slack-go/slack v0.15.0 github.com/smartcontractkit/chainlink-common v0.3.1-0.20241112140826-0e2daed34ef6 - github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120164642-930ad02b4f82 + github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241121115921-72a7684dcdfa github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.9 github.com/smartcontractkit/chainlink-testing-framework/wasp v1.50.2 github.com/smartcontractkit/chainlink/deployment v0.0.0-00010101000000-000000000000 diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index 42b269a1d95..a9c2b42ec17 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -1410,8 +1410,8 @@ github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20241017135645-1 github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20241017135645-176a23722fd8/go.mod h1:WkBqgBo+g34Gm5vWkDDl8Fh3Mzd7bF5hXp7rryg0t5o= github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2 h1:GDGrC5OGiV0RyM1znYWehSQXyZQWTOzrEeJRYmysPCE= github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2/go.mod h1:DsT43c1oTBmp3iQkMcoZOoKThwZvt8X3Pz6UmznJ4GY= -github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120164642-930ad02b4f82 h1:PZ9tGYGSC5mUvAYzaCpru02iGbncDwCqnZC+c2G7gw4= -github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241120164642-930ad02b4f82/go.mod h1:wdHrnYLfZznafXeeneNzxQZjUjfwfcVAQFdopBBp5nI= +github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241121115921-72a7684dcdfa h1:vX3+CndVo1LNI8/v3xnwkasbz/BOt9qVjdq2NOX1Vy4= +github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241121115921-72a7684dcdfa/go.mod h1:wdHrnYLfZznafXeeneNzxQZjUjfwfcVAQFdopBBp5nI= github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 h1:VIxK8u0Jd0Q/VuhmsNm6Bls6Tb31H/sA3A/rbc5hnhg= github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0/go.mod h1:lyAu+oMXdNUzEDScj2DXB2IueY+SDXPPfyl/kb63tMM= github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.9 h1:yB1x5UXvpZNka+5h57yo1/GrKfXKCqMzChCISpldZx4= diff --git a/integration-tests/testsetups/ocr.go b/integration-tests/testsetups/ocr.go index bb27509803a..20e1b4bf158 100644 --- a/integration-tests/testsetups/ocr.go +++ b/integration-tests/testsetups/ocr.go @@ -164,8 +164,8 @@ func (o *OCRSoakTest) DeployEnvironment(ocrTestConfig tt.OcrTestConfig) { nsLabels, err := environment.GetRequiredChainLinkNamespaceLabels(productName, "soak") require.NoError(o.t, err, "Error creating required chain.link labels for namespace") - workloadLabels, err := environment.GetRequiredChainLinkWorkloadLabels(productName, "soak") - require.NoError(o.t, err, "Error creating required chain.link labels for workloads") + workloadPodLabels, err := environment.GetRequiredChainLinkWorkloadAndPodLabels(productName, "soak") + require.NoError(o.t, err, "Error creating required chain.link labels for workloads and pods") baseEnvironmentConfig := &environment.Config{ TTL: time.Hour * 720, // 30 days, @@ -173,7 +173,8 @@ func (o *OCRSoakTest) DeployEnvironment(ocrTestConfig tt.OcrTestConfig) { Test: o.t, PreventPodEviction: true, Labels: nsLabels, - WorkloadLabels: workloadLabels, + WorkloadLabels: workloadPodLabels, + PodLabels: workloadPodLabels, } testEnv := environment.New(baseEnvironmentConfig). From 61706e75f9746ba36716c931c70510321721205b Mon Sep 17 00:00:00 2001 From: Bartek Tofel Date: Wed, 27 Nov 2024 15:46:09 +0100 Subject: [PATCH 5/9] use tagged CTF --- integration-tests/go.mod | 2 +- integration-tests/go.sum | 4 ++-- integration-tests/load/go.mod | 2 +- integration-tests/load/go.sum | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 49ed4d14c72..40e71802866 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -40,7 +40,7 @@ require ( github.com/smartcontractkit/chainlink-ccip v0.0.0-20241125151847-c63f5f567fcd github.com/smartcontractkit/chainlink-common v0.3.1-0.20241125150608-97ceadb2072d github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2 - github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241121115921-72a7684dcdfa + github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.18 github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.9 github.com/smartcontractkit/chainlink-testing-framework/wasp v1.50.2 diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 75f8028c309..6bf7ad096c0 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1423,8 +1423,8 @@ github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20241017135645-1 github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20241017135645-176a23722fd8/go.mod h1:WkBqgBo+g34Gm5vWkDDl8Fh3Mzd7bF5hXp7rryg0t5o= github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2 h1:GDGrC5OGiV0RyM1znYWehSQXyZQWTOzrEeJRYmysPCE= github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2/go.mod h1:DsT43c1oTBmp3iQkMcoZOoKThwZvt8X3Pz6UmznJ4GY= -github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241121115921-72a7684dcdfa h1:vX3+CndVo1LNI8/v3xnwkasbz/BOt9qVjdq2NOX1Vy4= -github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241121115921-72a7684dcdfa/go.mod h1:wdHrnYLfZznafXeeneNzxQZjUjfwfcVAQFdopBBp5nI= +github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.18 h1:a3xetGZh2nFO1iX5xd9OuqiCkgbWLvW6fTN6fgVubPo= +github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.18/go.mod h1:NwmlNKqrb02v4Sci4b5KW644nfH2BW+FrKbWwTN5r6M= github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 h1:VIxK8u0Jd0Q/VuhmsNm6Bls6Tb31H/sA3A/rbc5hnhg= github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0/go.mod h1:lyAu+oMXdNUzEDScj2DXB2IueY+SDXPPfyl/kb63tMM= github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.9 h1:yB1x5UXvpZNka+5h57yo1/GrKfXKCqMzChCISpldZx4= diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index a04e40e52fe..c2421d5bcd6 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -18,7 +18,7 @@ require ( github.com/rs/zerolog v1.33.0 github.com/slack-go/slack v0.15.0 github.com/smartcontractkit/chainlink-common v0.3.1-0.20241125150608-97ceadb2072d - github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241121115921-72a7684dcdfa + github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.18 github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.9 github.com/smartcontractkit/chainlink-testing-framework/wasp v1.50.2 github.com/smartcontractkit/chainlink/deployment v0.0.0-00010101000000-000000000000 diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index a5e423888e1..b3bd80c8ef7 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -1410,8 +1410,8 @@ github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20241017135645-1 github.com/smartcontractkit/chainlink-starknet/relayer v0.1.1-0.20241017135645-176a23722fd8/go.mod h1:WkBqgBo+g34Gm5vWkDDl8Fh3Mzd7bF5hXp7rryg0t5o= github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2 h1:GDGrC5OGiV0RyM1znYWehSQXyZQWTOzrEeJRYmysPCE= github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2/go.mod h1:DsT43c1oTBmp3iQkMcoZOoKThwZvt8X3Pz6UmznJ4GY= -github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241121115921-72a7684dcdfa h1:vX3+CndVo1LNI8/v3xnwkasbz/BOt9qVjdq2NOX1Vy4= -github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.15-0.20241121115921-72a7684dcdfa/go.mod h1:wdHrnYLfZznafXeeneNzxQZjUjfwfcVAQFdopBBp5nI= +github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.18 h1:a3xetGZh2nFO1iX5xd9OuqiCkgbWLvW6fTN6fgVubPo= +github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.18/go.mod h1:NwmlNKqrb02v4Sci4b5KW644nfH2BW+FrKbWwTN5r6M= github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 h1:VIxK8u0Jd0Q/VuhmsNm6Bls6Tb31H/sA3A/rbc5hnhg= github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0/go.mod h1:lyAu+oMXdNUzEDScj2DXB2IueY+SDXPPfyl/kb63tMM= github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.9 h1:yB1x5UXvpZNka+5h57yo1/GrKfXKCqMzChCISpldZx4= From 10330bf3dcd947e0d54fc73262457bad0bd1cab1 Mon Sep 17 00:00:00 2001 From: Bartek Tofel Date: Thu, 28 Nov 2024 10:41:28 +0100 Subject: [PATCH 6/9] use e2e workflow version that's merged to the main branch --- .github/workflows/automation-benchmark-tests.yml | 2 +- .github/workflows/automation-load-tests.yml | 2 +- .github/workflows/automation-ondemand-tests.yml | 2 +- .github/workflows/ccip-chaos-tests.yml | 2 +- .github/workflows/ccip-load-tests.yml | 2 +- .github/workflows/on-demand-ocr-soak-test.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/automation-benchmark-tests.yml b/.github/workflows/automation-benchmark-tests.yml index 13bbb3c4a6e..3a826f523a0 100644 --- a/.github/workflows/automation-benchmark-tests.yml +++ b/.github/workflows/automation-benchmark-tests.yml @@ -28,7 +28,7 @@ on: jobs: run-e2e-tests-workflow: name: Run E2E Tests - uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@4f53147ec722dd213c97e77d9823436f9dd7b3c6 + uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@0d4a2b2b009c87b5c366d0b97f7a8d7de2f60760 with: test_path: .github/e2e-tests.yml test_ids: '${{ inputs.testType }}/automation_test.go:TestAutomationBenchmark' diff --git a/.github/workflows/automation-load-tests.yml b/.github/workflows/automation-load-tests.yml index e24cc4dfee6..c11e353a7db 100644 --- a/.github/workflows/automation-load-tests.yml +++ b/.github/workflows/automation-load-tests.yml @@ -23,7 +23,7 @@ on: jobs: run-e2e-tests-workflow: name: Run E2E Tests - uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@4f53147ec722dd213c97e77d9823436f9dd7b3c6 + uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@0d4a2b2b009c87b5c366d0b97f7a8d7de2f60760 with: test_path: .github/e2e-tests.yml test_ids: 'load/automationv2_1/automationv2_1_test.go:TestLogTrigger' diff --git a/.github/workflows/automation-ondemand-tests.yml b/.github/workflows/automation-ondemand-tests.yml index 8a496b0a624..67c690fbead 100644 --- a/.github/workflows/automation-ondemand-tests.yml +++ b/.github/workflows/automation-ondemand-tests.yml @@ -156,7 +156,7 @@ jobs: call-run-e2e-tests-workflow: name: Run E2E Tests needs: set-tests-to-run - uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@4f53147ec722dd213c97e77d9823436f9dd7b3c6 + uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@0d4a2b2b009c87b5c366d0b97f7a8d7de2f60760 with: test_path: .github/e2e-tests.yml test_list: ${{ needs.set-tests-to-run.outputs.test_list }} diff --git a/.github/workflows/ccip-chaos-tests.yml b/.github/workflows/ccip-chaos-tests.yml index d141c47fd47..51e6c6f027a 100644 --- a/.github/workflows/ccip-chaos-tests.yml +++ b/.github/workflows/ccip-chaos-tests.yml @@ -21,7 +21,7 @@ concurrency: jobs: run-e2e-tests-workflow: name: Run E2E Tests - uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@4f53147ec722dd213c97e77d9823436f9dd7b3c6 + uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@0d4a2b2b009c87b5c366d0b97f7a8d7de2f60760 with: test_path: .github/e2e-tests.yml chainlink_version: ${{ github.sha }} diff --git a/.github/workflows/ccip-load-tests.yml b/.github/workflows/ccip-load-tests.yml index 9c113206d8b..0eca87bddb6 100644 --- a/.github/workflows/ccip-load-tests.yml +++ b/.github/workflows/ccip-load-tests.yml @@ -36,7 +36,7 @@ concurrency: jobs: run-e2e-tests-workflow: name: Run E2E Tests - uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@4f53147ec722dd213c97e77d9823436f9dd7b3c6 + uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@0d4a2b2b009c87b5c366d0b97f7a8d7de2f60760 with: test_path: .github/e2e-tests.yml test_trigger: E2E CCIP Load Tests diff --git a/.github/workflows/on-demand-ocr-soak-test.yml b/.github/workflows/on-demand-ocr-soak-test.yml index 745e32ba138..a9a8c3c2a2f 100644 --- a/.github/workflows/on-demand-ocr-soak-test.yml +++ b/.github/workflows/on-demand-ocr-soak-test.yml @@ -43,7 +43,7 @@ on: jobs: run-e2e-tests-workflow: name: Run E2E Tests - uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@4f53147ec722dd213c97e77d9823436f9dd7b3c6 + uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@0d4a2b2b009c87b5c366d0b97f7a8d7de2f60760 with: test_path: .github/e2e-tests.yml test_ids: ${{ inputs.testToRun}} From 96c5af76ecb150f557d8b7a5c671dabfdd1bc031 Mon Sep 17 00:00:00 2001 From: Bartek Tofel Date: Thu, 28 Nov 2024 11:17:07 +0100 Subject: [PATCH 7/9] fix lint --- integration-tests/.tool-versions | 2 +- integration-tests/ccip-tests/testsetups/ccip.go | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/integration-tests/.tool-versions b/integration-tests/.tool-versions index 5d980451979..3e44e439ff2 100644 --- a/integration-tests/.tool-versions +++ b/integration-tests/.tool-versions @@ -2,5 +2,5 @@ golang 1.23.3 k3d 5.4.6 kubectl 1.25.5 nodejs 20.13.1 -golangci-lint 1.61.1 +golangci-lint 1.62.0 task 3.35.1 diff --git a/integration-tests/ccip-tests/testsetups/ccip.go b/integration-tests/ccip-tests/testsetups/ccip.go index 7446bb30c64..e38d3df2cf4 100644 --- a/integration-tests/ccip-tests/testsetups/ccip.go +++ b/integration-tests/ccip-tests/testsetups/ccip.go @@ -25,6 +25,7 @@ import ( "go.uber.org/multierr" "go.uber.org/zap/zapcore" "golang.org/x/sync/errgroup" + tc "github.com/smartcontractkit/chainlink/integration-tests/testconfig" chainselectors "github.com/smartcontractkit/chain-selectors" From eb7c3c70ace9e5bc8ff93a2144f0cf00c381e9b7 Mon Sep 17 00:00:00 2001 From: Bartek Tofel Date: Thu, 28 Nov 2024 11:20:07 +0100 Subject: [PATCH 8/9] add CHAINLINK_USER_TEAM var to the integration tests --- .github/workflows/integration-tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index ea0016014a7..031eb63e822 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -296,7 +296,7 @@ jobs: contents: read needs: [build-chainlink, changes] if: github.event_name == 'pull_request' && (needs.changes.outputs.ccip_changes == 'true' || needs.changes.outputs.github_ci_changes == 'true') - uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@5412507526722a7b1c5d719fa686eed5a1bc4035 # ctf-run-tests@0.2.0 + uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@0d4a2b2b009c87b5c366d0b97f7a8d7de2f60760 with: workflow_name: Run CCIP E2E Tests For PR chainlink_version: ${{ inputs.evm-ref || github.sha }} @@ -306,6 +306,7 @@ jobs: upload_cl_node_coverage_artifact: true upload_cl_node_coverage_artifact_prefix: cl_node_coverage_data_ enable_otel_traces_for_ocr2_plugins: ${{ contains(join(github.event.pull_request.labels.*.name, ' '), 'enable tracing') }} + team: "CCIP" secrets: QA_AWS_REGION: ${{ secrets.QA_AWS_REGION }} QA_AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }} From 79811e50639a9b040c01ac46b047f91a46307f64 Mon Sep 17 00:00:00 2001 From: Bartek Tofel Date: Fri, 29 Nov 2024 16:44:37 +0100 Subject: [PATCH 9/9] update example.env --- integration-tests/example.env | 2 ++ 1 file changed, 2 insertions(+) diff --git a/integration-tests/example.env b/integration-tests/example.env index 35db6263644..fbc9a76091e 100644 --- a/integration-tests/example.env +++ b/integration-tests/example.env @@ -3,6 +3,7 @@ ########## General Test Settings ########## export CHAINLINK_ENV_USER="Satoshi-Nakamoto" # Name of the person running the tests (change to your own) +export CHAINLINK_USER_TEAM="My awesome team" # Name of the team you are running the test for (change to your own) export TEST_LOG_LEVEL="info" # info | debug | trace ########## Soak/Chaos/Load Test Specific Settings ########## @@ -16,6 +17,7 @@ export SLACK_API_KEY="xoxb-example-key" # API key used to report soak test resul export SLACK_CHANNEL="C000000000" # Channel ID for the slack bot to post test results export SLACK_USER="U000000000" # User ID of the person running the soak tests to properly notify them +##### ---- applicable only, when using legacy EVMClient ---- ##### ########## Network Settings ########## # General EVM Settings, used only for quick prototyping when using GENERAL as the SELECTED_NETWORK export EVM_NAME="General EVM"