@@ -15,133 +15,6 @@ permissions:
1515 contents : read
1616
1717jobs :
18- FastBuild :
19- name : Fast build
20- env :
21- 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"
22- strategy :
23- matrix :
24- include :
25- - os : windows-latest
26- disjoint : ' OFF'
27- build_tests : ' ON'
28- simple_cmake : ' OFF'
29- # pure C build (Windows)
30- - os : windows-latest
31- disjoint : ' OFF'
32- # Tests' building is off for a pure C build
33- build_tests : ' OFF'
34- simple_cmake : ' OFF'
35- - os : ubuntu-latest
36- disjoint : ' ON'
37- build_tests : ' ON'
38- # Windows doesn't recognize 'CMAKE_BUILD_TYPE', it uses '--config' param in build command
39- extra_build_options : ' -DCMAKE_BUILD_TYPE=Release -DUMF_BUILD_BENCHMARKS=ON -DUMF_BUILD_BENCHMARKS_MT=ON'
40- simple_cmake : ' OFF'
41- # pure C build (Linux)
42- - os : ubuntu-latest
43- disjoint : ' OFF'
44- # Windows doesn't recognize 'CMAKE_BUILD_TYPE', it uses '--config' param in build command
45- # Tests' building is off for a pure C build
46- build_tests : ' OFF'
47- extra_build_options : ' -DCMAKE_BUILD_TYPE=Release -DUMF_BUILD_BENCHMARKS=ON'
48- simple_cmake : ' OFF'
49- # simplest CMake on ubuntu-latest
50- - os : ubuntu-latest
51- disjoint : ' OFF'
52- build_tests : ' ON'
53- extra_build_options : ' -DCMAKE_BUILD_TYPE=Release'
54- simple_cmake : ' ON'
55- # simplest CMake ubuntu-20.04
56- - os : ubuntu-20.04
57- disjoint : ' OFF'
58- build_tests : ' ON'
59- extra_build_options : ' -DCMAKE_BUILD_TYPE=Release'
60- simple_cmake : ' ON'
61- runs-on : ${{matrix.os}}
62-
63- steps :
64- - name : Checkout repository
65- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
66-
67- - name : Initialize vcpkg
68- if : matrix.os == 'windows-latest'
69- uses : lukka/run-vcpkg@5e0cab206a5ea620130caf672fce3e4a6b5666a1 # v11.5
70- with :
71- vcpkgGitCommitId : 3dd44b931481d7a8e9ba412621fa810232b66289
72- vcpkgDirectory : ${{github.workspace}}/build/vcpkg
73- vcpkgJsonGlob : ' **/vcpkg.json'
74-
75- - name : Install dependencies
76- if : matrix.os == 'windows-latest'
77- run : vcpkg install
78- shell : pwsh # Specifies PowerShell as the shell for running the script.
79-
80- - name : Install apt packages (ubuntu-latest)
81- if : matrix.os == 'ubuntu-latest'
82- run : |
83- sudo apt-get update
84- sudo apt-get install -y cmake libjemalloc-dev libhwloc-dev libnuma-dev libtbb-dev
85-
86- - name : Install apt packages (ubuntu-20.04)
87- if : matrix.os == 'ubuntu-20.04'
88- run : |
89- sudo apt-get update
90- sudo apt-get install -y cmake libjemalloc-dev libnuma-dev libtbb-dev
91- .github/scripts/install_hwloc.sh # install hwloc-2.3.0 instead of hwloc-2.1.0 present in the OS package
92-
93- - name : Set ptrace value for IPC test (on Linux only)
94- if : ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-20.04' }}
95- run : sudo bash -c "echo 0 > /proc/sys/kernel/yama/ptrace_scope"
96-
97- - name : Configure CMake
98- if : matrix.simple_cmake == 'OFF'
99- run : >
100- cmake
101- -B ${{github.workspace}}/build
102- -DCMAKE_PREFIX_PATH="${{env.VCPKG_PATH}}"
103- -DUMF_FORMAT_CODE_STYLE=OFF
104- -DUMF_DEVELOPER_MODE=ON
105- -DUMF_BUILD_LIBUMF_POOL_DISJOINT=${{matrix.disjoint}}
106- -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
107- -DUMF_BUILD_TESTS=${{matrix.build_tests}}
108- -DUMF_BUILD_EXAMPLES=ON
109- -DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
110- -DUMF_TESTS_FAIL_ON_SKIP=ON
111- -DUMF_BUILD_SHARED_LIBRARY=ON
112- ${{matrix.extra_build_options}}
113-
114- - name : Configure CMake (simple)
115- if : matrix.simple_cmake == 'ON'
116- run : >
117- cmake
118- -B ${{github.workspace}}/build
119- -DUMF_BUILD_SHARED_LIBRARY=ON
120- -DUMF_TESTS_FAIL_ON_SKIP=ON
121- ${{matrix.extra_build_options}}
122-
123- - name : Build
124- run : cmake --build ${{github.workspace}}/build --config Release -j
125-
126- - name : Run examples
127- working-directory : ${{github.workspace}}/build
128- run : ctest --output-on-failure --test-dir examples -C Release
129-
130- - name : Run tests
131- if : matrix.build_tests == 'ON'
132- working-directory : ${{github.workspace}}/build
133- run : ctest --output-on-failure --test-dir test -C Release
134-
135- - name : check /DEPENDENTLOADFLAG (Windows only)
136- if : matrix.os == 'windows-latest'
137- run : ${{github.workspace}}/.github/scripts/check_dll_flags.ps1 ${{github.workspace}}/build/bin/Release/umf.dll
138- shell : pwsh
139-
140- - name : check /DEPENDENTLOADFLAG in umf_proxy.dll
141- if : matrix.os == 'windows-latest'
142- run : ${{github.workspace}}/.github/scripts/check_dll_flags.ps1 ${{github.workspace}}/build/src/proxy_lib/Release/umf_proxy.dll
143- shell : pwsh
144-
14518 CodeStyle :
14619 name : Coding style
14720 runs-on : ubuntu-latest
@@ -197,15 +70,19 @@ jobs:
19770
19871 Spellcheck :
19972 uses : ./.github/workflows/spellcheck.yml
73+ FastBuild :
74+ name : Fast builds
75+ needs : [Spellcheck, CodeStyle]
76+ uses : ./.github/workflows/fast.yml
20077 Build :
20178 name : Basic builds
202- needs : [Spellcheck, FastBuild, CodeStyle ]
79+ needs : [FastBuild]
20380 uses : ./.github/workflows/basic.yml
20481 Sanitizers :
205- needs : [Spellcheck, FastBuild, CodeStyle ]
82+ needs : [FastBuild]
20683 uses : ./.github/workflows/sanitizers.yml
20784 Qemu :
208- needs : [Spellcheck, FastBuild, CodeStyle ]
85+ needs : [FastBuild]
20986 uses : ./.github/workflows/qemu.yml
21087 Benchmarks :
21188 needs : [Build]
0 commit comments