1# Copyright 2021-2022 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
8name: Run-checker daily
9# Jobs run daily
10
11on:
12  schedule:
13    - cron: '0 6 * * *'
14permissions:
15  contents: read
16
17jobs:
18  run-checker:
19    strategy:
20      fail-fast: false
21      matrix:
22        opt: [
23          386,
24          no-afalgeng,
25          no-aria,
26          no-asan,
27          no-asm,
28          no-async,
29          no-autoalginit,
30          no-autoerrinit,
31          no-autoload-config,
32          no-bf,
33          no-blake2,
34          no-buildtest-c++,
35          no-bulk,
36          no-cached-fetch,
37          no-camellia,
38          no-capieng,
39          no-cast,
40          no-chacha,
41          no-cmac,
42          no-comp,
43          enable-crypto-mdebug,
44          no-crypto-mdebug,
45          enable-crypto-mdebug-backtrace,
46          no-crypto-mdebug-backtrace,
47          no-deprecated,
48          no-des,
49          no-devcryptoeng,
50          no-dh,
51          no-dsa,
52          no-dtls1,
53          no-dtls1_2,
54          no-dtls1_2-method,
55          no-dtls1-method,
56          no-ecdh,
57          no-ecdsa,
58          enable-ec_nistp_64_gcc_128,
59          no-ec_nistp_64_gcc_128,
60          enable-egd,
61          no-egd,
62          no-engine,
63          no-external-tests,
64          enable-fips,
65          enable-fips enable-acvp-tests,
66          enable-fips no-tls1_3,
67          no-fuzz-afl,
68          no-fuzz-libfuzzer,
69          no-gost,
70          enable-heartbeats,
71          no-heartbeats,
72          no-hw,
73          no-hw-padlock,
74          no-idea,
75          no-makedepend,
76          enable-md2,
77          no-md2,
78          no-md4,
79          no-mdc2,
80          no-module,
81          no-msan,
82          no-multiblock,
83          no-nextprotoneg,
84          no-ocb,
85          no-ocsp,
86          no-padlockeng,
87          no-pic,
88          no-pinshared,
89          no-poly1305,
90          no-posix-io,
91          no-psk,
92          no-rc2,
93          no-rc4,
94          enable-rc5,
95          no-rc5,
96          no-rdrand,
97          no-rfc3779,
98          no-ripemd,
99          no-rmd160,
100          no-scrypt,
101          no-sctp,
102          no-secure-memory,
103          no-seed,
104          no-shared,
105          no-siphash,
106          no-siv,
107          no-sm2,
108          no-sm3,
109          no-sm4,
110          no-sock,
111          no-sse2,
112          no-ssl,
113          no-ssl3,
114          no-ssl3-method,
115          no-ssl-trace,
116          no-static-engine no-shared,
117          no-stdio,
118          enable-tfo,
119          no-tls1,
120          no-tls1_1,
121          no-tls1_1-method,
122          no-tls1_2,
123          no-tls1_2-method,
124          no-tls1-method,
125          no-trace,
126          no-ubsan,
127          no-ui-console,
128          enable-unit-test,
129          no-uplink,
130          no-weak-ssl-ciphers,
131          no-whirlpool,
132          no-zlib,
133          enable-zlib-dynamic,
134          no-zlib-dynamic,
135          -DOPENSSL_NO_BUILTIN_OVERFLOW_CHECKING
136        ]
137    runs-on: ubuntu-latest
138    steps:
139    - uses: actions/checkout@v2
140    - name: config
141      run: CC=clang ./config --banner=Configured --strict-warnings ${{ matrix.opt }}
142    - name: config dump
143      run: ./configdata.pm --dump
144    - name: make
145      run: make -s -j4
146    - name: make test
147      run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
148