-
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
Update CI workflows for E2E tests #13740
Update CI workflows for E2E tests #13740
Conversation
add nightly pipeline add check tool that will be executed in PRs if a test from integration-tests is added or modified. It will report a comment or block pipeline requiring test to be added to the nightly workflow
else | ||
echo "Error: Not supported image source '${{ github.event.inputs.chainlinkImageUpdate }}'" | ||
exit 1 | ||
fi |
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.
maybe this could be defined as bash function?
exit 1 | ||
fi | ||
- name: Install jq | ||
run: sudo apt-get install jq |
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.
are you sure it's needed? I'm using jq
in a lot of workflows without ever installing it explicitly
{"go test -test.run TestA|^TestB$|TestC", "TestB", true}, | ||
{"go test -test.run ^TestA|^TestB|TestC$", "TestA", true}, | ||
{"go test -test.run ^TestA|^TestB|TestC$", "TestC", true}, | ||
{"go test -test.run ^TestA|^TestB|TestC$", "TestD", false}, |
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.
same as before, what if I do this: go test -test.run my_tests.go
or go test -test.run ^Test[A-C]$"
or just go test -test.run '.*'
?
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.
@Tofel will go test -test.run my_tests.go work? Note that -test.run
is used to specify test name inside a file.
integration-tests/e2e_tests_ci_tool/cmd/create_test_config_cmd.go
Outdated
Show resolved
Hide resolved
@lukaszcl don't we wanna place these go tools you added in the CTF/tools? I think CCIP and other repos should be able to use them too |
}, | ||
{ | ||
name: "PrivateEthereumNetworkExecutionLayerFlag", | ||
args: []string{"create", "--private-ethereum-network-execution-layer=geth", "--private-ethereum-network-ethereum-version=1.10.0"}, |
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 doesn't look okay. there are 2 ethereum version supported: eth1
and eth2
, roughly pow
and pos
. It has nothing to do with image version :-)
2f2111a
to
eea4c5c
Compare
Quality Gate passedIssues Measures |
This PR introduces a Reusable GitHub Workflow for E2E tests, centralizing all the necessary logic to run various types of tests—such as Docker and K8s remote runner—within a single workflow. This approach allows other E2E test workflows to utilize this central workflow at different stages of the software development process, whether it's for every commit, within the merge queue, nightly, or on-demand.
The workflow sources the tests to run from the .github/e2e-tests.yml file, where each test or group of tests is defined with specific parameters:
test-cmd
to dictate how to execute the test,runs-on
to specify the required GitHub runner, and aworkflows
parameter that outlines when each test should be executed (e.g., on every pull request or nightly).The run-e2e-tests-reusable-workflow.yml workflow can be utilized in various ways:
test_ids
input to run specific tests. For example, see the run-selected-e2e-tests.yml workflow.test_workflow
input to run all tests associated with a particular workflow. For example, see the run-nightly-e2e-tests.yml workflow.test_list
input. For example, see the run-automation-ondemand-e2e-tests.yml workflow.To learn more about new CI Workflows for E2E Tests, please visit https://smartcontract-it.atlassian.net/wiki/spaces/TT/pages/815497220/CI+Workflows+for+E2E+Tests
Note: This update does not affect existing workflows for now. Changes to integrate existing workflows with this new setup will be addressed in separate PRs. More details are provided below.
Full scope of this PR:
workflows
field in .github/e2e-tests.yml file. Example build.require_chainlink_image_versions_in_qa_ecr
andrequire_chainlink_plugin_versions_in_qa_ecr
workflow inputsNot in the scope:
test_config_base64_override
as workflow input. This will be enabled onceTestConfig
does not have any secrets. Related ticket https://smartcontract-it.atlassian.net/browse/TT-1283