]> git.ipfire.org Git - thirdparty/openssl.git/blob - .github/workflows/ci.yml
rand: remove unimplemented librandom stub code
[thirdparty/openssl.git] / .github / workflows / ci.yml
1 # Copyright 2021-2024 The OpenSSL Project Authors. All Rights Reserved.
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
8 name: GitHub CI
9
10 on: [pull_request, push]
11
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
21 permissions:
22 contents: read
23
24 env:
25 OSSL_RUN_CI_TESTS: 1
26
27 jobs:
28 check_update:
29 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
30 steps:
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
35 - uses: actions/checkout@v4
36 with:
37 fetch-depth: 0
38 - name: config
39 run: ./config --banner=Configured --strict-warnings enable-fips && perl configdata.pm --dump
40 - name: make build_generated
41 run: make -s build_generated
42 - name: make update
43 run: make update
44 - name: git diff
45 run: git diff --exit-code
46
47 check_docs:
48 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
49 steps:
50 - uses: actions/checkout@v4
51 - name: config
52 run: ./config --banner=Configured --strict-warnings enable-fips && perl configdata.pm --dump
53 - name: make build_generated
54 run: make -s build_generated
55 - name: make doc-nits
56 run: make doc-nits
57 - name: make help
58 run: make help
59 - name: make md-nits
60 run: |
61 sudo gem install mdl
62 make md-nits
63
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:
68 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
69 steps:
70 - uses: actions/checkout@v4
71 - name: config
72 run: CPPFLAGS='-ansi -D_XOPEN_SOURCE=1 -D_POSIX_C_SOURCE=200809L' ./config --banner=Configured no-asm no-secure-memory no-makedepend enable-buildtest-c++ enable-fips --strict-warnings && perl configdata.pm --dump
73 - name: make
74 run: make -s -j4
75
76 basic_gcc:
77 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
78 steps:
79 - uses: actions/checkout@v4
80 - name: checkout fuzz/corpora submodule
81 run: git submodule update --init --depth 1 fuzz/corpora
82 - name: localegen
83 run: sudo locale-gen tr_TR.UTF-8
84 - name: config
85 # enable-quic is on by default, but we leave it here to check we're testing the explicit enable somewhere
86 run: CC=gcc ./config --banner=Configured enable-demos enable-h3demo enable-fips enable-quic --strict-warnings && perl configdata.pm --dump
87 - name: make
88 run: make -s -j4
89 - name: get cpu info
90 run: |
91 cat /proc/cpuinfo
92 ./util/opensslwrap.sh version -c
93 - name: make test
94 run: .github/workflows/make-test
95 - name: save artifacts
96 uses: actions/upload-artifact@v3
97 with:
98 name: "ci@basic-gcc"
99 path: artifacts.tar.gz
100
101 basic_clang:
102 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
103 steps:
104 - uses: actions/checkout@v4
105 - name: checkout fuzz/corpora submodule
106 run: git submodule update --init --depth 1 fuzz/corpora
107 - name: config
108 run: CC=clang ./config --banner=Configured enable-demos enable-h3demo no-fips --strict-warnings && perl configdata.pm --dump
109 - name: make
110 run: make -s -j4
111 - name: get cpu info
112 run: |
113 cat /proc/cpuinfo
114 ./util/opensslwrap.sh version -c
115 - name: make test
116 run: .github/workflows/make-test
117 - name: save artifacts
118 uses: actions/upload-artifact@v3
119 with:
120 name: "ci@basic-clang"
121 path: artifacts.tar.gz
122
123 self-hosted:
124 if: github.repository == 'openssl/openssl'
125 strategy:
126 matrix:
127 os: [freebsd-13.2, ubuntu-arm64-22.04]
128 runs-on: ${{ matrix.os }}-self-hosted
129 continue-on-error: true
130 steps:
131 - uses: actions/checkout@v4
132 - name: config
133 run: ./config enable-demos enable-fips enable-ec_nistp_64_gcc_128 enable-md2 enable-rc5 enable-ssl3 enable-ssl3-method enable-trace
134 - name: config dump
135 run: ./configdata.pm --dump
136 - name: make
137 run: make -j4
138 - name: get cpu info
139 run: ./util/opensslwrap.sh version -c
140 - name: make test
141 run: .github/workflows/make-test
142 - name: save artifacts
143 uses: actions/upload-artifact@v3
144 with:
145 name: "ci@self-hosted-${{ matrix.os }}"
146 path: artifacts.tar.gz
147
148 minimal:
149 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
150 steps:
151 - uses: actions/checkout@v4
152 - name: checkout fuzz/corpora submodule
153 run: git submodule update --init --depth 1 fuzz/corpora
154 - name: config
155 run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo no-bulk no-pic no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT && perl configdata.pm --dump
156 - name: make
157 run: make -j4 # verbose, so no -s here
158 - name: get cpu info
159 run: |
160 cat /proc/cpuinfo
161 ./util/opensslwrap.sh version -c
162 - name: make test
163 run: .github/workflows/make-test
164 - name: save artifacts
165 uses: actions/upload-artifact@v3
166 with:
167 name: "ci@minimal"
168 path: artifacts.tar.gz
169
170 no-deprecated:
171 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
172 steps:
173 - uses: actions/checkout@v4
174 - name: checkout fuzz/corpora submodule
175 run: git submodule update --init --depth 1 fuzz/corpora
176 - name: config
177 run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo no-deprecated enable-fips && perl configdata.pm --dump
178 - name: make
179 run: make -s -j4
180 - name: get cpu info
181 run: |
182 cat /proc/cpuinfo
183 ./util/opensslwrap.sh version -c
184 - name: make test
185 run: .github/workflows/make-test
186 - name: save artifacts
187 uses: actions/upload-artifact@v3
188 with:
189 name: "ci@no-deprecated"
190 path: artifacts.tar.gz
191
192 no-shared-ubuntu:
193 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
194 steps:
195 - uses: actions/checkout@v4
196 - name: checkout fuzz/corpora submodule
197 run: git submodule update --init --depth 1 fuzz/corpora
198 - name: config
199 run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo no-shared no-fips && perl configdata.pm --dump
200 - name: make
201 run: make -s -j4
202 - name: get cpu info
203 run: |
204 cat /proc/cpuinfo
205 ./util/opensslwrap.sh version -c
206 - name: make test
207 run: .github/workflows/make-test
208 - name: save artifacts
209 uses: actions/upload-artifact@v3
210 with:
211 name: "ci@no-shared-ubuntu"
212 path: artifacts.tar.gz
213
214 no-shared-macos:
215 strategy:
216 fail-fast: false
217 matrix:
218 os: [macos-13, macos-14]
219 if: github.server_url == 'https://github.com'
220 runs-on: ${{ matrix.os }}
221 steps:
222 - uses: actions/checkout@v4
223 - name: checkout fuzz/corpora submodule
224 run: git submodule update --init --depth 1 fuzz/corpora
225 - name: config
226 run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo no-shared no-fips && perl configdata.pm --dump
227 - name: make
228 run: make -s -j4
229 - name: get cpu info
230 run: |
231 sysctl machdep.cpu
232 ./util/opensslwrap.sh version -c
233 - name: make test
234 run: .github/workflows/make-test
235 - name: save artifacts
236 uses: actions/upload-artifact@v3
237 with:
238 name: "ci@no-shared-${{ matrix.os }}"
239 path: artifacts.tar.gz
240
241 non-caching:
242 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
243 steps:
244 - uses: actions/checkout@v4
245 - name: checkout fuzz/corpora submodule
246 run: git submodule update --init --depth 1 fuzz/corpora
247 - name: Adjust ASLR for sanitizer
248 run: |
249 sudo cat /proc/sys/vm/mmap_rnd_bits
250 sudo sysctl -w vm.mmap_rnd_bits=28
251 - name: config
252 run: ./config --banner=Configured --debug enable-demos enable-h3demo 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
253 - name: make
254 run: make -s -j4
255 - name: get cpu info
256 run: |
257 cat /proc/cpuinfo
258 ./util/opensslwrap.sh version -c
259 - name: make test
260 run: .github/workflows/make-test 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]"
261 - name: save artifacts
262 uses: actions/upload-artifact@v3
263 with:
264 name: "ci@non-caching"
265 path: artifacts.tar.gz
266
267 address_ub_sanitizer:
268 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
269 steps:
270 - uses: actions/checkout@v4
271 - name: checkout fuzz/corpora submodule
272 run: git submodule update --init --depth 1 fuzz/corpora
273 - name: Adjust ASLR for sanitizer
274 run: |
275 sudo cat /proc/sys/vm/mmap_rnd_bits
276 sudo sysctl -w vm.mmap_rnd_bits=28
277 - name: config
278 run: ./config --banner=Configured --debug enable-demos enable-h3demo enable-asan enable-ubsan enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-fips && perl configdata.pm --dump
279 - name: make
280 run: make -s -j4
281 - name: get cpu info
282 run: |
283 cat /proc/cpuinfo
284 ./util/opensslwrap.sh version -c
285 - name: make test
286 run: .github/workflows/make-test OPENSSL_TEST_RAND_ORDER=0
287 - name: save artifacts
288 uses: actions/upload-artifact@v3
289 with:
290 name: "ci@address_ub_sanitizer"
291 path: artifacts.tar.gz
292
293 fuzz_tests:
294 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
295 steps:
296 - uses: actions/checkout@v4
297 - name: checkout fuzz/corpora submodule
298 run: git submodule update --init --depth 1 fuzz/corpora
299 - name: Adjust ASLR for sanitizer
300 run: |
301 sudo cat /proc/sys/vm/mmap_rnd_bits
302 sudo sysctl -w vm.mmap_rnd_bits=28
303 - name: config
304 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
305 - name: make
306 run: make -s -j4
307 - name: get cpu info
308 run: |
309 cat /proc/cpuinfo
310 ./util/opensslwrap.sh version -c
311 - name: make test
312 run: .github/workflows/make-test OPENSSL_TEST_RAND_ORDER=0 TESTS="test_fuzz*"
313 - name: save artifacts
314 uses: actions/upload-artifact@v3
315 with:
316 name: "ci@fuzz_tests"
317 path: artifacts.tar.gz
318 if-no-files-found: ignore
319
320 memory_sanitizer:
321 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
322 steps:
323 - uses: actions/checkout@v4
324 - name: checkout fuzz/corpora submodule
325 run: git submodule update --init --depth 1 fuzz/corpora
326 - name: Adjust ASLR for sanitizer
327 run: |
328 sudo cat /proc/sys/vm/mmap_rnd_bits
329 sudo sysctl -w vm.mmap_rnd_bits=28
330 - name: config
331 # --debug -O1 is to produce a debug build that runs in a reasonable amount of time
332 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
333 - name: make
334 run: make -s -j4
335 - name: get cpu info
336 run: |
337 cat /proc/cpuinfo
338 ./util/opensslwrap.sh version -c
339 - name: make test
340 run: .github/workflows/make-test OPENSSL_TEST_RAND_ORDER=0
341 - name: save artifacts
342 uses: actions/upload-artifact@v3
343 with:
344 name: "ci@memory_sanitizer"
345 path: artifacts.tar.gz
346
347 threads_sanitizer:
348 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
349 steps:
350 - uses: actions/checkout@v4
351 - name: checkout fuzz/corpora submodule
352 run: git submodule update --init --depth 1 fuzz/corpora
353 - name: Adjust ASLR for sanitizer
354 run: |
355 sudo cat /proc/sys/vm/mmap_rnd_bits
356 sudo sysctl -w vm.mmap_rnd_bits=28
357 - name: config
358 run: CC=clang ./config --banner=Configured no-fips --strict-warnings -fsanitize=thread && perl configdata.pm --dump
359 - name: make
360 run: make -s -j4
361 - name: get cpu info
362 run: |
363 cat /proc/cpuinfo
364 ./util/opensslwrap.sh version -c
365 - name: make test
366 run: .github/workflows/make-test 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*"
367 - name: save artifacts
368 uses: actions/upload-artifact@v3
369 with:
370 name: "ci@threads_sanitizer"
371 path: artifacts.tar.gz
372
373 enable_non-default_options:
374 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
375 steps:
376 - uses: actions/checkout@v4
377 - name: checkout fuzz/corpora submodule
378 run: git submodule update --init --depth 1 fuzz/corpora
379 - name: modprobe tls
380 run: sudo modprobe tls
381 - name: config
382 run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo 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
383 - name: make
384 run: make -s -j4
385 - name: get cpu info
386 run: |
387 cat /proc/cpuinfo
388 ./util/opensslwrap.sh version -c
389 - name: make test
390 run: .github/workflows/make-test
391 - name: save artifacts
392 uses: actions/upload-artifact@v3
393 with:
394 name: "ci@enable_non-default_options"
395 path: artifacts.tar.gz
396
397 full_featured:
398 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
399 steps:
400 - uses: actions/checkout@v4
401 - name: checkout fuzz/corpora submodule
402 run: git submodule update --init --depth 1 fuzz/corpora
403 - name: modprobe tls
404 run: sudo modprobe tls
405 - name: Enable sctp
406 run: sudo modprobe sctp
407 - name: Enable auth in sctp
408 run: sudo sysctl -w net.sctp.auth_enable=1
409 - name: install extra config support
410 run: sudo apt-get -y install libsctp-dev abigail-tools libzstd-dev zstd
411 - name: config
412 run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo 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
413 - name: make
414 run: make -s -j4
415 - name: get cpu info
416 run: |
417 cat /proc/cpuinfo
418 ./util/opensslwrap.sh version -c
419 - name: make test
420 run: .github/workflows/make-test
421 - name: save artifacts
422 uses: actions/upload-artifact@v3
423 with:
424 name: "ci@full_featured"
425 path: artifacts.tar.gz
426
427 no-legacy:
428 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
429 steps:
430 - uses: actions/checkout@v4
431 - name: checkout fuzz/corpora submodule
432 run: git submodule update --init --depth 1 fuzz/corpora
433 - name: config
434 run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo no-legacy enable-fips && perl configdata.pm --dump
435 - name: make
436 run: make -s -j4
437 - name: get cpu info
438 run: |
439 cat /proc/cpuinfo
440 ./util/opensslwrap.sh version -c
441 - name: make test
442 run: .github/workflows/make-test
443 - name: save artifacts
444 uses: actions/upload-artifact@v3
445 with:
446 name: "ci@no-legacy"
447 path: artifacts.tar.gz
448
449 legacy:
450 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
451 steps:
452 - uses: actions/checkout@v4
453 - name: checkout fuzz/corpora submodule
454 run: git submodule update --init --depth 1 fuzz/corpora
455 - name: config
456 run: ./config --banner=Configured -Werror --debug no-afalgeng enable-demos enable-h3demo 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
457 - name: make
458 run: make -s -j4
459 - name: get cpu info
460 run: |
461 cat /proc/cpuinfo
462 ./util/opensslwrap.sh version -c
463 - name: make test
464 run: .github/workflows/make-test
465 - name: save artifacts
466 uses: actions/upload-artifact@v3
467 with:
468 name: "ci@legacy"
469 path: artifacts.tar.gz
470
471 # out-of-source-and-install checks multiple things at the same time:
472 # - That building, testing and installing works from an out-of-source
473 # build tree
474 # - That building, testing and installing works with a read-only source
475 # tree
476 out-of-readonly-source-and-install-ubuntu:
477 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
478 steps:
479 - uses: actions/checkout@v4
480 with:
481 path: ./source
482 - name: checkout fuzz/corpora submodule
483 run: git submodule update --init --depth 1 fuzz/corpora
484 working-directory: ./source
485 - name: make source read-only
486 run: chmod -R a-w ./source
487 - name: create build and install directories
488 run: |
489 mkdir ./build
490 mkdir ./install
491 - name: config
492 run: |
493 ../source/config --banner=Configured enable-demos enable-h3demo enable-fips enable-quic enable-acvp-tests --strict-warnings --prefix=$(cd ../install; pwd)
494 perl configdata.pm --dump
495 working-directory: ./build
496 - name: make
497 run: make -s -j4
498 working-directory: ./build
499 - name: get cpu info
500 run: |
501 cat /proc/cpuinfo
502 ./util/opensslwrap.sh version -c
503 working-directory: ./build
504 - name: make test
505 run: ../source/.github/workflows/make-test
506 working-directory: ./build
507 - name: save artifacts
508 uses: actions/upload-artifact@v3
509 with:
510 name: "ci@out-of-readonly-source-and-install-ubuntu"
511 path: build/artifacts.tar.gz
512 - name: make install
513 run: make install
514 working-directory: ./build
515
516 out-of-readonly-source-and-install-macos:
517 strategy:
518 fail-fast: false
519 matrix:
520 os: [macos-13, macos-14]
521 runs-on: ${{ matrix.os }}
522 if: github.server_url == 'https://github.com'
523 steps:
524 - uses: actions/checkout@v4
525 with:
526 path: ./source
527 - name: checkout fuzz/corpora submodule
528 run: git submodule update --init --depth 1 fuzz/corpora
529 working-directory: ./source
530 - name: make source read-only
531 run: chmod -R a-w ./source
532 - name: create build and install directories
533 run: |
534 mkdir ./build
535 mkdir ./install
536 - name: config
537 run: |
538 ../source/config --banner=Configured enable-fips enable-demos enable-h3demo enable-quic enable-acvp-tests --strict-warnings --prefix=$(cd ../install; pwd)
539 perl configdata.pm --dump
540 working-directory: ./build
541 - name: make
542 run: make -s -j4
543 working-directory: ./build
544 - name: get cpu info
545 run: |
546 sysctl machdep.cpu
547 ./util/opensslwrap.sh version -c
548 working-directory: ./build
549 - name: make test
550 run: ../source/.github/workflows/make-test
551 working-directory: ./build
552 - name: save artifacts
553 uses: actions/upload-artifact@v3
554 with:
555 name: "ci@out-of-readonly-source-and-install-${{ matrix.os }}"
556 path: build/artifacts.tar.gz
557 - name: make install
558 run: make install
559 working-directory: ./build
560
561 external-tests:
562 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
563 steps:
564 - uses: actions/checkout@v4
565 with:
566 submodules: recursive
567 - name: package installs
568 run: |
569 sudo apt-get update
570 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
571 - name: install cpanm and Test2::V0 for gost_engine testing
572 uses: perl-actions/install-with-cpanm@stable
573 with:
574 install: Test2::V0
575 - name: setup hostname workaround
576 run: sudo hostname localhost
577 - name: config
578 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
579 - name: make
580 run: make -s -j4
581 - name: get cpu info
582 run: |
583 cat /proc/cpuinfo
584 ./util/opensslwrap.sh version -c
585 - name: test external gost-engine
586 run: make test TESTS="test_external_gost_engine"
587 - name: test external krb5
588 run: make test TESTS="test_external_krb5"
589 - name: test external_tlsfuzzer
590 run: make test TESTS="test_external_tlsfuzzer"
591 - name: test external oqs-provider
592 run: make test TESTS="test_external_oqsprovider"
593
594 external-test-pyca:
595 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
596 strategy:
597 matrix:
598 RUST:
599 - 1.51.0
600 PYTHON:
601 - 3.9
602 steps:
603 - uses: actions/checkout@v4
604 with:
605 submodules: recursive
606 - name: Configure OpenSSL
607 run: ./config --banner=Configured --strict-warnings --debug enable-external-tests && perl configdata.pm --dump
608 - name: make
609 run: make -s -j4
610 - name: Setup Python
611 uses: actions/setup-python@v5.1.0
612 with:
613 python-version: ${{ matrix.PYTHON }}
614 - uses: dtolnay/rust-toolchain@master
615 with:
616 toolchain: ${{ matrix.RUST }}
617 - name: get cpu info
618 run: |
619 cat /proc/cpuinfo
620 ./util/opensslwrap.sh version -c
621 - name: test external pyca
622 run: make test TESTS="test_external_pyca" VERBOSE=1
623
624 external-test-cf-quiche:
625 runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
626 steps:
627 - uses: actions/checkout@v4
628 with:
629 submodules: recursive
630 - name: Configure OpenSSL
631 run: ./config --banner=Configured --strict-warnings enable-external-tests && perl configdata.pm --dump
632 - name: make
633 run: make -s -j4
634 - uses: dtolnay/rust-toolchain@stable
635 - name: get cpu info
636 run: |
637 cat /proc/cpuinfo
638 ./util/opensslwrap.sh version -c
639 - name: test external Cloudflare quiche
640 run: make test TESTS="test_external_cf_quiche" VERBOSE=1