Changes required for consensus capability duplicate outcomes protection #8364
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 create tickets 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 }} | |
solana-ref: ${{ steps.set-git-refs.outputs.solana-ref }} | |
starknet-ref: ${{ steps.set-git-refs.outputs.starknet-ref }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Get refs from PR body | |
id: set-git-refs | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const script = require('./.github/scripts/get-refs-from-pr-body.js') | |
await script({ github, context, core }) | |
build-chainlink: | |
needs: init | |
environment: integration | |
permissions: | |
contents: read | |
id-token: write | |
name: Build Chainlink | |
runs-on: ubuntu-latest | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Checkout the chainlink-common repo | |
uses: actions/checkout@v4 | |
with: | |
repository: smartcontractkit/chainlink-common | |
persist-credentials: false | |
path: chainlink-common | |
- 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-common/.github/actions/setup-go | |
with: | |
go-version-file: "chainlink/go.mod" | |
only-modules: "true" | |
- name: Build /chainlink | |
shell: bash | |
env: | |
COMMON_SHA: ${{ github.event.pull_request.head.sha }} | |
working-directory: chainlink | |
run: | | |
go get "github.com/smartcontractkit/chainlink-common@${COMMON_SHA}" | |
go mod tidy | |
make install-chainlink | |
solana-build-relay: | |
needs: init | |
environment: integration | |
permissions: | |
id-token: write | |
contents: read | |
name: Solana Build Relay | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the solana repo | |
uses: actions/checkout@v4 | |
with: | |
repository: smartcontractkit/chainlink-solana | |
ref: ${{ needs.init.outputs.solana-ref }} | |
- name: Setup Go | |
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 | |
with: | |
go-version-file: "go.mod" | |
- name: Replace chainlink-common deps | |
run: | | |
go get github.com/smartcontractkit/chainlink-common@${{ github.event.pull_request.head.sha }} | |
go mod tidy | |
- name: Install Solana CLI | |
run: ./scripts/install-solana-ci.sh | |
- name: Update mocks | |
run: | | |
make mockery | |
make rm-mocked | |
mockery | |
- name: Build & Test | |
run: make test_relay_unit | |
starknet-build-relay: | |
needs: init | |
environment: integration | |
permissions: | |
id-token: write | |
contents: read | |
name: Starknet Build Relay | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the starknet repo | |
uses: actions/checkout@v4 | |
with: | |
repository: smartcontractkit/chainlink-starknet | |
ref: ${{ needs.init.outputs.starknet-ref }} | |
- name: Setup Go | |
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 | |
with: | |
go-version-file: ./relayer/go.mod | |
- name: Replace chainlink-common deps | |
run: | | |
cd relayer | |
go get github.com/smartcontractkit/chainlink-common@${{ github.event.pull_request.head.sha }} | |
go mod tidy | |
- name: Install Nix | |
uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26 | |
with: | |
nix_path: nixpkgs=channel:nixos-unstable | |
- name: Build | |
run: nix develop -c make build-go-relayer | |
- name: Test | |
run: nix develop -c make test-unit-go | |
# terra-build-relay: | |
# environment: integration | |
# permissions: | |
# id-token: write | |
# contents: read | |
# name: Terra Build Relay | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout the terra repo | |
# uses: actions/checkout@v4 | |
# with: | |
# repository: smartcontractkit/chainlink-terra | |
# - name: Setup Go | |
# uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 | |
# with: | |
# go-version-file: "go.mod" | |
# - name: Replace chainlink-common deps | |
# run: | | |
# go get github.com/smartcontractkit/chainlink-common@${{ github.event.pull_request.head.sha }} | |
# go mod tidy | |
# - name: Install Nix | |
# uses: cachix/install-nix-action@v14 | |
# with: | |
# install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install | |
# install_options: "--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve" | |
# extra_nix_config: | | |
# experimental-features = nix-command flakes | |
# access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | |
# - name: Compile relay | |
# run: nix develop -c go build -v ./pkg/terra/... | |
# - name: Run unit tests | |
# run: nix develop -c go test -v ./pkg/terra/... |