Skip to content

run_prebuilt_e2e_tests CI jobs fail in cases with UR API changes #16982

Closed
@EwanC

Description

@EwanC

As discovered by @yingcong-wu in #16747 (comment) the run_prebuilt_e2e_tests CI jobs in PR testing fail in the case that the UR API changes.

I notice that those features are all tested in llvm/sycl/test-e2e/lit.cfg.py using subprocess.getstatusoutput. I added a print to those tests and they all show the following error:

2025-02-11T15:09:01.2540004Z lit.py: /__w/llvm/llvm/llvm/sycl/test-e2e/lit.cfg.py:328: note: /usr/bin/ld: /__w/llvm/llvm/toolchain/bin/../lib/libsycl.so: undefined reference to `urEnqueueCommandBufferExp@LIBUR_LOADER_0.12'
2025-02-11T15:09:01.2540580Z clang++: error: linker command failed with exit code 1 (use -v to see invocation)
2025-02-11T15:09:01.2541173Z lit.py: /__w/llvm/llvm/llvm/sycl/test-e2e/lit.cfg.py:356: note: /usr/bin/ld: /__w/llvm/llvm/toolchain/bin/../lib/libsycl-preview.so: undefined reference to `urEnqueueCommandBufferExp@LIBUR_LOADER_0.12'

(In https://github.com/intel/llvm/actions/runs/13265484428/job/37031762080, line 104607).

I think there is a problem with those feature checks(maybe linking to an out-dated UR libs?), and I think it would impact any UR ABI breaking changes.

Experimental features in Unified Runtime are allowed to make API/ABI breaking changes, and the SYCL-Graph experimental oneAPI extension relies on being able to do this. This CI job should be updated so that it can pass in such a case, or a policy should be established with the gatekeepers whereby PRs that fail run_prebuilt_e2e_tests CI runs due to this reason can still be merged.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions