]>
Commit | Line | Data |
---|---|---|
da1c088f | 1 | # Copyright 2021-2023 The OpenSSL Project Authors. All Rights Reserved. |
08d8c2d8 P |
2 | # |
3 | # Licensed under the Apache License 2.0 (the "License"). You may not use | |
4 | # this file except in compliance with the License. You can obtain a copy | |
5 | # in the file LICENSE in the source distribution or at | |
6 | # https://www.openssl.org/source/license.html | |
7 | ||
9524a308 MC |
8 | name: GitHub CI |
9 | ||
4159ebca | 10 | on: [pull_request, push] |
9524a308 | 11 | |
ae290d8f DDO |
12 | # for some reason, this does not work: |
13 | # variables: | |
14 | # BUILDOPTS: "-j4" | |
15 | # HARNESS_JOBS: "${HARNESS_JOBS:-4}" | |
16 | ||
17 | # for some reason, this does not work: | |
18 | # before_script: | |
19 | # - make="make -s" | |
20 | ||
c6e7f427 VS |
21 | permissions: |
22 | contents: read | |
23 | ||
1a74f32d | 24 | env: |
d1fe5738 | 25 | OSSL_RUN_CI_TESTS: 1 |
1a74f32d | 26 | |
9524a308 | 27 | jobs: |
8175476b | 28 | check_update: |
834a2d70 | 29 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
8175476b | 30 | steps: |
49f699b5 RL |
31 | - name: install unifdef |
32 | run: | | |
33 | sudo apt-get update | |
34 | sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install unifdef | |
d4231af6 | 35 | - uses: actions/checkout@v4 |
fd84b9c3 BE |
36 | with: |
37 | fetch-depth: 0 | |
8175476b | 38 | - name: config |
8a764202 | 39 | run: ./config --banner=Configured --strict-warnings enable-fips && perl configdata.pm --dump |
8175476b RL |
40 | - name: make build_generated |
41 | run: make -s build_generated | |
42 | - name: make update | |
f97bc7c4 | 43 | run: make update |
8175476b RL |
44 | - name: git diff |
45 | run: git diff --exit-code | |
46 | ||
47 | check_docs: | |
834a2d70 | 48 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
8175476b | 49 | steps: |
d4231af6 | 50 | - uses: actions/checkout@v4 |
8175476b | 51 | - name: config |
8a764202 | 52 | run: ./config --banner=Configured --strict-warnings enable-fips && perl configdata.pm --dump |
8175476b RL |
53 | - name: make build_generated |
54 | run: make -s build_generated | |
5bac37cb DDO |
55 | - name: make doc-nits |
56 | run: make doc-nits | |
d1080823 TS |
57 | - name: make help |
58 | run: make help | |
43c2456f RS |
59 | - name: make md-nits |
60 | run: | | |
61 | sudo gem install mdl | |
62 | make md-nits | |
8175476b | 63 | |
a350e3ef RL |
64 | # This checks that we use ANSI C language syntax and semantics. |
65 | # We are not as strict with libraries, but rather adapt to what's | |
66 | # expected to be available in a certain version of each platform. | |
67 | check-ansi: | |
834a2d70 | 68 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
a350e3ef | 69 | steps: |
d4231af6 | 70 | - uses: actions/checkout@v4 |
a350e3ef | 71 | - name: config |
8a764202 | 72 | run: CPPFLAGS=-ansi ./config --banner=Configured no-asm no-makedepend enable-buildtest-c++ enable-fips --strict-warnings -D_DEFAULT_SOURCE && perl configdata.pm --dump |
a350e3ef RL |
73 | - name: make |
74 | run: make -s -j4 | |
75 | ||
9524a308 | 76 | basic_gcc: |
834a2d70 | 77 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
9524a308 | 78 | steps: |
d4231af6 | 79 | - uses: actions/checkout@v4 |
1ac0464d TM |
80 | - name: checkout fuzz/corpora submodule |
81 | run: git submodule update --init --depth 1 fuzz/corpora | |
c29cf394 DB |
82 | - name: localegen |
83 | run: sudo locale-gen tr_TR.UTF-8 | |
9524a308 | 84 | - name: config |
8a764202 | 85 | # enable-quic is on by default, but we leave it here to check we're testing the explicit enable somewhere |
e98940d6 | 86 | run: CC=gcc ./config --banner=Configured enable-fips enable-quic --strict-warnings && perl configdata.pm --dump |
9524a308 | 87 | - name: make |
ae290d8f | 88 | run: make -s -j4 |
2d374e1c DM |
89 | - name: get cpu info |
90 | run: | | |
91 | cat /proc/cpuinfo | |
92 | ./util/opensslwrap.sh version -c | |
9524a308 | 93 | - name: make test |
ae290d8f | 94 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} |
9524a308 MC |
95 | |
96 | basic_clang: | |
834a2d70 | 97 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
9524a308 | 98 | steps: |
d4231af6 | 99 | - uses: actions/checkout@v4 |
1ac0464d TM |
100 | - name: checkout fuzz/corpora submodule |
101 | run: git submodule update --init --depth 1 fuzz/corpora | |
9524a308 | 102 | - name: config |
e98940d6 | 103 | run: CC=clang ./config --banner=Configured no-fips --strict-warnings && perl configdata.pm --dump |
9524a308 | 104 | - name: make |
ae290d8f | 105 | run: make -s -j4 |
2d374e1c DM |
106 | - name: get cpu info |
107 | run: | | |
108 | cat /proc/cpuinfo | |
109 | ./util/opensslwrap.sh version -c | |
9524a308 | 110 | - name: make test |
ae290d8f | 111 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} |
9524a308 | 112 | |
6b7a11d8 DM |
113 | self-hosted: |
114 | strategy: | |
115 | matrix: | |
116 | os: [freebsd-13.2, ubuntu-arm64-22.04] | |
117 | runs-on: ${{ matrix.os }}-self-hosted | |
118 | continue-on-error: true | |
119 | steps: | |
120 | - uses: actions/checkout@v4 | |
121 | - name: config | |
e98940d6 | 122 | run: ./config enable-fips enable-ec_nistp_64_gcc_128 enable-md2 enable-rc5 enable-ssl3 enable-ssl3-method enable-trace |
6b7a11d8 DM |
123 | - name: config dump |
124 | run: ./configdata.pm --dump | |
125 | - name: make | |
126 | run: make -j4 | |
127 | - name: get cpu info | |
128 | run: ./util/opensslwrap.sh version -c | |
129 | - name: make test | |
130 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} | |
131 | ||
9524a308 | 132 | minimal: |
834a2d70 | 133 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
9524a308 | 134 | steps: |
d4231af6 | 135 | - uses: actions/checkout@v4 |
1ac0464d TM |
136 | - name: checkout fuzz/corpora submodule |
137 | run: git submodule update --init --depth 1 fuzz/corpora | |
9524a308 | 138 | - name: config |
e98940d6 | 139 | run: ./config --banner=Configured --strict-warnings no-bulk no-pic no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT && perl configdata.pm --dump |
9524a308 | 140 | - name: make |
d0196ddc | 141 | run: make -j4 # verbose, so no -s here |
2d374e1c DM |
142 | - name: get cpu info |
143 | run: | | |
144 | cat /proc/cpuinfo | |
145 | ./util/opensslwrap.sh version -c | |
9524a308 | 146 | - name: make test |
ae290d8f | 147 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} |
9524a308 | 148 | |
e3577add | 149 | no-deprecated: |
834a2d70 | 150 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
e3577add | 151 | steps: |
d4231af6 | 152 | - uses: actions/checkout@v4 |
1ac0464d TM |
153 | - name: checkout fuzz/corpora submodule |
154 | run: git submodule update --init --depth 1 fuzz/corpora | |
e3577add | 155 | - name: config |
e98940d6 | 156 | run: ./config --banner=Configured --strict-warnings no-deprecated enable-fips && perl configdata.pm --dump |
e3577add RL |
157 | - name: make |
158 | run: make -s -j4 | |
2d374e1c DM |
159 | - name: get cpu info |
160 | run: | | |
161 | cat /proc/cpuinfo | |
162 | ./util/opensslwrap.sh version -c | |
e3577add RL |
163 | - name: make test |
164 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} | |
165 | ||
834a2d70 DM |
166 | no-shared-ubuntu: |
167 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} | |
4a95b70d | 168 | steps: |
d4231af6 | 169 | - uses: actions/checkout@v4 |
1ac0464d TM |
170 | - name: checkout fuzz/corpora submodule |
171 | run: git submodule update --init --depth 1 fuzz/corpora | |
4a95b70d | 172 | - name: config |
e98940d6 | 173 | run: ./config --banner=Configured --strict-warnings no-shared no-fips && perl configdata.pm --dump |
4a95b70d RL |
174 | - name: make |
175 | run: make -s -j4 | |
2d374e1c | 176 | - name: get cpu info |
834a2d70 DM |
177 | run: | |
178 | cat /proc/cpuinfo | |
179 | ./util/opensslwrap.sh version -c | |
180 | - name: make test | |
181 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} | |
182 | ||
183 | no-shared-macos: | |
184 | runs-on: macos-latest | |
185 | if: github.server_url == 'https://github.com' | |
186 | steps: | |
187 | - uses: actions/checkout@v4 | |
188 | - name: checkout fuzz/corpora submodule | |
189 | run: git submodule update --init --depth 1 fuzz/corpora | |
190 | - name: config | |
e98940d6 | 191 | run: ./config --banner=Configured --strict-warnings no-shared no-fips && perl configdata.pm --dump |
834a2d70 DM |
192 | - name: make |
193 | run: make -s -j4 | |
194 | - name: get cpu info | |
195 | run: | | |
196 | sysctl machdep.cpu | |
197 | ./util/opensslwrap.sh version -c | |
4a95b70d RL |
198 | - name: make test |
199 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} | |
200 | ||
499f2ae9 | 201 | non-caching: |
834a2d70 | 202 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
499f2ae9 | 203 | steps: |
d4231af6 | 204 | - uses: actions/checkout@v4 |
1ac0464d TM |
205 | - name: checkout fuzz/corpora submodule |
206 | run: git submodule update --init --depth 1 fuzz/corpora | |
499f2ae9 | 207 | - name: config |
e98940d6 | 208 | run: ./config --banner=Configured --debug enable-asan enable-ubsan no-cached-fetch no-fips no-dtls no-tls1 no-tls1-method no-tls1_1 no-tls1_1-method no-async && perl configdata.pm --dump |
499f2ae9 P |
209 | - name: make |
210 | run: make -s -j4 | |
2d374e1c DM |
211 | - name: get cpu info |
212 | run: | | |
213 | cat /proc/cpuinfo | |
214 | ./util/opensslwrap.sh version -c | |
499f2ae9 | 215 | - name: make test |
e6f0c8d3 | 216 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} OPENSSL_TEST_RAND_ORDER=0 TESTS="-test_fuzz* -test_ssl_* -test_sslapi -test_evp -test_cmp_http -test_verify -test_cms -test_store -test_enc -[01][0-9]" |
499f2ae9 | 217 | |
a5a4dac9 | 218 | address_ub_sanitizer: |
834a2d70 | 219 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
9524a308 | 220 | steps: |
d4231af6 | 221 | - uses: actions/checkout@v4 |
1ac0464d TM |
222 | - name: checkout fuzz/corpora submodule |
223 | run: git submodule update --init --depth 1 fuzz/corpora | |
9524a308 | 224 | - name: config |
e98940d6 | 225 | run: ./config --banner=Configured --debug enable-asan enable-ubsan enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-fips && perl configdata.pm --dump |
9524a308 | 226 | - name: make |
ae290d8f | 227 | run: make -s -j4 |
2d374e1c DM |
228 | - name: get cpu info |
229 | run: | | |
230 | cat /proc/cpuinfo | |
231 | ./util/opensslwrap.sh version -c | |
9524a308 | 232 | - name: make test |
ae290d8f | 233 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} OPENSSL_TEST_RAND_ORDER=0 |
9524a308 | 234 | |
27d88270 | 235 | fuzz_tests: |
834a2d70 | 236 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
27d88270 MC |
237 | steps: |
238 | - uses: actions/checkout@v4 | |
239 | - name: checkout fuzz/corpora submodule | |
240 | run: git submodule update --init --depth 1 fuzz/corpora | |
241 | - name: config | |
e98940d6 | 242 | run: ./config --banner=Configured --debug -DPEDANTIC -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION enable-asan enable-ubsan enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-weak-ssl-ciphers enable-ssl3 enable-ssl3-method enable-nextprotoneg && perl configdata.pm --dump |
27d88270 MC |
243 | - name: make |
244 | run: make -s -j4 | |
245 | - name: get cpu info | |
246 | run: | | |
247 | cat /proc/cpuinfo | |
248 | ./util/opensslwrap.sh version -c | |
249 | - name: make test | |
250 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} OPENSSL_TEST_RAND_ORDER=0 TESTS="test_fuzz*" | |
251 | ||
a5a4dac9 | 252 | memory_sanitizer: |
834a2d70 | 253 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
a5a4dac9 | 254 | steps: |
d4231af6 | 255 | - uses: actions/checkout@v4 |
1ac0464d TM |
256 | - name: checkout fuzz/corpora submodule |
257 | run: git submodule update --init --depth 1 fuzz/corpora | |
a5a4dac9 P |
258 | - name: config |
259 | # --debug -O1 is to produce a debug build that runs in a reasonable amount of time | |
e98940d6 | 260 | run: CC=clang ./config --banner=Configured --debug -O1 -fsanitize=memory -DOSSL_SANITIZE_MEMORY -fno-optimize-sibling-calls enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-fips && perl configdata.pm --dump |
a5a4dac9 P |
261 | - name: make |
262 | run: make -s -j4 | |
2d374e1c DM |
263 | - name: get cpu info |
264 | run: | | |
265 | cat /proc/cpuinfo | |
266 | ./util/opensslwrap.sh version -c | |
a5a4dac9 P |
267 | - name: make test |
268 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} OPENSSL_TEST_RAND_ORDER=0 | |
269 | ||
f94a9169 | 270 | threads_sanitizer: |
834a2d70 | 271 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
f94a9169 | 272 | steps: |
d4231af6 | 273 | - uses: actions/checkout@v4 |
1ac0464d TM |
274 | - name: checkout fuzz/corpora submodule |
275 | run: git submodule update --init --depth 1 fuzz/corpora | |
f94a9169 | 276 | - name: config |
e98940d6 | 277 | run: CC=clang ./config --banner=Configured no-fips --strict-warnings -fsanitize=thread && perl configdata.pm --dump |
f94a9169 MC |
278 | - name: make |
279 | run: make -s -j4 | |
2d374e1c DM |
280 | - name: get cpu info |
281 | run: | | |
282 | cat /proc/cpuinfo | |
283 | ./util/opensslwrap.sh version -c | |
f94a9169 | 284 | - name: make test |
5cccc0af | 285 | run: make V=1 TESTS="test_threads test_internal_provider test_provfetch test_provider test_pbe test_evp_kdf test_pkcs12 test_store test_evp test_quic*" test HARNESS_JOBS=${HARNESS_JOBS:-4} |
f94a9169 | 286 | |
9524a308 | 287 | enable_non-default_options: |
834a2d70 | 288 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
9524a308 | 289 | steps: |
d4231af6 | 290 | - uses: actions/checkout@v4 |
1ac0464d TM |
291 | - name: checkout fuzz/corpora submodule |
292 | run: git submodule update --init --depth 1 fuzz/corpora | |
c9eb4598 TM |
293 | - name: modprobe tls |
294 | run: sudo modprobe tls | |
9524a308 | 295 | - name: config |
e98940d6 | 296 | run: ./config --banner=Configured --strict-warnings no-ec enable-ssl-trace enable-zlib enable-zlib-dynamic enable-crypto-mdebug enable-egd enable-ktls enable-fips no-threads && perl configdata.pm --dump |
9524a308 | 297 | - name: make |
ae290d8f | 298 | run: make -s -j4 |
2d374e1c DM |
299 | - name: get cpu info |
300 | run: | | |
301 | cat /proc/cpuinfo | |
302 | ./util/opensslwrap.sh version -c | |
9524a308 | 303 | - name: make test |
ae290d8f | 304 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} |
9524a308 | 305 | |
5cd00422 | 306 | full_featured: |
834a2d70 | 307 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
a5d8a2f8 | 308 | steps: |
d4231af6 | 309 | - uses: actions/checkout@v4 |
1ac0464d TM |
310 | - name: checkout fuzz/corpora submodule |
311 | run: git submodule update --init --depth 1 fuzz/corpora | |
a5d8a2f8 DB |
312 | - name: modprobe tls |
313 | run: sudo modprobe tls | |
4ede274c NH |
314 | - name: Enable sctp |
315 | run: sudo modprobe sctp | |
316 | - name: Enable auth in sctp | |
317 | run: sudo sysctl -w net.sctp.auth_enable=1 | |
318 | - name: install extra config support | |
319 | run: sudo apt-get -y install libsctp-dev abigail-tools libzstd-dev zstd | |
a5d8a2f8 | 320 | - name: config |
e98940d6 | 321 | run: ./config --banner=Configured --strict-warnings enable-ktls enable-fips enable-egd enable-ec_nistp_64_gcc_128 enable-md2 enable-rc5 enable-sctp enable-ssl3 enable-ssl3-method enable-trace enable-zlib enable-zstd && perl configdata.pm --dump |
a5d8a2f8 DB |
322 | - name: make |
323 | run: make -s -j4 | |
2d374e1c DM |
324 | - name: get cpu info |
325 | run: | | |
326 | cat /proc/cpuinfo | |
327 | ./util/opensslwrap.sh version -c | |
a5d8a2f8 DB |
328 | - name: make test |
329 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} | |
330 | ||
11c7874d | 331 | no-legacy: |
834a2d70 | 332 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
11c7874d | 333 | steps: |
d4231af6 | 334 | - uses: actions/checkout@v4 |
1ac0464d TM |
335 | - name: checkout fuzz/corpora submodule |
336 | run: git submodule update --init --depth 1 fuzz/corpora | |
11c7874d | 337 | - name: config |
e98940d6 | 338 | run: ./config --banner=Configured --strict-warnings no-legacy enable-fips && perl configdata.pm --dump |
11c7874d P |
339 | - name: make |
340 | run: make -s -j4 | |
2d374e1c DM |
341 | - name: get cpu info |
342 | run: | | |
343 | cat /proc/cpuinfo | |
344 | ./util/opensslwrap.sh version -c | |
11c7874d P |
345 | - name: make test |
346 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} | |
347 | ||
a67c7010 | 348 | legacy: |
834a2d70 | 349 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
9524a308 | 350 | steps: |
d4231af6 | 351 | - uses: actions/checkout@v4 |
1ac0464d TM |
352 | - name: checkout fuzz/corpora submodule |
353 | run: git submodule update --init --depth 1 fuzz/corpora | |
9524a308 | 354 | - name: config |
e98940d6 | 355 | run: ./config --banner=Configured -Werror --debug no-afalgeng no-shared enable-crypto-mdebug enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-zlib enable-ec_nistp_64_gcc_128 no-fips && perl configdata.pm --dump |
9524a308 | 356 | - name: make |
ae290d8f | 357 | run: make -s -j4 |
2d374e1c DM |
358 | - name: get cpu info |
359 | run: | | |
360 | cat /proc/cpuinfo | |
361 | ./util/opensslwrap.sh version -c | |
9524a308 | 362 | - name: make test |
ae290d8f | 363 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} |
4605b34d | 364 | |
266a3553 RL |
365 | # out-of-source-and-install checks multiple things at the same time: |
366 | # - That building, testing and installing works from an out-of-source | |
367 | # build tree | |
368 | # - That building, testing and installing works with a read-only source | |
369 | # tree | |
834a2d70 DM |
370 | out-of-readonly-source-and-install-ubuntu: |
371 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} | |
4605b34d | 372 | steps: |
d4231af6 | 373 | - uses: actions/checkout@v4 |
266a3553 RL |
374 | with: |
375 | path: ./source | |
1ac0464d TM |
376 | - name: checkout fuzz/corpora submodule |
377 | run: git submodule update --init --depth 1 fuzz/corpora | |
266a3553 RL |
378 | working-directory: ./source |
379 | - name: make source read-only | |
380 | run: chmod -R a-w ./source | |
381 | - name: create build and install directories | |
4605b34d RL |
382 | run: | |
383 | mkdir ./build | |
384 | mkdir ./install | |
385 | - name: config | |
266a3553 | 386 | run: | |
e98940d6 | 387 | ../source/config --banner=Configured enable-fips enable-quic enable-acvp-tests --strict-warnings --prefix=$(cd ../install; pwd) |
266a3553 | 388 | perl configdata.pm --dump |
4605b34d RL |
389 | working-directory: ./build |
390 | - name: make | |
391 | run: make -s -j4 | |
392 | working-directory: ./build | |
2d374e1c | 393 | - name: get cpu info |
834a2d70 DM |
394 | run: | |
395 | cat /proc/cpuinfo | |
396 | ./util/opensslwrap.sh version -c | |
397 | working-directory: ./build | |
398 | - name: make test | |
399 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} | |
400 | working-directory: ./build | |
401 | - name: make install | |
402 | run: make install | |
403 | working-directory: ./build | |
404 | ||
405 | out-of-readonly-source-and-install-macos: | |
406 | runs-on: macos-latest | |
407 | if: github.server_url == 'https://github.com' | |
408 | steps: | |
409 | - uses: actions/checkout@v4 | |
410 | with: | |
411 | path: ./source | |
412 | - name: checkout fuzz/corpora submodule | |
413 | run: git submodule update --init --depth 1 fuzz/corpora | |
414 | working-directory: ./source | |
415 | - name: make source read-only | |
416 | run: chmod -R a-w ./source | |
417 | - name: create build and install directories | |
418 | run: | | |
419 | mkdir ./build | |
420 | mkdir ./install | |
421 | - name: config | |
422 | run: | | |
e98940d6 | 423 | ../source/config --banner=Configured enable-fips enable-quic enable-acvp-tests --strict-warnings --prefix=$(cd ../install; pwd) |
834a2d70 DM |
424 | perl configdata.pm --dump |
425 | working-directory: ./build | |
426 | - name: make | |
427 | run: make -s -j4 | |
428 | working-directory: ./build | |
429 | - name: get cpu info | |
430 | run: | | |
431 | sysctl machdep.cpu | |
432 | ./util/opensslwrap.sh version -c | |
2d374e1c | 433 | working-directory: ./build |
4605b34d RL |
434 | - name: make test |
435 | run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} | |
436 | working-directory: ./build | |
437 | - name: make install | |
438 | run: make install | |
439 | working-directory: ./build | |
b414c811 | 440 | |
996d2693 | 441 | external-tests: |
834a2d70 | 442 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
996d2693 | 443 | steps: |
d4231af6 | 444 | - uses: actions/checkout@v4 |
996d2693 TM |
445 | with: |
446 | submodules: recursive | |
447 | - name: package installs | |
448 | run: | | |
449 | sudo apt-get update | |
dd62ec27 | 450 | sudo apt-get -yq install bison gettext keyutils ldap-utils libldap2-dev libkeyutils-dev python3 python3-paste python3-pyrad slapd tcsh python3-virtualenv virtualenv python3-kdcproxy |
b414c811 TM |
451 | - name: install cpanm and Test2::V0 for gost_engine testing |
452 | uses: perl-actions/install-with-cpanm@v1 | |
453 | with: | |
454 | install: Test2::V0 | |
cd0aca53 TM |
455 | - name: setup hostname workaround |
456 | run: sudo hostname localhost | |
996d2693 | 457 | - name: config |
d0364dcc | 458 | run: ./config --banner=Configured --strict-warnings --debug no-afalgeng enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-zlib enable-ec_nistp_64_gcc_128 enable-external-tests no-fips && perl configdata.pm --dump |
996d2693 TM |
459 | - name: make |
460 | run: make -s -j4 | |
2d374e1c DM |
461 | - name: get cpu info |
462 | run: | | |
463 | cat /proc/cpuinfo | |
464 | ./util/opensslwrap.sh version -c | |
a7a041c2 TM |
465 | - name: test external gost-engine |
466 | run: make test TESTS="test_external_gost_engine" | |
467 | - name: test external krb5 | |
468 | run: make test TESTS="test_external_krb5" | |
e66c4172 DB |
469 | - name: test external_tlsfuzzer |
470 | run: make test TESTS="test_external_tlsfuzzer" | |
fa66f62e MB |
471 | - name: test external oqs-provider |
472 | run: make test TESTS="test_external_oqsprovider" | |
a938f004 PK |
473 | |
474 | external-test-pyca: | |
834a2d70 | 475 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
a938f004 PK |
476 | strategy: |
477 | matrix: | |
478 | RUST: | |
479 | - 1.51.0 | |
480 | PYTHON: | |
481 | - 3.9 | |
482 | steps: | |
d4231af6 | 483 | - uses: actions/checkout@v4 |
a938f004 PK |
484 | with: |
485 | submodules: recursive | |
486 | - name: Configure OpenSSL | |
d0364dcc | 487 | run: ./config --banner=Configured --strict-warnings --debug enable-external-tests && perl configdata.pm --dump |
a938f004 PK |
488 | - name: make |
489 | run: make -s -j4 | |
490 | - name: Setup Python | |
51c85496 | 491 | uses: actions/setup-python@v5.0.0 |
a938f004 PK |
492 | with: |
493 | python-version: ${{ matrix.PYTHON }} | |
cd5911a6 | 494 | - uses: dtolnay/rust-toolchain@master |
a938f004 | 495 | with: |
a938f004 | 496 | toolchain: ${{ matrix.RUST }} |
2d374e1c DM |
497 | - name: get cpu info |
498 | run: | | |
499 | cat /proc/cpuinfo | |
500 | ./util/opensslwrap.sh version -c | |
a938f004 | 501 | - name: test external pyca |
94471ccf | 502 | run: make test TESTS="test_external_pyca" VERBOSE=1 |
fc110280 TM |
503 | |
504 | external-test-cf-quiche: | |
834a2d70 | 505 | runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }} |
fc110280 | 506 | steps: |
d4231af6 | 507 | - uses: actions/checkout@v4 |
fc110280 TM |
508 | with: |
509 | submodules: recursive | |
510 | - name: Configure OpenSSL | |
8a764202 | 511 | run: ./config --banner=Configured --strict-warnings enable-external-tests && perl configdata.pm --dump |
fc110280 TM |
512 | - name: make |
513 | run: make -s -j4 | |
cd5911a6 | 514 | - uses: dtolnay/rust-toolchain@stable |
2d374e1c DM |
515 | - name: get cpu info |
516 | run: | | |
517 | cat /proc/cpuinfo | |
518 | ./util/opensslwrap.sh version -c | |
fc110280 TM |
519 | - name: test external Cloudflare quiche |
520 | run: make test TESTS="test_external_cf_quiche" VERBOSE=1 |