Skip to content

Bump ajv from 6.12.6 to 6.14.0 in /contracts/release/ccip in the npm_and_yarn group across 1 directory #29

Bump ajv from 6.12.6 to 6.14.0 in /contracts/release/ccip in the npm_and_yarn group across 1 directory

Bump ajv from 6.12.6 to 6.14.0 in /contracts/release/ccip in the npm_and_yarn group across 1 directory #29

name: CRE Workflow DON Benchmark
on:
workflow_dispatch:
inputs:
chainlink_image_tag:
required: true
type: string
description: "The tag of the Chainlink image to use for the tests."
chainlink_version:
required: true
type: string
description: "The version of Chainlink repository to use for the tests."
default: "develop"
workflow_call:
inputs:
chainlink_image_tag:
required: true
type: string
description: "The tag of the Chainlink image to use for the tests."
chainlink_version:
required: true
type: string
description: "The version of Chainlink repository to use for the tests."
default: "develop"
pull_request:
types: [labeled, synchronize]
jobs:
workflow-don-benchmark:
runs-on: ubuntu-latest
environment: "integration"
timeout-minutes: 20
permissions:
contents: read
id-token: write
if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || github.event_name == 'workflow_call' || (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'run-cre-workflow-don-benchmark'))
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event_name == 'pull_request' && github.sha || inputs.chainlink_version }}
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: core/scripts/go.mod
# We need to login to ECR to allow the test to pull the Job Distributor and Chainlink images
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1
with:
aws-region: ${{ secrets.QA_AWS_REGION }}
role-to-assume: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }}
role-duration-seconds: 1800
mask-aws-account-id: true
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@062b18b96a7aff071d4dc91bc00c4c1a7945b076 # v2.0.1
with:
registries: ${{ format('{0},{1}', secrets.QA_AWS_ACCOUNT_NUMBER, secrets.AWS_ACCOUNT_ID_PROD) }}
env:
AWS_REGION: ${{ secrets.QA_AWS_REGION }}
- name: Set date variable
id: set-date
if: ${{ github.event_name == 'pull_request' }}
run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT
- name: Set up cAdvisor
shell: bash
run: |
sudo docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--network host \
--detach=true \
--name=cadvisor \
--privileged \
--device=/dev/kmsg \
gcr.io/cadvisor/cadvisor:latest
- name: Create Prometheus config
shell: bash
run: |
cat > prometheus.yml<<EOF
global:
scrape_interval: 5s
scrape_configs:
- job_name: 'cadvisor'
static_configs:
- targets: ['localhost:8080']
EOF
- name: Start Prometheus
shell: bash
run: |
docker run -d \
--name prometheus \
--network host \
-p 9090:9090 \
-v ${{ github.workspace }}/prometheus.yml:/etc/prometheus/prometheus.yml:ro \
prom/prometheus:latest \
--config.file=/etc/prometheus/prometheus.yml
- name: Start the test
shell: bash
env:
E2E_JD_IMAGE: "${{ secrets.AWS_ACCOUNT_ID_PROD }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com/job-distributor"
E2E_JD_VERSION: "0.9.0"
E2E_TEST_CHAINLINK_IMAGE: "${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com/chainlink"
E2E_TEST_CHAINLINK_VERSION: ${{ github.event_name == 'pull_request' && format('nightly-{0}-plugins-testing', steps.set-date.outputs.date) || inputs.chainlink_image_tag }}
# Anvil developer key, not a secret
PRIVATE_KEY: "ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"
CTF_CONFIGS: "workflow-don-benchmark-ci.toml"
LOAD_TEST: "true"
CI: "true"
GH_SHA: ${{ github.sha }}
# Use local prometheus
PROMETHEUS_URL: "http://localhost:9090"
run: |
cd system-tests/tests/load/cre
go test -run TestLoad_Workflow_Streams_MockCapabilities -timeout 15m
- name: Upload node logs
if: always()
uses: actions/upload-artifact@v4
timeout-minutes: 2
continue-on-error: true
with:
name: node logs
path: |
system-tests/tests/load/cre/logs
retention-days: 5
- name: Upload performance reports
uses: actions/upload-artifact@v4
timeout-minutes: 2
continue-on-error: true
with:
name: performance reports
path: |
system-tests/tests/load/cre/performance_reports
retention-days: 30
- name: Teardown
if: always()
run: |
docker rm -f cadvisor prometheus