From 21422c4ddb6bc496c1b37413967d32210273377d Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko Date: Thu, 16 Jul 2026 14:18:08 +0200 Subject: [PATCH 1/9] Build external repos that depend on evm --- .github/workflows/build_external.yml | 83 ++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/build_external.yml diff --git a/.github/workflows/build_external.yml b/.github/workflows/build_external.yml new file mode 100644 index 0000000000..a95a6f54b7 --- /dev/null +++ b/.github/workflows/build_external.yml @@ -0,0 +1,83 @@ +# Builds external repositories that use this so we can create tickets to update them before their ci pipelines break. +# NOTE: This is not a required check to merge, merely a check so you know to update the products that rely on this. +name: Build External Repositories +on: + pull_request: + +# Only run 1 of this workflow at a time per PR +concurrency: + group: integration-build-check-${{ github.ref }} + cancel-in-progress: true + +permissions: {} + +jobs: + init: + runs-on: ubuntu-latest + permissions: + contents: read + outputs: + core-ref: ${{ steps.set-git-refs.outputs.core-ref }} + steps: + # Checkout the shared scripts from the smartcontractkit/.github repo. + - name: Checkout shared .github scripts + uses: actions/checkout@v4 + with: + repository: smartcontractkit/.github + # TODO: pin to a commit SHA once the get-refs-from-pr-body.js PR is merged into smartcontractkit/.github. + ref: feature/get-ref-from-pr-body + persist-credentials: false + sparse-checkout: tools/scripts/get-refs-from-pr-body.js + sparse-checkout-cone-mode: false + path: dot_github + - name: Get refs from PR body + id: set-git-refs + uses: actions/github-script@v7 + with: + script: | + const script = require(`${process.env.GITHUB_WORKSPACE}/dot_github/tools/scripts/get-refs-from-pr-body.js`) + await script({ github, context, core }) + + build-chainlink: + needs: init + environment: + name: integration + deployment: false + permissions: + contents: read + id-token: write + name: Build Chainlink + runs-on: ubuntu-latest + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Checkout the chainlink-evm repo + uses: actions/checkout@v4 + with: + repository: smartcontractkit/chainlink-evm + persist-credentials: false + path: chainlink-evm + + - name: Checkout the chainlink core repo + uses: actions/checkout@v4 + with: + repository: smartcontractkit/chainlink + ref: ${{ needs.init.outputs.core-ref }} + persist-credentials: false + path: chainlink + + - name: Setup Go + uses: ./chainlink-evm/.github/actions/setup-go + with: + go-version-file: "chainlink/go.mod" + only-modules: "true" + + - name: Build /chainlink + shell: bash + env: + CL_EVM_SHA: ${{ github.event.pull_request.head.sha }} + working-directory: chainlink + run: | + go get "github.com/smartcontractkit/chainlink-evm@${CL_EVM_SHA}" + make gomodtidy + make install-chainlink From b20416be45cda74a36354ac014d5bd0553738eae Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko Date: Thu, 16 Jul 2026 18:53:00 +0200 Subject: [PATCH 2/9] Pin to commit --- .github/workflows/build_external.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build_external.yml b/.github/workflows/build_external.yml index a95a6f54b7..796c88e928 100644 --- a/.github/workflows/build_external.yml +++ b/.github/workflows/build_external.yml @@ -24,8 +24,7 @@ jobs: uses: actions/checkout@v4 with: repository: smartcontractkit/.github - # TODO: pin to a commit SHA once the get-refs-from-pr-body.js PR is merged into smartcontractkit/.github. - ref: feature/get-ref-from-pr-body + ref: 79a5c885eba3814105eb7f4848b611e4e42dd55e persist-credentials: false sparse-checkout: tools/scripts/get-refs-from-pr-body.js sparse-checkout-cone-mode: false From 79992b076b66e3d3d2ee08f2460dc113c359c3b9 Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko <34754799+dhaidashenko@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:54:53 +0200 Subject: [PATCH 3/9] Update .github/workflows/build_external.yml Co-authored-by: chainchad <96362174+chainchad@users.noreply.github.com> --- .github/workflows/build_external.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_external.yml b/.github/workflows/build_external.yml index 796c88e928..cce7b7ebbe 100644 --- a/.github/workflows/build_external.yml +++ b/.github/workflows/build_external.yml @@ -58,7 +58,7 @@ jobs: path: chainlink-evm - name: Checkout the chainlink core repo - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: repository: smartcontractkit/chainlink ref: ${{ needs.init.outputs.core-ref }} From 3ba8a0226e39e018c149ef10f1dd008f7b451917 Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko <34754799+dhaidashenko@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:55:01 +0200 Subject: [PATCH 4/9] Update .github/workflows/build_external.yml Co-authored-by: chainchad <96362174+chainchad@users.noreply.github.com> --- .github/workflows/build_external.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_external.yml b/.github/workflows/build_external.yml index cce7b7ebbe..ddebdae563 100644 --- a/.github/workflows/build_external.yml +++ b/.github/workflows/build_external.yml @@ -51,7 +51,7 @@ jobs: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: Checkout the chainlink-evm repo - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: repository: smartcontractkit/chainlink-evm persist-credentials: false From acb1f20e7b0d04c503f2104bddb4e7640a43a360 Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko <34754799+dhaidashenko@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:55:10 +0200 Subject: [PATCH 5/9] Update .github/workflows/build_external.yml Co-authored-by: chainchad <96362174+chainchad@users.noreply.github.com> --- .github/workflows/build_external.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_external.yml b/.github/workflows/build_external.yml index ddebdae563..195b952524 100644 --- a/.github/workflows/build_external.yml +++ b/.github/workflows/build_external.yml @@ -31,7 +31,7 @@ jobs: path: dot_github - name: Get refs from PR body id: set-git-refs - uses: actions/github-script@v7 + uses: actions/github-script@v9 with: script: | const script = require(`${process.env.GITHUB_WORKSPACE}/dot_github/tools/scripts/get-refs-from-pr-body.js`) From 80f4b08674a21499c6aacfc121586410b7f6a11c Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko <34754799+dhaidashenko@users.noreply.github.com> Date: Fri, 17 Jul 2026 15:55:18 +0200 Subject: [PATCH 6/9] Update .github/workflows/build_external.yml Co-authored-by: chainchad <96362174+chainchad@users.noreply.github.com> --- .github/workflows/build_external.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_external.yml b/.github/workflows/build_external.yml index 195b952524..707a7ed5f3 100644 --- a/.github/workflows/build_external.yml +++ b/.github/workflows/build_external.yml @@ -21,7 +21,7 @@ jobs: steps: # Checkout the shared scripts from the smartcontractkit/.github repo. - name: Checkout shared .github scripts - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: repository: smartcontractkit/.github ref: 79a5c885eba3814105eb7f4848b611e4e42dd55e From eb13d86f710218b8950b5ccc5c6b743b8eb7a99b Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko Date: Tue, 21 Jul 2026 15:53:54 +0200 Subject: [PATCH 7/9] Use action to get refs from pr body --- .github/workflows/build_external.yml | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build_external.yml b/.github/workflows/build_external.yml index 707a7ed5f3..3c7421f0c7 100644 --- a/.github/workflows/build_external.yml +++ b/.github/workflows/build_external.yml @@ -19,23 +19,12 @@ jobs: outputs: core-ref: ${{ steps.set-git-refs.outputs.core-ref }} steps: - # Checkout the shared scripts from the smartcontractkit/.github repo. - - name: Checkout shared .github scripts - uses: actions/checkout@v7 - with: - repository: smartcontractkit/.github - ref: 79a5c885eba3814105eb7f4848b611e4e42dd55e - persist-credentials: false - sparse-checkout: tools/scripts/get-refs-from-pr-body.js - sparse-checkout-cone-mode: false - path: dot_github - name: Get refs from PR body id: set-git-refs - uses: actions/github-script@v9 + uses: smartcontractkit/.github/actions/get-refs-from-pr-body@get-refs-from-pr-body/v1 with: - script: | - const script = require(`${process.env.GITHUB_WORKSPACE}/dot_github/tools/scripts/get-refs-from-pr-body.js`) - await script({ github, context, core }) + sigscanner-url: ${{ secrets.SIGSCANNER_URL }} + sigscanner-api-key: ${{ secrets.SIGSCANNER_API_KEY }} build-chainlink: needs: init From 5b19b0fd9c45dee2806758eeef2767369daf8b67 Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko Date: Fri, 7 Aug 2026 15:20:36 +0200 Subject: [PATCH 8/9] Switch to dedicated action --- .github/workflows/build_external.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_external.yml b/.github/workflows/build_external.yml index 3c7421f0c7..61cd1ca1c7 100644 --- a/.github/workflows/build_external.yml +++ b/.github/workflows/build_external.yml @@ -18,10 +18,12 @@ jobs: contents: read outputs: core-ref: ${{ steps.set-git-refs.outputs.core-ref }} + solana-ref: ${{ steps.set-git-refs.outputs.solana-ref }} + starknet-ref: ${{ steps.set-git-refs.outputs.starknet-ref }} steps: - name: Get refs from PR body id: set-git-refs - uses: smartcontractkit/.github/actions/get-refs-from-pr-body@get-refs-from-pr-body/v1 + uses: smartcontractkit/.github/actions/get-refs-from-pr-body@v1 with: sigscanner-url: ${{ secrets.SIGSCANNER_URL }} sigscanner-api-key: ${{ secrets.SIGSCANNER_API_KEY }} @@ -67,5 +69,5 @@ jobs: working-directory: chainlink run: | go get "github.com/smartcontractkit/chainlink-evm@${CL_EVM_SHA}" - make gomodtidy + go mod tidy make install-chainlink From 3d5014f8cb053c7f6921837368ecc27681619a81 Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko Date: Fri, 7 Aug 2026 15:23:33 +0200 Subject: [PATCH 9/9] fix version --- .github/workflows/build_external.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_external.yml b/.github/workflows/build_external.yml index 61cd1ca1c7..46291bee0a 100644 --- a/.github/workflows/build_external.yml +++ b/.github/workflows/build_external.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Get refs from PR body id: set-git-refs - uses: smartcontractkit/.github/actions/get-refs-from-pr-body@v1 + uses: smartcontractkit/.github/actions/get-refs-from-pr-body@get-refs-from-pr-body/v1 with: sigscanner-url: ${{ secrets.SIGSCANNER_URL }} sigscanner-api-key: ${{ secrets.SIGSCANNER_API_KEY }}