@@ -10,27 +10,62 @@ permissions: read-all
1010jobs :
1111 build-linux :
1212 if : github.repository_owner == 'oneapi-src'
13- runs-on : [ubuntu-latest]
13+ runs-on : ubuntu-latest
14+ strategy :
15+ fail-fast : false
16+ matrix :
17+ container :
18+ - ubuntu:22.04
19+ - ubuntu:24.04
20+ - redhat/ubi9:latest
21+ container :
22+ image : ${{ matrix.container }}
1423 steps :
24+ - name : Install dependencies
25+ run : |
26+ if [ -f /etc/redhat-release ]; then
27+ # RHEL/UBI-based system
28+ yum install -y gcc gcc-c++ cmake make git
29+ else
30+ # Ubuntu-based system
31+ apt-get update
32+ apt-get install -y build-essential cmake git
33+ fi
1534 - uses : actions/checkout@v3
16- - uses : hendrikmuhs/ccache-action@v1
17- - name : Build Loader on Latest Ubuntu
35+ - name : Build Loader on ${{ matrix.container }}
1836 run : |
1937 mkdir build
2038 cd build
2139 cmake \
22- -D CMAKE_C_COMPILER_LAUNCHER=ccache \
23- -D CMAKE_CXX_COMPILER_LAUNCHER=ccache \
2440 -D CMAKE_BUILD_TYPE=Release \
2541 -D BUILD_L0_LOADER_TESTS=1 \
42+ -D INSTALL_NULL_DRIVER=1 \
2643 ..
2744 make -j$(nproc)
2845 - env :
2946 ZEL_LIBRARY_PATH : ' ${{ github.workspace }}/build/lib'
3047 working-directory : build
3148 run : ctest -V
32- - working-directory : build
33- run : sudo make install
49+ - name : Install loader and NULL driver
50+ working-directory : build
51+ run : make install
52+ - name : Update library cache
53+ run : ldconfig
54+ - name : Test installed loader with zello_world and NULL driver
55+ working-directory : build
56+ run : |
57+
58+ # Set up environment for NULL driver
59+ export ZE_ENABLE_NULL_DRIVER=1
60+ export ZE_ENABLE_LOADER_DEBUG_TRACE=1
61+
62+ # Run zello_world with NULL driver
63+ ./bin/zello_world
64+
65+ echo "✓ zello_world ran successfully with installed loader and NULL driver"
66+ - name : Uninstall loader
67+ working-directory : build
68+ run : make uninstall || xargs rm -v < install_manifest.txt
3469
3570 build-windows :
3671 if : github.repository_owner == 'oneapi-src'
0 commit comments