-
Notifications
You must be signed in to change notification settings - Fork 752
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
[CI] Split E2E/CTS tests into composite action #16739
Conversation
Two reasons: * Make the workflow more maintainable as we're in the process of adding another option (benchmarks) * I want to move E2E build-only from a separate job to a step during `sycl-linux-build.yml`. My first thought was to use in-tree E2E configuration but then it mismatches how we'd run the tests (in a standalone mode) and we have a bunch of tests using `rpath` during compilation which can't work with such mismatch. As such, outlining E2E support into a composite action would allow to share code between build/run e2e tests in distinct jobs (build vs matrix run-tests).
This is how logs for the failure would look like: https://github.com/intel/llvm/actions/runs/12914371704, a bit worse than before the PR, but not as bad as if the entire workflow was moved to a composite action (note that we did the opposite, composite action -> reusable workflow in #10292). The reason it's better now than prior to #10292 is because the "common" part of New Nightly run: https://github.com/intel/llvm/actions/runs/12916846102 |
- name: Upload SYCL-CTS binaries | ||
if: always() && !cancelled() && inputs.cts_testing_mode == 'build-only' | ||
uses: actions/upload-artifact@v4 | ||
uses: ./devops/actions/run-tests/e2e |
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.
I tried uses: ./devops/actions/run-tests/${{inputs.tests_selector}}
but it doesn't work: https://github.com/intel/llvm/actions/runs/12898787585
# This job takes ~100min usually. But sometimes some test isn't | ||
# responding, so the job reaches the 360min limit. Setting a lower one. | ||
timeout-minutes: 150 |
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.
I couldn't preserve this for whatever weird GHA reasons, hope that's fine for now. We can try to introduce another mitigation later if necessary.
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.
It was made due to weird machine that was hanging sometimes. No need to re-introduce.
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.
lgtm assuming all the actual logic is basically a copy-paste
Yes, other than the timeout I commented on. And also removal of now redundant pieces in check-spirv failures are unrelated, introduced by a recent docker image update. Merging to get some new pre/post-commit tasks post-merge before EOD (and to unblock other work). |
Two reasons:
sycl-linux-build.yml
. My first thought was to use in-tree E2E configuration but then it mismatches how we'd run the tests (in a standalone mode) and we have a bunch of tests usingrpath
during compilation which can't work with such mismatch. As such, outlining E2E support into a composite action would allow to share code between build/run e2e tests in distinct jobs (build vs matrix run-tests).