@@ -15,133 +15,6 @@ permissions:
15
15
contents : read
16
16
17
17
jobs :
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
-
145
18
CodeStyle :
146
19
name : Coding style
147
20
runs-on : ubuntu-latest
@@ -197,15 +70,19 @@ jobs:
197
70
198
71
Spellcheck :
199
72
uses : ./.github/workflows/spellcheck.yml
73
+ FastBuild :
74
+ name : Fast builds
75
+ needs : [Spellcheck, CodeStyle]
76
+ uses : ./.github/workflows/fast.yml
200
77
Build :
201
78
name : Basic builds
202
- needs : [Spellcheck, FastBuild, CodeStyle ]
79
+ needs : [FastBuild]
203
80
uses : ./.github/workflows/basic.yml
204
81
Sanitizers :
205
- needs : [Spellcheck, FastBuild, CodeStyle ]
82
+ needs : [FastBuild]
206
83
uses : ./.github/workflows/sanitizers.yml
207
84
Qemu :
208
- needs : [Spellcheck, FastBuild, CodeStyle ]
85
+ needs : [FastBuild]
209
86
uses : ./.github/workflows/qemu.yml
210
87
Benchmarks :
211
88
needs : [Build]
0 commit comments