1
- # Workflow for checkig the backward compatibility of UMF.
1
+ # Workflow for checking the backward compatibility of UMF.
2
2
# Test the latest UMF shared library with binaries compiled using the older UMF
3
3
# shared library.
4
4
name : Compatibility
@@ -15,7 +15,7 @@ permissions:
15
15
contents : read
16
16
17
17
jobs :
18
- ubuntu-build :
18
+ ubuntu :
19
19
name : Ubuntu
20
20
runs-on : ' ubuntu-22.04'
21
21
35
35
- name : Install libhwloc
36
36
working-directory : ${{github.workspace}}/tag_version
37
37
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"
44
38
45
39
- name : Configure "tag" UMF build
46
40
working-directory : ${{github.workspace}}/tag_version
52
46
-DCMAKE_C_COMPILER=gcc
53
47
-DCMAKE_CXX_COMPILER=g++
54
48
-DUMF_BUILD_TESTS=ON
49
+ -DUMF_BUILD_EXAMPLES=ON
55
50
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
56
51
-DUMF_BUILD_CUDA_PROVIDER=ON
57
52
-DUMF_FORMAT_CODE_STYLE=OFF
64
59
working-directory : ${{github.workspace}}/tag_version
65
60
run : |
66
61
cmake --build ${{github.workspace}}/tag_version/build -j $(nproc)
67
-
62
+
68
63
- name : Run "tag" UMF tests
69
64
working-directory : ${{github.workspace}}/tag_version/build
70
65
run : |
75
70
with :
76
71
fetch-depth : 0
77
72
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
+
85
74
- name : Configure latest UMF build
86
75
working-directory : ${{github.workspace}}/latest_version
87
76
run : >
97
86
-DUMF_FORMAT_CODE_STYLE=OFF
98
87
-DUMF_DEVELOPER_MODE=ON
99
88
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
100
- -DUMF_TESTS_FAIL_ON_SKIP=ON
101
89
102
90
- name : Build latest UMF
103
91
working-directory : ${{github.workspace}}/latest_version
@@ -107,11 +95,11 @@ jobs:
107
95
- name : Run "tag" UMF tests with latest UMF libs (warnings enabled)
108
96
working-directory : ${{github.workspace}}/tag_version/build
109
97
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 :
115
103
name : Windows
116
104
env :
117
105
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:
132
120
vcpkgDirectory : ${{github.workspace}}/vcpkg
133
121
vcpkgJsonGlob : ' **/vcpkg.json'
134
122
123
+ # NOTE we use vcpkg setup from "tag" version
135
124
- name : Install dependencies
136
125
working-directory : ${{github.workspace}}/tag_version
137
126
run : vcpkg install
138
127
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"
145
128
146
129
- name : Configure "tag" UMF build
147
130
working-directory : ${{github.workspace}}/tag_version
@@ -153,6 +136,7 @@ jobs:
153
136
-DCMAKE_CXX_COMPILER=cl
154
137
-DUMF_BUILD_SHARED_LIBRARY=ON
155
138
-DUMF_BUILD_TESTS=ON
139
+ -DUMF_BUILD_EXAMPLES=ON
156
140
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
157
141
-DUMF_BUILD_CUDA_PROVIDER=ON
158
142
-DUMF_FORMAT_CODE_STYLE=OFF
@@ -174,13 +158,6 @@ jobs:
174
158
fetch-depth : 0
175
159
path : ${{github.workspace}}/latest_version
176
160
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
-
184
161
- name : Configure latest UMF build
185
162
working-directory : ${{github.workspace}}/latest_version
186
163
run : >
@@ -196,7 +173,6 @@ jobs:
196
173
-DUMF_FORMAT_CODE_STYLE=OFF
197
174
-DUMF_DEVELOPER_MODE=ON
198
175
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
199
- -DUMF_TESTS_FAIL_ON_SKIP=ON
200
176
201
177
- name : Build latest UMF
202
178
run : cmake --build "${{github.workspace}}/latest_version/build" --config Debug -j $Env:NUMBER_OF_PROCESSORS
@@ -206,4 +182,86 @@ jobs:
206
182
run : |
207
183
$env:UMF_LOG="level:warning;flush:debug;output:stderr;pid:no"
208
184
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