-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CCIP-4303:Enabling in-memory test in integration-tests workflow (#15388)
* CCIP-4303:Enabling in-memory test in integration-tests workflow * Fix naming for integration-tests.yml file to e2e-tests.yml * Rename the existing integration-tests to e2e-tests and adding new integration-tests workflow * More cleanup * Update reference * Update reference * Update ref * Reverting prior integration-tests.yml rename and additional cleanup * Update reference * Review comments * Rename per review comment
- Loading branch information
1 parent
935612e
commit 707cba5
Showing
4 changed files
with
164 additions
and
17 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# This file specifies the GitHub runner for each in-memory integration test and is utilized by .github/workflows/integration-in-memory-tests.yml CI workflow. | ||
# | ||
# Each entry in this file includes the following: | ||
# - The GitHub runner (runs_on field) that will execute tests. | ||
# - The tests that will be run by the runner. | ||
# - The triggers (e.g., PR Integration CCIP Tests) that should trigger these tests. | ||
# | ||
runner-test-matrix: | ||
# START: CCIPv1.6 tests | ||
|
||
- id: smoke/ccip/ccip_messaging_test.go:* | ||
path: integration-tests/smoke/ccip/ccip_messaging_test.go | ||
test_env_type: in-memory | ||
runs_on: ubuntu-latest | ||
triggers: | ||
- PR Integration CCIP Tests | ||
test_cmd: cd integration-tests/smoke/ccip && go test ccip_messaging_test.go -timeout 12m -test.parallel=2 -count=1 -json | ||
# END: CCIP tests |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
# | ||
# Workflow to run in-memory integration tests | ||
# Test matrix is defined in .github/integration-in-memory-tests.yml | ||
# | ||
name: Integration In-Memory Tests | ||
run-name: Integration In-Memory Tests | ||
on: | ||
merge_group: | ||
pull_request: | ||
push: | ||
tags: | ||
- "*" | ||
workflow_dispatch: | ||
inputs: | ||
cl_ref: | ||
description: 'The ref to checkout, defaults to the calling branch' | ||
required: false | ||
type: string | ||
|
||
# Only run 1 of this workflow at a time per PR | ||
concurrency: | ||
group: ${{ github.ref }}-${{ github.repository }}-${{ github.event_name }}--integration-tests | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
changes: | ||
environment: integration | ||
name: Check Paths That Require Tests To Run | ||
runs-on: ubuntu-latest | ||
# We don't directly merge dependabot PRs, so let's not waste the resources | ||
if: github.actor != 'dependabot[bot]' | ||
steps: | ||
- name: Checkout the repo | ||
uses: actions/[email protected] | ||
with: | ||
repository: smartcontractkit/chainlink | ||
ref: ${{ inputs.cl_ref }} | ||
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 | ||
id: changes | ||
with: | ||
filters: | | ||
github_ci_changes: | ||
- '.github/workflows/integration-tests.yml' | ||
- '.github/workflows/integration-in-memory-tests.yml' | ||
- '.github/integration-in-memory-tests.yml' | ||
core_changes: | ||
- '**/*.go' | ||
- '**/*go.sum' | ||
- '**/*go.mod' | ||
- '**/*Dockerfile' | ||
- 'core/**/migrations/*.sql' | ||
- 'core/**/config/**/*.toml' | ||
- 'integration-tests/**/*.toml' | ||
ccip_changes: | ||
- '**/*ccip*' | ||
- '**/*ccip*/**' | ||
- name: Ignore Filter On Workflow Dispatch | ||
if: ${{ github.event_name == 'workflow_dispatch' }} | ||
id: ignore-filter | ||
run: echo "changes=true" >> $GITHUB_OUTPUT | ||
outputs: | ||
github_ci_changes: ${{ steps.ignore-filter.outputs.changes || steps.changes.outputs.github_ci_changes }} | ||
core_changes: ${{ steps.ignore-filter.outputs.changes || steps.changes.outputs.core_changes }} | ||
ccip_changes: ${{ steps.ignore-filter.outputs.changes || steps.changes.outputs.ccip_changes }} | ||
|
||
run-ccip-integration-tests-for-pr: | ||
name: Run CCIP integration Tests For PR | ||
permissions: | ||
actions: read | ||
checks: write | ||
pull-requests: write | ||
id-token: write | ||
contents: read | ||
needs: changes | ||
if: github.event_name == 'pull_request' && ( needs.changes.outputs.ccip_changes == 'true' || needs.changes.outputs.core_changes == 'true' || needs.changes.outputs.github_ci_changes == 'true') | ||
uses: smartcontractkit/.github/.github/workflows/run-integration-tests.yml@57112554b9e5cfae79e795a8b1c36acf7e9dead7 | ||
with: | ||
workflow_name: Run CCIP Integration Tests For PR | ||
test_path: .github/integration-in-memory-tests.yml | ||
test_trigger: PR Integration CCIP Tests | ||
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 }} | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
SLACK_BOT_TOKEN: ${{ secrets.QA_SLACK_API_KEY }} | ||
|
||
run-ccip-integration-tests-for-merge-queue: | ||
name: Run CCIP Integration Tests For Merge Queue | ||
permissions: | ||
actions: read | ||
checks: write | ||
pull-requests: write | ||
id-token: write | ||
contents: read | ||
needs: changes | ||
if: github.event_name == 'merge_group' && ( needs.changes.outputs.ccip_changes == 'true' || needs.changes.outputs.core_changes == 'true' || needs.changes.outputs.github_ci_changes == 'true') | ||
uses: smartcontractkit/.github/.github/workflows/run-integration-tests.yml@57112554b9e5cfae79e795a8b1c36acf7e9dead7 | ||
with: | ||
workflow_name: Run CCIP Integration Tests For Merge Queue | ||
test_path: .github/integration-in-memory-tests.yml | ||
test_trigger: Merge Queue Integration CCIP Tests | ||
slack_notification_after_tests: on_failure | ||
slack_notification_after_tests_channel_id: "#ccip-testing" | ||
slack_notification_after_tests_name: CCIP integration Tests In Merge Queue | ||
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 }} | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
SLACK_BOT_TOKEN: ${{ secrets.QA_SLACK_API_KEY }} | ||
|
||
check-integration-test-results: | ||
if: always() | ||
name: Integration Tests | ||
runs-on: ubuntu-latest | ||
needs: [run-ccip-integration-tests-for-pr,run-ccip-integration-tests-for-merge-queue] | ||
steps: | ||
- name: Fail the job if ccip tests in PR not successful | ||
if: always() && needs.run-ccip-integration-tests-for-pr.result == 'failure' | ||
run: exit 1 | ||
|
||
- name: Fail the job if ccip tests in merge queue not successful | ||
if: always() && needs.run-ccip-integration-tests-for-merge-queue.result == 'failure' | ||
run: exit 1 | ||
|
||
cleanup: | ||
name: Clean up integration environment deployments | ||
if: always() | ||
needs: [run-ccip-integration-tests-for-pr, run-ccip-integration-tests-for-merge-queue] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout repo | ||
if: ${{ github.event_name == 'pull_request' }} | ||
uses: actions/[email protected] | ||
with: | ||
repository: smartcontractkit/chainlink | ||
ref: ${{ inputs.cl_ref }} | ||
|
||
- name: 🧼 Clean up Environment | ||
if: ${{ github.event_name == 'pull_request' }} | ||
uses: ./.github/actions/delete-deployments | ||
with: | ||
environment: integration | ||
ref: ${{ github.head_ref }} # See https://github.com/github/docs/issues/15319#issuecomment-1476705663 |
This file contains 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