Skip to content

Commit f5f3ce7

Browse files
authored
Merge pull request #1163 from lukaszstolarczuk/compat-gpu-ci
Extend compatibility tests with GPU runners
2 parents e12e9bf + f2a7e21 commit f5f3ce7

File tree

1 file changed

+95
-37
lines changed

1 file changed

+95
-37
lines changed

.github/workflows/reusable_compatibility.yml

+95-37
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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.
44
name: Compatibility
@@ -15,7 +15,7 @@ permissions:
1515
contents: read
1616

1717
jobs:
18-
ubuntu-build:
18+
ubuntu:
1919
name: Ubuntu
2020
runs-on: 'ubuntu-22.04'
2121

@@ -35,12 +35,6 @@ jobs:
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
@@ -52,6 +46,7 @@ jobs:
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
@@ -64,7 +59,7 @@ jobs:
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: |
@@ -75,13 +70,7 @@ jobs:
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: >
@@ -97,7 +86,6 @@ jobs:
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

Comments
 (0)