Skip to content

Removed flakey testcases and optimized for parallel test runs #5278

Removed flakey testcases and optimized for parallel test runs

Removed flakey testcases and optimized for parallel test runs #5278

# 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
jobs:
build-chainlink:
environment: integration
permissions:
id-token: write
contents: read
name: Build Chainlink Image
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Get core ref from PR body
if: github.event_name == 'pull_request'
run: |
comment=$(gh pr view https://github.com/${{ github.repository }}/pull/${{ github.event.pull_request.number }} --json body -q '.body')
core_ref=$(echo $comment | grep -oP 'core ref: \K\S+' || true)
if [ ! -z "$core_ref" ]; then
echo "CUSTOM_CORE_REF=${core_ref}" >> "${GITHUB_ENV}"
else
echo "CUSTOM_CORE_REF=develop" >> "${GITHUB_ENV}"
fi
- name: Collect Metrics
id: collect-gha-metrics
uses: smartcontractkit/push-gha-metrics-action@dea9b546553cb4ca936607c2267a09c004e4ab3f # v3.0.0
with:
id: build-chainlink
basic-auth: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }}
hostname: ${{ secrets.GRAFANA_INTERNAL_HOST }}
org-id: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }}
this-job-name: Build Chainlink Image
continue-on-error: true
- name: Checkout the repo
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Build the image
uses: smartcontractkit/chainlink-github-actions/chainlink-testing-framework/build-image@e29366cdecfe6befff9ab8c3cfe4825218505d58 # v2.3.16
env:
GH_TOKEN: ${{ github.token }}
with:
push_tag: ""
cl_repo: smartcontractkit/chainlink
cl_ref: ${{ env.CUSTOM_CORE_REF }}
dep_common_sha: ${{ github.event.pull_request.head.sha }}
should_checkout: true
QA_AWS_REGION: ""
QA_AWS_ROLE_TO_ASSUME: ""
solana-build-relay:
environment: integration
permissions:
id-token: write
contents: read
name: Solana Build Relay
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
runs-on: ubuntu-latest
steps:
- name: Get solana ref from PR body
if: github.event_name == 'pull_request'
run: |
comment=$(gh pr view https://github.com/${{ github.repository }}/pull/${{ github.event.pull_request.number }} --json body -q '.body')
solana_ref=$(echo $comment | grep -oP 'solana ref: \K\S+' || true)
if [ ! -z "$solana_ref" ]; then
echo "CUSTOM_SOLANA_REF=${solana_ref}" >> "${GITHUB_ENV}"
else
echo "CUSTOM_SOLANA_REF=develop" >> "${GITHUB_ENV}"
fi
- name: Collect Metrics
id: collect-gha-metrics
uses: smartcontractkit/push-gha-metrics-action@dea9b546553cb4ca936607c2267a09c004e4ab3f # v3.0.0
with:
id: solana-build-relay
basic-auth: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }}
hostname: ${{ secrets.GRAFANA_INTERNAL_HOST }}
org-id: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }}
this-job-name: Solana Build Relay
continue-on-error: true
- name: Checkout the solana repo
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
repository: smartcontractkit/chainlink-solana
ref: ${{ env.CUSTOM_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: Build & Test
run: make test_relay_unit
starknet-build-relay:
environment: integration
permissions:
id-token: write
contents: read
name: Starknet Build Relay
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
runs-on: ubuntu-latest
steps:
- name: Get starknet ref from PR body
if: github.event_name == 'pull_request'
run: |
comment=$(gh pr view https://github.com/${{ github.repository }}/pull/${{ github.event.pull_request.number }} --json body -q '.body')
starknet_ref=$(echo $comment | grep -oP 'starknet ref: \K\S+' || true)
if [ ! -z "$starknet_ref" ]; then
echo "CUSTOM_STARKNET_REF=${starknet_ref}" >> "${GITHUB_ENV}"
else
echo "CUSTOM_STARKNET_REF=develop" >> "${GITHUB_ENV}"
fi
- name: Collect Metrics
id: collect-gha-metrics
uses: smartcontractkit/push-gha-metrics-action@dea9b546553cb4ca936607c2267a09c004e4ab3f # v3.0.0
with:
id: starknet-build-relay
basic-auth: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }}
hostname: ${{ secrets.GRAFANA_INTERNAL_HOST }}
org-id: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }}
this-job-name: Starknet Build Relay
continue-on-error: true
- name: Checkout the starknet repo
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
repository: smartcontractkit/chainlink-starknet
ref: ${{ env.CUSTOM_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: Collect Metrics
# id: collect-gha-metrics
# uses: smartcontractkit/push-gha-metrics-action@dea9b546553cb4ca936607c2267a09c004e4ab3f # v3.0.0
# with:
# id: terra-build-relay
# basic-auth: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }}
# hostname: ${{ secrets.GRAFANA_INTERNAL_HOST }}
# org-id: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }}
# this-job-name: Terra Build Relay
# continue-on-error: true
# - name: Checkout the terra repo
# uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
# 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/...