-
Notifications
You must be signed in to change notification settings - Fork 755
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] Prebuild E2E tests as part of build workflow #16682
base: sycl
Are you sure you want to change the base?
Conversation
dadb6af
to
2060b2a
Compare
2060b2a
to
902d98d
Compare
902d98d
to
c79e005
Compare
c79e005
to
52ab1c0
Compare
52ab1c0
to
3169ec2
Compare
3169ec2
to
b5cf3bb
Compare
b5cf3bb
to
ca90f35
Compare
ca90f35
to
6b3c47e
Compare
6b3c47e
to
77d41e2
Compare
77d41e2
to
fb70bbf
Compare
fb70bbf
to
63c84c2
Compare
63c84c2
to
1416929
Compare
- name: Source OneAPI TBB vars.sh | ||
shell: bash | ||
run: | | ||
# https://github.com/actions/runner/issues/1964 prevents us from using | ||
# the ENTRYPOINT in the image. | ||
env | sort > env_before | ||
if [ -e /runtimes/oneapi-tbb/env/vars.sh ]; then | ||
source /runtimes/oneapi-tbb/env/vars.sh; | ||
elif [ -e /opt/runtimes/oneapi-tbb/env/vars.sh ]; then | ||
source /opt/runtimes/oneapi-tbb/env/vars.sh; | ||
else | ||
echo "no TBB vars in /opt/runtimes or /runtimes"; | ||
fi | ||
env | sort > env_after | ||
comm -13 env_before env_after >> $GITHUB_ENV | ||
rm env_before env_after |
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.
Does it mean that whenever we call .github/workflows/sycl-linux-build.yml
, we also build E2E tests? IIRC, we don't use pre-built test binaries in post-commit and nightly.
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.
Yes, we do, and no, we don't. That said I imagine we can start doing so relatively soon. Alternatively, we can make this addition optional, but I thought that build-only mode of e2e tests isn't that different from check-sycl
that we do unconditionally everywhere (well, if sycl is modified in pre-commit). Writing this, I can even imagine re-unification of sycl/test
and sycl/test-e2e
now!
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 would personally be of the opinion that we make this addition optional - don't build E2E tests by default when sycl-linux-build.yml is called, unless the caller explicitly asks for it.
Once the "split-test" mode is mature enough that we use it for all workflows and other runners as well, we can build E2E tests by default, just like sycl/test
.
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 think it will just complicate implementation with very little benefit... Nightly/post traffic is several times smaller than pre-commit (because PR usually take several iterations). Also, unlike pre-commit, nightly/post don't skip any check-*
at build stage, so having e2e built there takes less percentage of the overall duration.
This will allow us to save time on runner setup and toolchain download/unpacking.