1- # Workflow for checkig the backward compatibility of UMF.
1+ # Workflow for checking the backward compatibility of UMF.
22# Test the latest UMF shared library with binaries compiled using the older UMF
33# shared library.
44name : Compatibility
@@ -15,7 +15,7 @@ permissions:
1515 contents : read
1616
1717jobs :
18- ubuntu-build :
18+ ubuntu :
1919 name : Ubuntu
2020 runs-on : ' ubuntu-22.04'
2121
6464 working-directory : ${{github.workspace}}/tag_version
6565 run : |
6666 cmake --build ${{github.workspace}}/tag_version/build -j $(nproc)
67-
67+
6868 - name : Run "tag" UMF tests
6969 working-directory : ${{github.workspace}}/tag_version/build
7070 run : |
@@ -75,13 +75,13 @@ jobs:
7575 with :
7676 fetch-depth : 0
7777 path : ${{github.workspace}}/latest_version
78-
78+
7979 - name : Get latest UMF version
8080 working-directory : ${{github.workspace}}/latest_version
8181 run : |
8282 VERSION=$(git describe --tags)
8383 echo "checked version: $VERSION"
84-
84+
8585 - name : Configure latest UMF build
8686 working-directory : ${{github.workspace}}/latest_version
8787 run : >
@@ -107,11 +107,11 @@ jobs:
107107 - name : Run "tag" UMF tests with latest UMF libs (warnings enabled)
108108 working-directory : ${{github.workspace}}/tag_version/build
109109 run : >
110- UMF_LOG="level:warning;flush:debug;output:stderr;pid:no"
111- LD_LIBRARY_PATH=${{github.workspace}}/latest_version/build/lib/
110+ UMF_LOG="level:warning;flush:debug;output:stderr;pid:no"
111+ LD_LIBRARY_PATH=${{github.workspace}}/latest_version/build/lib/
112112 ctest --output-on-failure
113-
114- windows-build :
113+
114+ windows :
115115 name : Windows
116116 env :
117117 VCPKG_PATH : " ${{github.workspace}}/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/vcpkg/packages/jemalloc_x64-windows"
@@ -207,3 +207,97 @@ jobs:
207207 $env:UMF_LOG="level:warning;flush:debug;output:stderr;pid:no"
208208 cp ${{github.workspace}}/latest_version/build/bin/Debug/umf.dll ${{github.workspace}}/tag_version/build/bin/Debug/umf.dll
209209 ctest -C Debug --output-on-failure --test-dir test
210+
211+ gpu :
212+ name : GPU Ubuntu
213+ strategy :
214+ matrix :
215+ provider : ['LEVEL_ZERO', 'CUDA']
216+ runs-on : ["DSS-${{matrix.provider}}", "DSS-UBUNTU"]
217+
218+ steps :
219+ - name : Checkout "tag" UMF version
220+ uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
221+ with :
222+ fetch-depth : 0
223+ ref : refs/tags/${{inputs.tag}}
224+ path : ${{github.workspace}}/tag_version
225+
226+ - name : Get "tag" UMF version
227+ working-directory : ${{github.workspace}}/tag_version
228+ run : |
229+ VERSION=$(git describe --tags)
230+ echo "tag version: $VERSION"
231+
232+ - name : Configure "tag" UMF build
233+ working-directory : ${{github.workspace}}/tag_version
234+ run : >
235+ cmake
236+ -B ${{github.workspace}}/tag_version/build
237+ -DCMAKE_BUILD_TYPE=Debug
238+ -DUMF_BUILD_SHARED_LIBRARY=ON
239+ -DCMAKE_C_COMPILER=gcc
240+ -DCMAKE_CXX_COMPILER=g++
241+ -DUMF_BUILD_TESTS=ON
242+ -DUMF_BUILD_GPU_TESTS=ON
243+ -DUMF_BUILD_EXAMPLES=ON
244+ -DUMF_BUILD_GPU_EXAMPLES=ON
245+ -DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
246+ -DUMF_BUILD_CUDA_PROVIDER=OFF
247+ -DUMF_BUILD_${{matrix.provider}}_PROVIDER=ON
248+ -DUMF_FORMAT_CODE_STYLE=OFF
249+ -DUMF_DEVELOPER_MODE=ON
250+ -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
251+ -DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
252+ -DUMF_TESTS_FAIL_ON_SKIP=ON
253+
254+ - name : Build "tag" UMF
255+ working-directory : ${{github.workspace}}/tag_version
256+ run : |
257+ cmake --build ${{github.workspace}}/tag_version/build -j $(nproc)
258+
259+ - name : Run "tag" UMF tests
260+ working-directory : ${{github.workspace}}/tag_version/build
261+ run : |
262+ LD_LIBRARY_PATH=${{github.workspace}}/tag_version/build/lib/ ctest --output-on-failure
263+
264+ - name : Checkout latest UMF version
265+ uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
266+ with :
267+ fetch-depth : 0
268+ path : ${{github.workspace}}/latest_version
269+
270+ - name : Get latest UMF version
271+ working-directory : ${{github.workspace}}/latest_version
272+ run : |
273+ VERSION=$(git describe --tags)
274+ echo "checked version: $VERSION"
275+
276+ - name : Configure latest UMF build
277+ working-directory : ${{github.workspace}}/latest_version
278+ run : >
279+ cmake
280+ -B ${{github.workspace}}/latest_version/build
281+ -DCMAKE_BUILD_TYPE=Debug
282+ -DUMF_BUILD_SHARED_LIBRARY=ON
283+ -DCMAKE_C_COMPILER=gcc
284+ -DCMAKE_CXX_COMPILER=g++
285+ -DUMF_BUILD_TESTS=OFF
286+ -DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
287+ -DUMF_BUILD_CUDA_PROVIDER=ON
288+ -DUMF_FORMAT_CODE_STYLE=OFF
289+ -DUMF_DEVELOPER_MODE=ON
290+ -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
291+
292+ - name : Build latest UMF
293+ working-directory : ${{github.workspace}}/latest_version
294+ run : |
295+ cmake --build ${{github.workspace}}/latest_version/build -j $(nproc)
296+
297+ # NOTE: Once not implemented features may now be implemented - exclude these tests
298+ - name : Run "tag" UMF tests with latest UMF libs (warnings enabled)
299+ working-directory : ${{github.workspace}}/tag_version/build
300+ run : >
301+ UMF_LOG="level:warning;flush:debug;output:stderr;pid:no"
302+ LD_LIBRARY_PATH=${{github.workspace}}/latest_version/build/lib/
303+ ctest --output-on-failure -E "not_impl"
0 commit comments