@@ -213,236 +213,6 @@ jobs:
213213 --umf-version ${{env.UMF_VERSION}}
214214 ${{ matrix.shared_library == 'ON' && '--shared-library' || '' }}
215215
216- windows-build :
217- name : Windows
218- env :
219- VCPKG_PATH : " ${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows"
220- strategy :
221- matrix :
222- os : ['windows-2019', 'windows-2022']
223- build_type : [Debug, Release]
224- compiler : [{c: cl, cxx: cl}]
225- shared_library : ['ON', 'OFF']
226- level_zero_provider : ['ON']
227- cuda_provider : ['ON']
228- include :
229- # temporarily disable failing CI job
230- # - os: 'windows-2022'
231- # build_type: Release
232- # compiler: {c: clang-cl, cxx: clang-cl}
233- # shared_library: 'ON'
234- # level_zero_provider: 'ON'
235- # cuda_provider: 'ON'
236- # toolset: "-T ClangCL"
237- - os : ' windows-2022'
238- build_type : Release
239- compiler : {c: cl, cxx: cl}
240- shared_library : ' ON'
241- level_zero_provider : ' ON'
242- cuda_provider : ' ON'
243- - os : ' windows-2022'
244- build_type : Release
245- compiler : {c: cl, cxx: cl}
246- shared_library : ' ON'
247- level_zero_provider : ' OFF'
248- cuda_provider : ' OFF'
249-
250- runs-on : ${{matrix.os}}
251-
252- steps :
253- - name : Checkout
254- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
255- with :
256- fetch-depth : 0
257-
258- - name : Initialize vcpkg
259- uses : lukka/run-vcpkg@5e0cab206a5ea620130caf672fce3e4a6b5666a1 # v11.5
260- with :
261- vcpkgGitCommitId : 3dd44b931481d7a8e9ba412621fa810232b66289
262- vcpkgDirectory : ${{env.BUILD_DIR}}/vcpkg
263- vcpkgJsonGlob : ' **/vcpkg.json'
264-
265- - name : Install dependencies
266- run : vcpkg install
267- shell : pwsh # Specifies PowerShell as the shell for running the script.
268-
269- - name : Configure build
270- run : >
271- cmake
272- -B ${{env.BUILD_DIR}}
273- ${{matrix.toolset}}
274- -DCMAKE_INSTALL_PREFIX="${{env.INSTL_DIR}}"
275- -DCMAKE_PREFIX_PATH="${{env.VCPKG_PATH}}"
276- -DCMAKE_C_COMPILER=${{matrix.compiler.c}}
277- -DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}}
278- -DUMF_BUILD_SHARED_LIBRARY=${{matrix.shared_library}}
279- -DUMF_FORMAT_CODE_STYLE=OFF
280- -DUMF_DEVELOPER_MODE=ON
281- -DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
282- -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
283- -DUMF_BUILD_LEVEL_ZERO_PROVIDER=${{matrix.level_zero_provider}}
284- -DUMF_BUILD_CUDA_PROVIDER=${{matrix.cuda_provider}}
285- -DUMF_TESTS_FAIL_ON_SKIP=ON
286-
287- - name : Build UMF
288- run : cmake --build ${{env.BUILD_DIR}} --config ${{matrix.build_type}} -j $Env:NUMBER_OF_PROCESSORS
289-
290- - name : Run tests
291- working-directory : ${{env.BUILD_DIR}}
292- run : ctest -C ${{matrix.build_type}} --output-on-failure --test-dir test
293-
294- - name : Test UMF installation and uninstallation
295- # The '--shared-library' parameter is added to the installation test when the UMF is built as a shared library
296- run : >
297- python3 ${{github.workspace}}/test/test_installation.py
298- --build-dir ${{env.BUILD_DIR}}
299- --install-dir ${{env.INSTL_DIR}}
300- --build-type ${{matrix.build_type}}
301- --disjoint-pool
302- ${{matrix.shared_library == 'ON' && '--proxy' || '' }}
303- --umf-version ${{env.UMF_VERSION}}
304- ${{ matrix.shared_library == 'ON' && '--shared-library' || ''}}
305-
306- - name : check /DEPENDENTLOADFLAG in umf.dll
307- if : ${{matrix.shared_library == 'ON' && matrix.compiler.cxx == 'cl'}}
308- run : ${{github.workspace}}/.github/scripts/check_dll_flags.ps1 ${{env.BUILD_DIR}}/bin/${{matrix.build_type}}/umf.dll
309- shell : pwsh
310-
311- - name : check /DEPENDENTLOADFLAG in umf_proxy.dll
312- if : ${{matrix.shared_library == 'ON' && matrix.compiler.cxx == 'cl'}}
313- run : ${{github.workspace}}/.github/scripts/check_dll_flags.ps1 ${{env.BUILD_DIR}}/src/proxy_lib/${{matrix.build_type}}/umf_proxy.dll
314- shell : pwsh
315-
316- windows-dynamic_build_hwloc :
317- name : " Windows dynamic UMF + static hwloc"
318- strategy :
319- matrix :
320- build_type : [Release]
321-
322- runs-on : ' windows-2022'
323-
324- steps :
325- - name : Checkout
326- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
327- with :
328- fetch-depth : 0
329-
330- - name : Configure build
331- run : >
332- cmake
333- -B ${{env.BUILD_DIR}}
334- -DCMAKE_INSTALL_PREFIX="${{env.INSTL_DIR}}"
335- -DUMF_BUILD_SHARED_LIBRARY=ON
336- -DUMF_BUILD_EXAMPLES=OFF
337- -DUMF_FORMAT_CODE_STYLE=OFF
338- -DUMF_DEVELOPER_MODE=ON
339- -DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
340- -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=OFF
341- -DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
342- -DUMF_BUILD_CUDA_PROVIDER=ON
343- -DUMF_TESTS_FAIL_ON_SKIP=ON
344- -DUMF_LINK_HWLOC_STATICALLY=ON
345-
346- - name : Build UMF
347- run : cmake --build ${{env.BUILD_DIR}} --config ${{matrix.build_type}} -j $Env:NUMBER_OF_PROCESSORS
348-
349- - name : Run tests
350- working-directory : ${{env.BUILD_DIR}}
351- run : ctest -C ${{matrix.build_type}} --output-on-failure --test-dir test
352-
353- # we check umf.dll only here - note that the proxy library is disabled in
354- # this configuration
355- - name : check /DEPENDENTLOADFLAG in umf.dll
356- run : ${{github.workspace}}/.github/scripts/check_dll_flags.ps1 ${{env.BUILD_DIR}}/bin/${{matrix.build_type}}/umf.dll
357- shell : pwsh
358-
359- windows-static_build_hwloc :
360- name : " Windows static UMF + static hwloc"
361- strategy :
362- matrix :
363- build_type : [Release]
364-
365- runs-on : ' windows-2022'
366-
367- steps :
368- - name : Checkout
369- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
370- with :
371- fetch-depth : 0
372-
373- - name : Configure build
374- run : >
375- cmake
376- -B ${{env.BUILD_DIR}}
377- -DCMAKE_INSTALL_PREFIX="${{env.INSTL_DIR}}"
378- -DUMF_BUILD_SHARED_LIBRARY=OFF
379- -DUMF_BUILD_EXAMPLES=OFF
380- -DUMF_FORMAT_CODE_STYLE=OFF
381- -DUMF_DEVELOPER_MODE=ON
382- -DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
383- -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=OFF
384- -DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
385- -DUMF_BUILD_CUDA_PROVIDER=ON
386- -DUMF_TESTS_FAIL_ON_SKIP=ON
387- -DUMF_LINK_HWLOC_STATICALLY=ON
388-
389- - name : Build UMF
390- run : cmake --build ${{env.BUILD_DIR}} --config ${{matrix.build_type}} -j $Env:NUMBER_OF_PROCESSORS -v
391-
392- - name : Run tests
393- working-directory : ${{env.BUILD_DIR}}
394- run : ctest -C ${{matrix.build_type}} --output-on-failure --test-dir test
395-
396- windows-dynamic_mingw_hwloc :
397- env :
398- HWLOC_PACKAGE_NAME : hwloc-win64-build-2.10.0
399- TBB_PACKAGE_NAME : oneapi-tbb-2021.12.0
400- TBB_LIB_DIR : lib\intel64\vc14
401- TBB_BIN_DIR : redist\intel64\vc14
402-
403- name : " Windows dynamic UMF + mingw libhwloc"
404- strategy :
405- matrix :
406- build_type : [Release]
407-
408- runs-on : ' windows-2022'
409-
410- steps :
411- - name : Checkout
412- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
413- with :
414- fetch-depth : 0
415-
416- - name : Get hwloc from official repo (mingw version)
417- run : |
418- Invoke-WebRequest -Uri https://download.open-mpi.org/release/hwloc/v2.10/${{env.HWLOC_PACKAGE_NAME}}.zip -OutFile ${{github.workspace}}\${{env.HWLOC_PACKAGE_NAME}}.zip -TimeoutSec 360
419- Expand-Archive ${{github.workspace}}\${{env.HWLOC_PACKAGE_NAME}}.zip -DestinationPath ${{github.workspace}}
420-
421- - name : Get TBB from github
422- run : |
423- Invoke-WebRequest -Uri https://github.com/oneapi-src/oneTBB/releases/download/v2021.12.0/${{env.TBB_PACKAGE_NAME}}-win.zip -OutFile "${{github.workspace}}\${{env.TBB_PACKAGE_NAME}}-win.zip" -TimeoutSec 360
424- Expand-Archive "${{github.workspace}}\${{env.TBB_PACKAGE_NAME}}-win.zip" -DestinationPath ${{github.workspace}}
425-
426- - name : Configure build
427- run : >
428- cmake
429- -B ${{env.BUILD_DIR}}
430- -DCMAKE_INSTALL_PREFIX="${{env.INSTL_DIR}}"
431- -DCMAKE_PREFIX_PATH="${{github.workspace}}\${{env.HWLOC_PACKAGE_NAME}};${{github.workspace}}\${{env.TBB_PACKAGE_NAME}};${{github.workspace}}\${{env.TBB_PACKAGE_NAME}}\${{env.TBB_LIB_DIR}};${{github.workspace}}\${{env.TBB_PACKAGE_NAME}}\${{env.TBB_BIN_DIR}}"
432- -DUMF_BUILD_SHARED_LIBRARY=ON
433- -DUMF_BUILD_EXAMPLES=ON
434- -DUMF_FORMAT_CODE_STYLE=OFF
435- -DUMF_DEVELOPER_MODE=ON
436- -DUMF_TESTS_FAIL_ON_SKIP=ON
437- -DUMF_HWLOC_NAME=libhwloc
438-
439- - name : Build UMF
440- run : cmake --build ${{env.BUILD_DIR}} --config ${{matrix.build_type}} -j $Env:NUMBER_OF_PROCESSORS
441-
442- - name : Run tests
443- working-directory : ${{env.BUILD_DIR}}
444- run : ctest -C ${{matrix.build_type}} --output-on-failure --test-dir test
445-
446216 macos-build :
447217 name : MacOS
448218 strategy :
0 commit comments