@@ -11,166 +11,6 @@ permissions:
11
11
contents : read
12
12
13
13
jobs :
14
- FastBuild :
15
- name : Fast build
16
- env :
17
- 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"
18
- strategy :
19
- matrix :
20
- include :
21
- - os : windows-latest
22
- disjoint : ' OFF'
23
- build_tests : ' ON'
24
- # pure C build (Windows)
25
- - os : windows-latest
26
- disjoint : ' OFF'
27
- # Tests' building is off for a pure C build
28
- build_tests : ' OFF'
29
- - os : ubuntu-latest
30
- disjoint : ' ON'
31
- build_tests : ' ON'
32
- # Windows doesn't recognize 'CMAKE_BUILD_TYPE', it uses '--config' param in build command
33
- extra_build_options : ' -DCMAKE_BUILD_TYPE=Release -DUMF_BUILD_BENCHMARKS=ON -DUMF_BUILD_BENCHMARKS_MT=ON'
34
- # pure C build (Linux)
35
- - os : ubuntu-latest
36
- disjoint : ' OFF'
37
- # Windows doesn't recognize 'CMAKE_BUILD_TYPE', it uses '--config' param in build command
38
- # Tests' building is off for a pure C build
39
- build_tests : ' OFF'
40
- extra_build_options : ' -DCMAKE_BUILD_TYPE=Release -DUMF_BUILD_BENCHMARKS=ON'
41
- runs-on : ${{matrix.os}}
42
-
43
- steps :
44
- - name : Checkout repository
45
- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
46
-
47
- - name : Initialize vcpkg
48
- if : matrix.os == 'windows-latest'
49
- uses : lukka/run-vcpkg@5e0cab206a5ea620130caf672fce3e4a6b5666a1 # v11.5
50
- with :
51
- vcpkgGitCommitId : 3dd44b931481d7a8e9ba412621fa810232b66289
52
- vcpkgDirectory : ${{github.workspace}}/build/vcpkg
53
- vcpkgJsonGlob : ' **/vcpkg.json'
54
-
55
- - name : Install dependencies
56
- if : matrix.os == 'windows-latest'
57
- run : vcpkg install
58
- shell : pwsh # Specifies PowerShell as the shell for running the script.
59
-
60
- - name : Install apt packages
61
- if : matrix.os == 'ubuntu-latest'
62
- run : |
63
- sudo apt-get update
64
- sudo apt-get install -y cmake libjemalloc-dev libhwloc-dev libnuma-dev libtbb-dev
65
-
66
- - name : Set ptrace value for IPC test (on Linux only)
67
- if : matrix.os == 'ubuntu-latest'
68
- run : sudo bash -c "echo 0 > /proc/sys/kernel/yama/ptrace_scope"
69
-
70
- - name : Configure CMake
71
- run : >
72
- cmake
73
- -B ${{github.workspace}}/build
74
- -DCMAKE_PREFIX_PATH="${{env.VCPKG_PATH}}"
75
- -DUMF_FORMAT_CODE_STYLE=OFF
76
- -DUMF_DEVELOPER_MODE=ON
77
- -DUMF_BUILD_LIBUMF_POOL_SCALABLE=ON
78
- -DUMF_BUILD_LIBUMF_POOL_DISJOINT=${{matrix.disjoint}}
79
- -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
80
- -DUMF_BUILD_TESTS=${{matrix.build_tests}}
81
- -DUMF_BUILD_EXAMPLES=ON
82
- -DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
83
- -DUMF_TESTS_FAIL_ON_SKIP=ON
84
- ${{matrix.extra_build_options}}
85
-
86
- - name : Build
87
- run : cmake --build ${{github.workspace}}/build --config Release -j
88
-
89
- - name : Run examples
90
- working-directory : ${{github.workspace}}/build
91
- run : ctest --output-on-failure --test-dir examples -C Release
92
-
93
- - name : Run tests
94
- if : matrix.build_tests == 'ON'
95
- working-directory : ${{github.workspace}}/build
96
- run : ctest --output-on-failure --test-dir test -C Release
97
-
98
- CodeStyle :
99
- name : Coding style
100
- runs-on : ubuntu-latest
101
-
102
- steps :
103
- - name : Checkout repository
104
- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
105
-
106
- - name : Install apt packages
107
- run : |
108
- sudo apt-get update
109
- sudo apt-get install -y black cmake clang-format-15 cmake-format libhwloc-dev
110
-
111
- - name : Configure CMake
112
- run : >
113
- cmake
114
- -B ${{github.workspace}}/build
115
- -DUMF_FORMAT_CODE_STYLE=ON
116
- -DUMF_BUILD_TESTS=OFF
117
- -DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
118
- -DUMF_BUILD_LIBUMF_POOL_SCALABLE=OFF
119
- -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=OFF
120
-
121
- - name : Check C/C++ formatting
122
- run : cmake --build build --target clang-format-check
123
-
124
- - name : Check CMake formatting
125
- run : cmake --build build --target cmake-format-check
126
-
127
- - name : Check Python formatting
128
- run : cmake --build build --target black-format-check
129
-
130
- DocsBuild :
131
- name : Build docs
132
- runs-on : ubuntu-latest
133
-
134
- steps :
135
- - name : Checkout repository
136
- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
137
-
138
- - name : Install doxygen
139
- run : |
140
- sudo apt-get update
141
- sudo apt-get install -y doxygen
142
-
143
- - name : Install pip requirements
144
- run : python3 -m pip install -r third_party/requirements.txt
145
-
146
- - name : Build the documentation
147
- working-directory : scripts
148
- run : python3 generate_docs.py
149
-
150
- Spellcheck :
151
- uses : ./.github/workflows/spellcheck.yml
152
14
Build :
153
15
name : Basic builds
154
- needs : [Spellcheck, FastBuild, CodeStyle]
155
- uses : ./.github/workflows/basic.yml
156
- Sanitizers :
157
- needs : [Spellcheck, FastBuild, CodeStyle]
158
- uses : ./.github/workflows/sanitizers.yml
159
- Benchmarks :
160
- needs : [Build]
161
- uses : ./.github/workflows/benchmarks.yml
162
- ProxyLib :
163
- needs : [Build]
164
- uses : ./.github/workflows/proxy_lib.yml
165
- GPU :
166
- needs : [Build]
167
- uses : ./.github/workflows/gpu.yml
168
- Qemu :
169
- needs : [Build]
170
- uses : ./.github/workflows/qemu.yml
171
- Valgrind :
172
- needs : [Build]
173
- uses : ./.github/workflows/valgrind.yml
174
- MultiNuma :
175
- needs : [Build]
176
- uses : ./.github/workflows/multi_numa.yml
16
+ uses : ./.github/workflows/basic.yml
0 commit comments