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
3535 - name : Install libhwloc
3636 working-directory : ${{github.workspace}}/tag_version
3737 run : .github/scripts/install_hwloc.sh
38-
39- - name : Get "tag" UMF version
40- working-directory : ${{github.workspace}}/tag_version
41- run : |
42- VERSION=$(git describe --tags)
43- echo "tag version: $VERSION"
4438
4539 - name : Configure "tag" UMF build
4640 working-directory : ${{github.workspace}}/tag_version
5246 -DCMAKE_C_COMPILER=gcc
5347 -DCMAKE_CXX_COMPILER=g++
5448 -DUMF_BUILD_TESTS=ON
49+ -DUMF_BUILD_EXAMPLES=ON
5550 -DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
5651 -DUMF_BUILD_CUDA_PROVIDER=ON
5752 -DUMF_FORMAT_CODE_STYLE=OFF
6459 working-directory : ${{github.workspace}}/tag_version
6560 run : |
6661 cmake --build ${{github.workspace}}/tag_version/build -j $(nproc)
67-
62+
6863 - name : Run "tag" UMF tests
6964 working-directory : ${{github.workspace}}/tag_version/build
7065 run : |
7570 with :
7671 fetch-depth : 0
7772 path : ${{github.workspace}}/latest_version
78-
79- - name : Get latest UMF version
80- working-directory : ${{github.workspace}}/latest_version
81- run : |
82- VERSION=$(git describe --tags)
83- echo "checked version: $VERSION"
84-
73+
8574 - name : Configure latest UMF build
8675 working-directory : ${{github.workspace}}/latest_version
8776 run : >
9786 -DUMF_FORMAT_CODE_STYLE=OFF
9887 -DUMF_DEVELOPER_MODE=ON
9988 -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
100- -DUMF_TESTS_FAIL_ON_SKIP=ON
10189
10290 - name : Build latest UMF
10391 working-directory : ${{github.workspace}}/latest_version
@@ -107,11 +95,11 @@ jobs:
10795 - name : Run "tag" UMF tests with latest UMF libs (warnings enabled)
10896 working-directory : ${{github.workspace}}/tag_version/build
10997 run : >
110- UMF_LOG="level:warning;flush:debug;output:stderr;pid:no"
111- LD_LIBRARY_PATH=${{github.workspace}}/latest_version/build/lib/
112- ctest --output-on-failure
113-
114- windows-build :
98+ UMF_LOG="level:warning;flush:debug;output:stderr;pid:no"
99+ LD_LIBRARY_PATH=${{github.workspace}}/latest_version/build/lib/
100+ ctest --verbose
101+
102+ windows :
115103 name : Windows
116104 env :
117105 VCPKG_PATH : " ${{github.workspace}}/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/vcpkg/packages/jemalloc_x64-windows"
@@ -132,16 +120,11 @@ jobs:
132120 vcpkgDirectory : ${{github.workspace}}/vcpkg
133121 vcpkgJsonGlob : ' **/vcpkg.json'
134122
123+ # NOTE we use vcpkg setup from "tag" version
135124 - name : Install dependencies
136125 working-directory : ${{github.workspace}}/tag_version
137126 run : vcpkg install
138127 shell : pwsh # Specifies PowerShell as the shell for running the script.
139-
140- - name : Get "tag" UMF version
141- working-directory : ${{github.workspace}}/tag_version
142- run : |
143- $version = (git describe --tags)
144- echo "tag version: $VERSION"
145128
146129 - name : Configure "tag" UMF build
147130 working-directory : ${{github.workspace}}/tag_version
@@ -153,6 +136,7 @@ jobs:
153136 -DCMAKE_CXX_COMPILER=cl
154137 -DUMF_BUILD_SHARED_LIBRARY=ON
155138 -DUMF_BUILD_TESTS=ON
139+ -DUMF_BUILD_EXAMPLES=ON
156140 -DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
157141 -DUMF_BUILD_CUDA_PROVIDER=ON
158142 -DUMF_FORMAT_CODE_STYLE=OFF
@@ -174,13 +158,6 @@ jobs:
174158 fetch-depth : 0
175159 path : ${{github.workspace}}/latest_version
176160
177- # NOTE we use vcpkg setup from "tag" version
178- - name : Get latest UMF version
179- working-directory : ${{github.workspace}}/latest_version
180- run : |
181- $version = (git describe --tags)
182- echo "latest version: $VERSION"
183-
184161 - name : Configure latest UMF build
185162 working-directory : ${{github.workspace}}/latest_version
186163 run : >
@@ -196,7 +173,6 @@ jobs:
196173 -DUMF_FORMAT_CODE_STYLE=OFF
197174 -DUMF_DEVELOPER_MODE=ON
198175 -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
199- -DUMF_TESTS_FAIL_ON_SKIP=ON
200176
201177 - name : Build latest UMF
202178 run : cmake --build "${{github.workspace}}/latest_version/build" --config Debug -j $Env:NUMBER_OF_PROCESSORS
@@ -206,4 +182,86 @@ jobs:
206182 run : |
207183 $env:UMF_LOG="level:warning;flush:debug;output:stderr;pid:no"
208184 cp ${{github.workspace}}/latest_version/build/bin/Debug/umf.dll ${{github.workspace}}/tag_version/build/bin/Debug/umf.dll
209- ctest -C Debug --output-on-failure --test-dir test
185+ ctest -C Debug --verbose
186+
187+ gpu :
188+ name : GPU Ubuntu
189+ strategy :
190+ matrix :
191+ provider : ['LEVEL_ZERO', 'CUDA']
192+ runs-on : ["DSS-${{matrix.provider}}", "DSS-UBUNTU"]
193+
194+ steps :
195+ - name : Checkout "tag" UMF version
196+ uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
197+ with :
198+ fetch-depth : 0
199+ ref : refs/tags/${{inputs.tag}}
200+ path : ${{github.workspace}}/tag_version
201+
202+ - name : Configure "tag" UMF build
203+ working-directory : ${{github.workspace}}/tag_version
204+ run : >
205+ cmake
206+ -B ${{github.workspace}}/tag_version/build
207+ -DCMAKE_BUILD_TYPE=Debug
208+ -DUMF_BUILD_SHARED_LIBRARY=ON
209+ -DCMAKE_C_COMPILER=gcc
210+ -DCMAKE_CXX_COMPILER=g++
211+ -DUMF_BUILD_TESTS=ON
212+ -DUMF_BUILD_GPU_TESTS=ON
213+ -DUMF_BUILD_EXAMPLES=ON
214+ -DUMF_BUILD_GPU_EXAMPLES=ON
215+ -DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
216+ -DUMF_BUILD_CUDA_PROVIDER=OFF
217+ -DUMF_BUILD_${{matrix.provider}}_PROVIDER=ON
218+ -DUMF_FORMAT_CODE_STYLE=OFF
219+ -DUMF_DEVELOPER_MODE=ON
220+ -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
221+ -DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
222+ -DUMF_TESTS_FAIL_ON_SKIP=ON
223+
224+ - name : Build "tag" UMF
225+ working-directory : ${{github.workspace}}/tag_version
226+ run : |
227+ cmake --build ${{github.workspace}}/tag_version/build -j $(nproc)
228+
229+ - name : Run "tag" UMF tests
230+ working-directory : ${{github.workspace}}/tag_version/build
231+ run : |
232+ LD_LIBRARY_PATH=${{github.workspace}}/tag_version/build/lib/ ctest --output-on-failure
233+
234+ - name : Checkout latest UMF version
235+ uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
236+ with :
237+ fetch-depth : 0
238+ path : ${{github.workspace}}/latest_version
239+
240+ - name : Configure latest UMF build
241+ working-directory : ${{github.workspace}}/latest_version
242+ run : >
243+ cmake
244+ -B ${{github.workspace}}/latest_version/build
245+ -DCMAKE_BUILD_TYPE=Debug
246+ -DUMF_BUILD_SHARED_LIBRARY=ON
247+ -DCMAKE_C_COMPILER=gcc
248+ -DCMAKE_CXX_COMPILER=g++
249+ -DUMF_BUILD_TESTS=OFF
250+ -DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
251+ -DUMF_BUILD_CUDA_PROVIDER=ON
252+ -DUMF_FORMAT_CODE_STYLE=OFF
253+ -DUMF_DEVELOPER_MODE=ON
254+ -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
255+
256+ - name : Build latest UMF
257+ working-directory : ${{github.workspace}}/latest_version
258+ run : |
259+ cmake --build ${{github.workspace}}/latest_version/build -j $(nproc)
260+
261+ # NOTE: Once not implemented features may now be implemented - exclude these tests
262+ - name : Run "tag" UMF tests with latest UMF libs (warnings enabled)
263+ working-directory : ${{github.workspace}}/tag_version/build
264+ run : >
265+ UMF_LOG="level:warning;flush:debug;output:stderr;pid:no"
266+ LD_LIBRARY_PATH=${{github.workspace}}/latest_version/build/lib/
267+ ctest --verbose -E "not_impl"
0 commit comments