Skip to content

Commit

Permalink
Migrate automation-benchmark-tests.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
lukaszcl committed Sep 9, 2024
1 parent 0eb157f commit 06565ac
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 87 deletions.
111 changes: 25 additions & 86 deletions .github/workflows/automation-benchmark-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,6 @@ name: Automation Benchmark Test
on:
workflow_dispatch:
inputs:
testType:
description: Type of test to run (benchmark, soak)
required: true
default: benchmark
type: string
test_config_override_path:
description: Path to a test config file used to override the default test config
required: false
Expand All @@ -15,92 +10,36 @@ on:
description: Key to run tests with custom test secrets
required: false
type: string
slackMemberID:
description: Notifies test results (Not your @)
required: true
default: U02Q14G80TY
type: string
chainlink_version:
description: Chainlink image version to use
default: develop
required: true
type: string

jobs:
automation_benchmark:
environment: integration
permissions:
checks: write
pull-requests: write
id-token: write
contents: read
name: Automation Benchmark Test
runs-on: ubuntu22.04-16cores-64GB
env:
run-e2e-tests-workflow:
name: Run E2E Tests
uses: ./.github/workflows/run-e2e-tests-reusable-workflow.yml
with:
test_ids: 'benchmark/keeper_test.go:TestAutomationBenchmark'
test_config_override_path: ${{ inputs.test_config_override_path }}
chainlink_version: ${{ github.sha }}
slack_notification_after_tests_channel_id: C03KJ5S7KEK
secrets:
QA_AWS_REGION: ${{ secrets.QA_AWS_REGION }}
QA_AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }}
QA_AWS_ACCOUNT_NUMBER: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}
QA_PYROSCOPE_INSTANCE: ${{ secrets.QA_PYROSCOPE_INSTANCE }}
QA_PYROSCOPE_KEY: ${{ secrets.QA_PYROSCOPE_KEY }}
QA_KUBECONFIG: ${{ secrets.QA_KUBECONFIG }}
GRAFANA_INTERNAL_TENANT_ID: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }}
GRAFANA_INTERNAL_BASIC_AUTH: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }}
GRAFANA_INTERNAL_HOST: ${{ secrets.GRAFANA_INTERNAL_HOST }}
GRAFANA_INTERNAL_URL_SHORTENER_TOKEN: ${{ secrets.GRAFANA_INTERNAL_URL_SHORTENER_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
AWS_REGION: ${{ secrets.QA_AWS_REGION }}
AWS_OIDC_IAM_ROLE_VALIDATION_PROD_ARN: ${{ secrets.AWS_OIDC_IAM_ROLE_VALIDATION_PROD_ARN }}
AWS_API_GW_HOST_GRAFANA: ${{ secrets.AWS_API_GW_HOST_GRAFANA }}
TEST_SECRETS_OVERRIDE_BASE64: ${{ secrets[inputs.test_secrets_override_key] }}
SLACK_BOT_TOKEN: ${{ secrets.QA_SLACK_API_KEY }}
SLACK_API_KEY: ${{ secrets.QA_SLACK_API_KEY }}
SLACK_CHANNEL: C03KJ5S7KEK
CHAINLINK_ENV_USER: ${{ github.actor }}
REF_NAME: ${{ github.head_ref || github.ref_name }}
steps:
- name: Checkout the repo
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
ref: ${{ env.REF_NAME }}
- name: Get Slack config and mask base64 config
run: |
SLACK_USER=$(jq -r '.inputs.slackMemberID' $GITHUB_EVENT_PATH)
echo ::add-mask::$SLACK_USER
echo SLACK_USER=$SLACK_USER >> $GITHUB_ENV
- name: Show test config override path in summary
if: ${{ inputs.test_config_override_path }}
run: |
echo "### Test config override path" >> $GITHUB_STEP_SUMMARY
echo "[${{ inputs.test_config_override_path }}]($GITHUB_SERVER_URL/$GITHUB_REPOSITORY/blob/${{ github.sha }}/${{ inputs.test_config_override_path }})" >> $GITHUB_STEP_SUMMARY
- name: Show chainlink version in summary
run: |
echo "### Chainlink version" >> $GITHUB_STEP_SUMMARY
echo "${{ inputs.chainlink_version }}" >> $GITHUB_STEP_SUMMARY
- name: Build Test Image
id: build_test_image
uses: ./.github/actions/build-test-image
with:
QA_AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }}
QA_AWS_REGION: ${{ secrets.QA_AWS_REGION }}
QA_AWS_ACCOUNT_NUMBER: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}
suites: benchmark chaos reorg load
- name: Run Tests
uses: smartcontractkit/chainlink-github-actions/chainlink-testing-framework/run-tests@94cb11f4bd545607a2f221c6685052b3abee723d # v2.3.32
env:
DETACH_RUNNER: true
TEST_SUITE: benchmark
TEST_ARGS: -test.timeout 720h
ENV_JOB_IMAGE: ${{ steps.build_test_image.outputs.test_image }}
INTERNAL_DOCKER_REPO: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com
TEST_TYPE: ${{ github.event.inputs.testType }}
TEST_TEST_TYPE: ${{ github.event.inputs.testType }}
RR_MEM: 4Gi
TEST_LOG_LEVEL: info
E2E_TEST_CHAINLINK_IMAGE: ${{ secrets.QA_AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.QA_AWS_REGION }}.amazonaws.com/chainlink
E2E_TEST_CHAINLINK_VERSION: ${{ inputs.chainlink_version }}
with:
test_command_to_run: cd integration-tests && go test -timeout 30m -v -run ^TestAutomationBenchmark$ ./benchmark -count=1
test_download_vendor_packages_command: make gomod
test_secrets_override_base64: ${{ secrets[inputs.test_secrets_override_key] }}
test_config_override_path: ${{ inputs.test_config_override_path }}
token: ${{ secrets.GITHUB_TOKEN }}
should_cleanup: false
go_mod_path: ./integration-tests/go.mod
QA_AWS_REGION: ${{ secrets.QA_AWS_REGION }}
QA_AWS_ROLE_TO_ASSUME: ${{ secrets.QA_AWS_ROLE_TO_ASSUME }}
QA_KUBECONFIG: ${{ secrets.QA_KUBECONFIG }}
- name: Collect Metrics
if: always()
id: collect-gha-metrics
uses: smartcontractkit/push-gha-metrics-action@d9da21a2747016b3e13de58c7d4115a3d5c97935 # v3.0.1
with:
id: automation-benchmark-build-test-image
org-id: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }}
basic-auth: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }}
hostname: ${{ secrets.GRAFANA_INTERNAL_HOST }}
this-job-name: Automation Benchmark Test
continue-on-error: true
2 changes: 1 addition & 1 deletion .github/workflows/run-e2e-tests-reusable-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ env:
TEST_LOG_LEVEL: ${{ inputs.test_log_level }}
METRICS_COLLECTION_ID: chainlink-e2e-tests
SLACK_API_KEY: ${{ secrets.SLACK_API_KEY }}
SLACK_CHANNEL: ${{ secrets.SLACK_CHANNEL }}
SLACK_CHANNEL: ${{ inputs.slack_notification_after_tests_channel_id || secrets.SLACK_CHANNEL }}

jobs:
validate-inputs:
Expand Down

0 comments on commit 06565ac

Please sign in to comment.