-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CCIP-4303:Enabling in-memory test in integration-tests workflow #15388
Merged
+164
−17
Merged
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
6ba8f4a
CCIP-4303:Enabling in-memory test in integration-tests workflow
b-gopalswami 73e4131
Fix naming for integration-tests.yml file to e2e-tests.yml
b-gopalswami 3fa0084
Merge branch 'develop' of github.com:smartcontractkit/chainlink into …
b-gopalswami 56fc8d5
Rename the existing integration-tests to e2e-tests and adding new int…
b-gopalswami 80dffc4
Merge branch 'develop' of github.com:smartcontractkit/chainlink into …
b-gopalswami 3b5cdb5
More cleanup
b-gopalswami a0c91f3
Update reference
b-gopalswami 1e949dc
Merge branch 'develop' of github.com:smartcontractkit/chainlink into …
b-gopalswami c5bac75
Update reference
b-gopalswami 6119c67
Update ref
b-gopalswami e32164a
Merge branch 'develop' of github.com:smartcontractkit/chainlink into …
b-gopalswami e328d01
Reverting prior integration-tests.yml rename and additional cleanup
b-gopalswami 2fdc549
Update reference
b-gopalswami cecf908
Merge develop
b-gopalswami eac9989
Review comments
b-gopalswami 4085ae1
Merge develop
b-gopalswami f382579
Merge branch 'develop' of github.com:smartcontractkit/chainlink into …
b-gopalswami 0b47add
Rename per review comment
b-gopalswami File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 | ||
b-gopalswami marked this conversation as resolved.
Show resolved
Hide resolved
|
||
# 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 }} | ||
b-gopalswami marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
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 }} | ||
b-gopalswami marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I like the soap 😁 |
||
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 | ||
b-gopalswami marked this conversation as resolved.
Show resolved
Hide resolved
|
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
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why only messaging_test? Can we do a regex to run all under ccip directory? or maybe even create a new directory
ccip-1.6
that has only 1.6 related tests?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is just an example. I don't want to club the work to convert the test to sim backend in this PR. We can do that in a separate PR.
It's better to have it separate matrix to make it parallel and speed up the execution.