-
Notifications
You must be signed in to change notification settings - Fork 745
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][E2E] Split gen12 pre-commit testing into build and run stages #16321
Conversation
These are mostly AOT tests
dcf422e
to
ba3dd1a
Compare
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.
Changes here are to work-around a hang that occurs when one of our tests try to run a binary that does not exist when inside one of the containers that we use for CI.
This hang is not a recent regression but rather an issue that has existed for a while but is very infrequently encountered with the current full testing mode. With the split testing if a test fails to build a binary in the build-only stage it will fail the run-only stage due to the binary not existing, making this hang a lot more common.
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.
can we at least make a GH issue for the hang with repro steps?
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.
Yep, here it is: #16351
@sarnex FYI, I had to change the container for the build-only stage from the ubuntu 22 alldeps container to the ubuntu 24 latest intel drivers container because some tests started to fail on it. I was using that container originally because it has the dependencies from the build container so that we can build the cuda/hip tests as well, but since those arent enabled yet for this pr its not really needed yet. |
Ok yeah looks like the problem is some tests link against |
@intel/llvm-gatekeepers This is ready to merge. |
@ayylol Can we/are we planning to do the same for postcommit? |
@ayylol
https://github.com/intel/llvm/actions/runs/12438967580/job/34732118174 |
XPASS on the build-only stage usually means that its a test that is able to compile, but fails when running but the way it is marked the
Yep, adding this to the post-commit should be quite similar, likely wont require all the extra test markup I had to do in this pr. I'm thinking we should hold on it and see if the pre-commit changes aren't causing too much hassle before proceeding with that. |
Sure, sounds good, thx! |
IMO, post-commit should happen after
To clarify: "REQURIES: pvc, build-and-run-mode" is bad, "REQUIRES-RUN: pvc" or "XFAIL-RUN: pvc" is much better. I'm not pushing for these specific spellings, but the whole "build-and-run-mode" was a temporary solution to make fast progress and rip the immediate benefits in the pre-commit. |
This patch enables E2E build and run splitting on pre-commit CI. Currently one of the main bottlenecks in pre-commit CI is the Linux Gen12 testing which takes between 30 ~ 40 minutes to complete. By instead building these tests on our fast build systems, and then transferring the binaries to the Gen12 machine we can cut down on this time by roughly half.
Sadly, the Windows Gen12 testing will still be the main bottleneck so total time for pre-commit won't improve with this PR, but we will at least get faster feedback for gen12 on Linux.