Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 77 additions & 24 deletions .github/workflows/integration-tests-smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,28 +20,42 @@ concurrency:
cancel-in-progress: true

env:
# for PR builds, ${{ github.sha }} is the temporary merge commit, we want the head commit instead
SN_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
TEST_LOG_LEVEL: debug
CL_ECR: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com/chainlink
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these were just unused

ENV_JOB_IMAGE: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com/chainlink-starknet-tests:${{ github.sha }}
GAUNTLET_PP_IMAGE: ${{ secrets.PROD_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.PROD_AWS_REGION }}.amazonaws.com/gauntlet-plus-plus:v2.5.0
CL_ECR: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com

jobs:
build_chainlink_image:
build_chainlink_images:
name: Build Chainlink Image
runs-on: ubuntu-latest
strategy:
matrix:
include:
- platform: "linux/arm64"
runner: ubuntu-24.04-arm
arch: arm64
- platform: "linux/amd64"
runner: ubuntu-24.04
arch: amd64
runs-on: ${{ matrix.runner }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
environment: integration
permissions:
id-token: write
contents: read
outputs:
docker-image-sha-digest-arm64:
${{ steps.build-core.outputs.docker-image-sha-digest-arm64 }}
docker-image-sha-digest-amd64:
${{ steps.build-core.outputs.docker-image-sha-digest-amd64 }}
steps:
- name: Check if chainlink-starknet image exists
id: check-image
uses: smartcontractkit/chainlink-github-actions/docker/image-exists@fc3e0df622521019f50d772726d6bf8dc919dd38 # v2.3.19
with:
repository: chainlink
tag: starknet.${{ github.sha }}
tag: starknet.${{ env.SN_SHA }}
AWS_REGION: ${{ secrets.QA_AWS_REGION }}
AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }}
- name: Get core ref from PR body
Expand All @@ -60,24 +74,63 @@ jobs:
echo "CUSTOM_CORE_REF=${CL_REF}" >> "${GITHUB_ENV}"
env:
CL_REF: ${{ github.event.inputs.cl_branch_ref }}
- name: Checkout the repo
if: steps.check-image.outputs.exists == 'false'
uses: actions/checkout@v5
with:
repository: smartcontractkit/chainlink
ref: ${{ env.CUSTOM_CORE_REF }}
persist-credentials: false
- name: Build Image
id: build-core
if: steps.check-image.outputs.exists == 'false'
uses: smartcontractkit/.github/actions/ctf-build-image@7b28f2c598c26a8a0af8818b64d5344247752c71 # v0.1.3
uses: smartcontractkit/.github/actions/ctf-build-image@61c6a8d174fcae10d436cc38c577f962396babbe # v1.3.0
with:
cl_repo: smartcontractkit/chainlink
cl_ref: ${{ env.CUSTOM_CORE_REF }}
should_checkout: true
cl_dockerfile: plugins/chainlink.Dockerfile
# commit of the caller branch
dep_starknet_sha: ${{ github.event.pull_request.head.sha || github.sha }}
push_tag: ${{ env.CL_ECR }}:starknet.${{ github.sha }}
QA_AWS_REGION: ${{ secrets.QA_AWS_REGION }}
QA_AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }}
QA_PRIVATE_GHA_PULL: ${{ secrets.QA_PRIVATE_GHA_PULL }}
platform: ${{ matrix.platform }}
dockerfile: plugins/chainlink.Dockerfile
plugin-manifest-overrides: |
starknet=${{ env.SN_SHA }}
# registry info
docker-registry-url: ${{ env.CL_ECR }}
docker-repository-name: chainlink
image-tag: starknet.${{ env.SN_SHA }}-${{ matrix.arch }}
aws-region: ${{ secrets.QA_AWS_REGION }}
aws-role-arn: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }}
aws-account-number: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}
- name: Print Chainlink Image Built
run: |
echo "### chainlink image tag used for this test run :link:" >> $GITHUB_STEP_SUMMARY
echo "\`starknet.${{ github.sha }}\`" >> $GITHUB_STEP_SUMMARY
echo "\`starknet.${{ env.SN_SHA }}-${{ matrix.arch }}\`" >> $GITHUB_STEP_SUMMARY

build_multiplatform_image:
name: Build Multi-Platform Chainlink Image
needs: build_chainlink_images
environment: integration
permissions:
id-token: write
contents: read
runs-on: ubuntu-24.04
steps:
- uses: smartcontractkit/.github/actions/build-push-docker-manifest@ce87497eb287565c796a8a781508be949f3ed1e2 # [email protected]
with:
# Used for verifying the image signed with cosign.
cosign-oidc-identity-regexp: "^https://github.com/smartcontractkit/.*$"
docker-registry-url: ${{ env.CL_ECR }}
docker-repository-name: chainlink
docker-manifest-sign: true
docker-manifest-tag: starknet.${{ env.SN_SHA }}
docker-image-name-digests: >-
${{
format(
'{0},{1}',
needs.build_chainlink_images.outputs.docker-image-sha-digest-amd64,
needs.build_chainlink_images.outputs.docker-image-sha-digest-arm64
)
}}
aws-region: ${{ secrets.QA_AWS_REGION }}
aws-role-arn: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }}
aws-account-number: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}


build_test_image:
environment: integration
Expand Down Expand Up @@ -110,7 +163,7 @@ jobs:
run_tests:
name: Run Smoke Tests
runs-on: ubuntu24.04-16cores-64GB
needs: [build_chainlink_image, build_test_image]
needs: [build_multiplatform_image, build_test_image]
environment: integration
env:
INTERNAL_DOCKER_REPO: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com
Expand Down Expand Up @@ -166,8 +219,8 @@ jobs:
aws_registries: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}
test_command_to_run: nix develop -c sh -c "make test-integration-smoke-ci"
test_download_vendor_packages_command: cd integration-tests && nix develop -c go mod download
cl_repo: ${{ env.CL_ECR }}
cl_image_tag: starknet.${{ github.sha }}
cl_repo: ${{ env.CL_ECR }}/chainlink
cl_image_tag: starknet.${{ env.SN_SHA }}
token: ${{ secrets.GITHUB_TOKEN }}
go_mod_path: ./integration-tests/go.mod
QA_AWS_REGION: ${{ secrets.QA_AWS_REGION }}
Expand All @@ -182,6 +235,6 @@ jobs:
enable-gap: false
env:
KILLGRAVE_INTERNAL_IMAGE: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com/friendsofgo/killgrave
CHAINLINK_IMAGE: ${{ env.CL_ECR }}
CHAINLINK_VERSION: starknet.${{ github.sha }}
CHAINLINK_USER_TEAM: ${{ github.event.inputs.team || 'BIX' }}
CHAINLINK_IMAGE: ${{ env.CL_ECR }}/chainlink
CHAINLINK_VERSION: starknet.${{ env.SN_SHA }}
CHAINLINK_USER_TEAM: ${{ github.event.inputs.team || 'DF' }}
Loading