From 253de8f0142cf2522e650345a0ad2fab0cd8b4a5 Mon Sep 17 00:00:00 2001 From: Adam Hamrick Date: Thu, 5 Feb 2026 15:35:41 -0500 Subject: [PATCH 01/10] Adds branch-out uploading and flaky test protection --- .github/workflows/keystore.yml | 13 +++++++++---- .github/workflows/pkg.yml | 13 +++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index d513666170..b10a69e796 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -43,8 +43,14 @@ jobs: - name: Build run: go build -v ./... + # Runs go tests, uploads results, and skips quarantined flaky tests. - name: Unit Tests - run: go test ./... -coverpkg=./... -coverprofile=coverage.txt + uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 + with: + go-test-args: ./... -coverpkg=./... -coverprofile=coverage.txt + trunk-org-slug: chainlink + trunk-token: ${{ secrets.TRUNK_API_KEY }} + trunk-job-url: ${{ format('https://github.com/{0}/actions/runs/{1}/job/{2}/attempts/{3}', github.repository, github.run_id, job.check_run_id, github.run_attempt) }} build-race-tests: name: race tests @@ -94,7 +100,6 @@ jobs: steps: - name: Fail if any job ran and failed if: needs.changes.outputs.keystore-src == 'true' && - (needs.run-tests.result != 'success' || - needs.build-race-tests.result != 'success') + (needs.run-tests.result != 'success' || + needs.build-race-tests.result != 'success') run: exit 1 - diff --git a/.github/workflows/pkg.yml b/.github/workflows/pkg.yml index 72f3c31cd8..7692a2984a 100644 --- a/.github/workflows/pkg.yml +++ b/.github/workflows/pkg.yml @@ -8,7 +8,6 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up Go uses: ./.github/actions/setup-go with: @@ -18,8 +17,14 @@ jobs: - name: Build run: go build -v ./... + # Runs go tests, uploads results, and skips quarantined flaky tests. - name: Unit Tests - run: go test ./... -coverpkg=./... -coverprofile=coverage.txt + uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 + with: + go-test-args: ./... -coverpkg=./... -coverprofile=coverage.txt + trunk-org-slug: chainlink + trunk-token: ${{ secrets.TRUNK_API_KEY }} + trunk-job-url: ${{ format('https://github.com/{0}/actions/runs/{1}/job/{2}/attempts/{3}', github.repository, github.run_id, job.check_run_id, github.run_attempt) }} - name: Fuzz Tests # the amount of --seconds here is subject to change based on how long the CI job takes in the future @@ -34,11 +39,11 @@ jobs: if: failure() run: find . -type f|fgrep '/testdata/fuzz/'|while read f; do echo $f; cat $f; done - - name: Upload Go test results + - name: Upload Go test coverage if: always() uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 with: - name: go-test-results + name: go-test-coverage path: | ./coverage.txt From d84e9415e305f5b371394053cb884de8ed09bedb Mon Sep 17 00:00:00 2001 From: Adam Hamrick Date: Thu, 5 Feb 2026 15:47:34 -0500 Subject: [PATCH 02/10] Try fix version --- .github/workflows/keystore.yml | 3 +-- .github/workflows/pkg.yml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index b10a69e796..d9429f4dd6 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -45,12 +45,11 @@ jobs: # Runs go tests, uploads results, and skips quarantined flaky tests. - name: Unit Tests - uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 + uses: smartcontractkit/.github/actions/branch-out-upload@6d861dbe0a0825eb2211a6517c181edea0f7a892 # DEBUG: Checking fix version with: go-test-args: ./... -coverpkg=./... -coverprofile=coverage.txt trunk-org-slug: chainlink trunk-token: ${{ secrets.TRUNK_API_KEY }} - trunk-job-url: ${{ format('https://github.com/{0}/actions/runs/{1}/job/{2}/attempts/{3}', github.repository, github.run_id, job.check_run_id, github.run_attempt) }} build-race-tests: name: race tests diff --git a/.github/workflows/pkg.yml b/.github/workflows/pkg.yml index 7692a2984a..c4e1686c93 100644 --- a/.github/workflows/pkg.yml +++ b/.github/workflows/pkg.yml @@ -19,12 +19,11 @@ jobs: # Runs go tests, uploads results, and skips quarantined flaky tests. - name: Unit Tests - uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 + uses: smartcontractkit/.github/actions/branch-out-upload@6d861dbe0a0825eb2211a6517c181edea0f7a892 # DEBUG: Checking fix version with: go-test-args: ./... -coverpkg=./... -coverprofile=coverage.txt trunk-org-slug: chainlink trunk-token: ${{ secrets.TRUNK_API_KEY }} - trunk-job-url: ${{ format('https://github.com/{0}/actions/runs/{1}/job/{2}/attempts/{3}', github.repository, github.run_id, job.check_run_id, github.run_attempt) }} - name: Fuzz Tests # the amount of --seconds here is subject to change based on how long the CI job takes in the future From 295ea2f78aeeca6ca7b3ccc1beee8925002df33a Mon Sep 17 00:00:00 2001 From: Adam Hamrick Date: Thu, 5 Feb 2026 16:09:01 -0500 Subject: [PATCH 03/10] Use stable version --- .github/workflows/keystore.yml | 2 +- .github/workflows/pkg.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index d9429f4dd6..9e3acf4407 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -45,7 +45,7 @@ jobs: # Runs go tests, uploads results, and skips quarantined flaky tests. - name: Unit Tests - uses: smartcontractkit/.github/actions/branch-out-upload@6d861dbe0a0825eb2211a6517c181edea0f7a892 # DEBUG: Checking fix version + uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 with: go-test-args: ./... -coverpkg=./... -coverprofile=coverage.txt trunk-org-slug: chainlink diff --git a/.github/workflows/pkg.yml b/.github/workflows/pkg.yml index c4e1686c93..3df3473d03 100644 --- a/.github/workflows/pkg.yml +++ b/.github/workflows/pkg.yml @@ -19,7 +19,7 @@ jobs: # Runs go tests, uploads results, and skips quarantined flaky tests. - name: Unit Tests - uses: smartcontractkit/.github/actions/branch-out-upload@6d861dbe0a0825eb2211a6517c181edea0f7a892 # DEBUG: Checking fix version + uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 with: go-test-args: ./... -coverpkg=./... -coverprofile=coverage.txt trunk-org-slug: chainlink From 902bed10238095439b655b32a28d6cc63200073a Mon Sep 17 00:00:00 2001 From: Adam Hamrick Date: Fri, 13 Feb 2026 12:25:55 -0500 Subject: [PATCH 04/10] Simpler approach --- .github/workflows/pkg.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pkg.yml b/.github/workflows/pkg.yml index 3df3473d03..19f8b3e7b5 100644 --- a/.github/workflows/pkg.yml +++ b/.github/workflows/pkg.yml @@ -17,13 +17,22 @@ jobs: - name: Build run: go build -v ./... - # Runs go tests, uploads results, and skips quarantined flaky tests. + - name: Download gotestsum + run: go install gotest.tools/gotestsum@latest + - name: Unit Tests + id: run-tests + continue-on-error: true + run: gotestsum --junitfile test-results.xml -- ./... -coverpkg=./... -coverprofile=coverage.txt + + - name: Analyze and upload test results uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 with: - go-test-args: ./... -coverpkg=./... -coverprofile=coverage.txt - trunk-org-slug: chainlink + junit-file-path: test-results.xml + trunk-org-slug: smartcontractkit + trunk-previous-step-outcome: ${{ steps.run-tests.outcome }} trunk-token: ${{ secrets.TRUNK_API_KEY }} + trunk-job-url: ${{ format('https://github.com/{0}/actions/runs/{1}/job/{2}/attempts/{3}', github.repository, github.run_id, job.check_run_id, github.run_attempt) }} - name: Fuzz Tests # the amount of --seconds here is subject to change based on how long the CI job takes in the future From f76933a98156489eabcb1f1b0cfbec262f162908 Mon Sep 17 00:00:00 2001 From: Adam Hamrick Date: Fri, 13 Feb 2026 12:28:57 -0500 Subject: [PATCH 05/10] Keystore --- .github/workflows/keystore.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 9e3acf4407..9182311bb6 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -44,12 +44,22 @@ jobs: run: go build -v ./... # Runs go tests, uploads results, and skips quarantined flaky tests. + - name: Install gotestsum + run: go install gotest.tools/gotestsum@latest + - name: Unit Tests + id: run-tests + continue-on-error: true + run: gotestsum --junitfile test-results.xml -- ./... + + - name: Analyze and upload test results uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 with: - go-test-args: ./... -coverpkg=./... -coverprofile=coverage.txt - trunk-org-slug: chainlink + junit-file-path: test-results.xml + trunk-org-slug: smartcontractkit + trunk-previous-step-outcome: ${{ steps.run-tests.outcome }} trunk-token: ${{ secrets.TRUNK_API_KEY }} + trunk-job-url: ${{ format('https://github.com/{0}/actions/runs/{1}/job/{2}/attempts/{3}', github.repository, github.run_id, job.check_run_id, github.run_attempt) }} build-race-tests: name: race tests From 7be1a26262f687fe74dc18c87cf54d2dc1292718 Mon Sep 17 00:00:00 2001 From: Adam Hamrick Date: Fri, 13 Feb 2026 13:28:24 -0500 Subject: [PATCH 06/10] Fix slug and format --- .github/workflows/keystore.yml | 4 ++-- .github/workflows/pkg.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 9182311bb6..869f649fad 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -50,13 +50,13 @@ jobs: - name: Unit Tests id: run-tests continue-on-error: true - run: gotestsum --junitfile test-results.xml -- ./... + run: gotestsum --format standard-verbose --junitfile test-results.xml -- ./... - name: Analyze and upload test results uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 with: junit-file-path: test-results.xml - trunk-org-slug: smartcontractkit + trunk-org-slug: chainlink trunk-previous-step-outcome: ${{ steps.run-tests.outcome }} trunk-token: ${{ secrets.TRUNK_API_KEY }} trunk-job-url: ${{ format('https://github.com/{0}/actions/runs/{1}/job/{2}/attempts/{3}', github.repository, github.run_id, job.check_run_id, github.run_attempt) }} diff --git a/.github/workflows/pkg.yml b/.github/workflows/pkg.yml index 19f8b3e7b5..89d1557d92 100644 --- a/.github/workflows/pkg.yml +++ b/.github/workflows/pkg.yml @@ -23,13 +23,13 @@ jobs: - name: Unit Tests id: run-tests continue-on-error: true - run: gotestsum --junitfile test-results.xml -- ./... -coverpkg=./... -coverprofile=coverage.txt + run: gotestsum --format standard-verbose --junitfile test-results.xml -- ./... -coverpkg=./... -coverprofile=coverage.txt - name: Analyze and upload test results uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 with: junit-file-path: test-results.xml - trunk-org-slug: smartcontractkit + trunk-org-slug: chainlink trunk-previous-step-outcome: ${{ steps.run-tests.outcome }} trunk-token: ${{ secrets.TRUNK_API_KEY }} trunk-job-url: ${{ format('https://github.com/{0}/actions/runs/{1}/job/{2}/attempts/{3}', github.repository, github.run_id, job.check_run_id, github.run_attempt) }} From a8999bac1d41bf59318216f270bcde35ce47b441 Mon Sep 17 00:00:00 2001 From: Adam Hamrick Date: Thu, 19 Feb 2026 16:59:45 -0500 Subject: [PATCH 07/10] Fix verbosity --- .github/workflows/keystore.yml | 2 +- .github/workflows/pkg.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 869f649fad..4ea204f6ac 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -50,7 +50,7 @@ jobs: - name: Unit Tests id: run-tests continue-on-error: true - run: gotestsum --format standard-verbose --junitfile test-results.xml -- ./... + run: gotestsum --format standard-quiet --junitfile test-results.xml -- ./... - name: Analyze and upload test results uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 diff --git a/.github/workflows/pkg.yml b/.github/workflows/pkg.yml index 89d1557d92..3ba6a9e554 100644 --- a/.github/workflows/pkg.yml +++ b/.github/workflows/pkg.yml @@ -23,7 +23,7 @@ jobs: - name: Unit Tests id: run-tests continue-on-error: true - run: gotestsum --format standard-verbose --junitfile test-results.xml -- ./... -coverpkg=./... -coverprofile=coverage.txt + run: gotestsum --format standard-quiet --junitfile test-results.xml -- ./... -coverpkg=./... -coverprofile=coverage.txt - name: Analyze and upload test results uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 From 541eb9acc4e5e4b5de728ab29c8e3503df68be11 Mon Sep 17 00:00:00 2001 From: Adam Hamrick Date: Thu, 19 Feb 2026 17:00:54 -0500 Subject: [PATCH 08/10] Paths filter --- .github/workflows/keystore.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 4ea204f6ac..662ed47e76 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -21,6 +21,7 @@ jobs: filters: | src: - 'keystore/**' + - '.github/keystore.yml' run-tests: name: run tests From 40b9f9cfb2a31f7f7f06b760004933cb9d1a38df Mon Sep 17 00:00:00 2001 From: Adam Hamrick Date: Thu, 19 Feb 2026 17:04:44 -0500 Subject: [PATCH 09/10] typo --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 662ed47e76..e3df529f16 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -21,7 +21,7 @@ jobs: filters: | src: - 'keystore/**' - - '.github/keystore.yml' + - '.github/workflows/keystore.yml' run-tests: name: run tests From 620acd449087cb0492e065756b6d751fe7b341c5 Mon Sep 17 00:00:00 2001 From: Adam Hamrick Date: Fri, 20 Feb 2026 09:29:14 -0500 Subject: [PATCH 10/10] Fix path --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index e3df529f16..06f01638ed 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -56,7 +56,7 @@ jobs: - name: Analyze and upload test results uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 with: - junit-file-path: test-results.xml + junit-file-path: keystore/test-results.xml trunk-org-slug: chainlink trunk-previous-step-outcome: ${{ steps.run-tests.outcome }} trunk-token: ${{ secrets.TRUNK_API_KEY }}