@@ -13,6 +13,9 @@ concurrency:
1313# END OF COMMON SECTION
1414
1515jobs :
16+ # Configs that interact with platform-specific features (sys-ca-certs,
17+ # Apple Security.framework, OpenSSL compat layer, networking).
18+ # Run on both Ubuntu and macOS.
1619 make_check :
1720 strategy :
1821 fail-fast : false
3942 ' --enable-dtls --enable-dtlscid --enable-dtls13 --enable-secure-renegotiation
4043 --enable-psk --enable-aesccm --enable-nullcipher
4144 CPPFLAGS=-DWOLFSSL_STATIC_RSA' ,
42- ' --enable-ascon --enable-experimental' ,
43- ' --enable-ascon CPPFLAGS=-DWOLFSSL_ASCON_UNROLL --enable-experimental' ,
4445 ' --enable-all CPPFLAGS='' -DNO_AES_192 -DNO_AES_256'' ' ,
4546 ' --enable-sniffer --enable-curve25519 --enable-curve448 --enable-enckeys
4647 CPPFLAGS=-DWOLFSSL_DH_EXTRA' ,
@@ -49,32 +50,17 @@ jobs:
4950 ' --enable-opensslall --enable-opensslextra CPPFLAGS=-DWC_RNG_SEED_CB' ,
5051 ' --enable-opensslall --enable-opensslextra
5152 CPPFLAGS='' -DWC_RNG_SEED_CB -DWOLFSSL_NO_GETPID'' ' ,
52- # PKCS#7 with RSA-PSS (CMS RSASSA-PSS signers)
53- ' --enable-pkcs7 CPPFLAGS=-DWC_RSA_PSS' ,
54- # PKCS#7 without RSA-PSS
55- ' --enable-pkcs7' ,
5653 ' --enable-opensslextra CPPFLAGS='' -DWOLFSSL_NO_CA_NAMES'' ' ,
5754 ' --enable-opensslextra=x509small' ,
58- ' CPPFLAGS='' -DWOLFSSL_EXTRA'' ' ,
5955 ' --disable-sys-ca-certs' ,
6056 ' --enable-all CPPFLAGS=-DWOLFSSL_DEBUG_CERTS ' ,
6157 ' --enable-all CPPFLAGS="-DWOLFSSL_CHECK_MEM_ZERO"' ,
62- ' --enable-coding=no' ,
6358 ' --enable-dtls --enable-dtls13 --enable-ocspstapling --enable-ocspstapling2
6459 --enable-cert-setup-cb --enable-sessioncerts' ,
6560 ' --enable-dtls --enable-dtls13 --enable-tls13
6661 CPPFLAGS=-DWOLFSSL_TLS13_IGNORE_PT_ALERT_ON_ENC' ,
67- ' --disable-sni --disable-ecc --disable-tls13 --disable-secure-renegotiation-info' ,
68- ' CPPFLAGS=-DWOLFSSL_BLIND_PRIVATE_KEY' ,
6962 ' --enable-all --enable-certgencache' ,
70- ' --enable-sessionexport --enable-dtls --enable-dtls13' ,
71- ' --enable-sessionexport' ,
72- ' --enable-cryptocb --enable-aesgcm CPPFLAGS="-DWOLF_CRYPTO_CB_AES_SETKEY -DWOLF_CRYPTO_CB_FREE"' ,
73- ' --disable-tls --enable-cryptocb --enable-aesgcm CPPFLAGS="-DWOLF_CRYPTO_CB_AES_SETKEY -DWOLF_CRYPTO_CB_FREE"' ,
7463 ' --enable-all --enable-dilithium --enable-cryptocb --enable-cryptocbutils --enable-pkcallbacks' ,
75- ' --disable-examples CPPFLAGS=-DWOLFSSL_NO_MALLOC' ,
76- ' CPPFLAGS=-DNO_WOLFSSL_CLIENT' ,
77- ' CPPFLAGS=-DNO_WOLFSSL_SERVER' ,
7864 ' CPPFLAGS=-DWOLFSSL_NO_CLIENT_AUTH' ,
7965 ' CPPFLAGS='' -DNO_WOLFSSL_CLIENT -DWOLFSSL_NO_CLIENT_AUTH'' ' ,
8066 ' CPPFLAGS='' -DNO_WOLFSSL_SERVER -DWOLFSSL_NO_CLIENT_AUTH'' ' ,
8369 ' --enable-all CPPFLAGS=-DWOLFSSL_NO_CLIENT_AUTH' ,
8470 ' --enable-all CPPFLAGS='' -DNO_WOLFSSL_CLIENT -DWOLFSSL_NO_CLIENT_AUTH'' ' ,
8571 ' --enable-all CPPFLAGS='' -DNO_WOLFSSL_SERVER -DWOLFSSL_NO_CLIENT_AUTH'' ' ,
86- ' --enable-curve25519=nonblock --enable-ecc=nonblock --enable-sp=yes,nonblock CPPFLAGS="-DWOLFSSL_PUBLIC_MP -DWOLFSSL_DEBUG_NONBLOCK"' ,
87- ' --enable-certreq --enable-certext --enable-certgen --disable-secure-renegotiation-info CPPFLAGS="-DNO_TLS"' ,
8872 ' --enable-ocsp --enable-ocsp-responder --enable-ocspstapling CPPFLAGS="-DWOLFSSL_NONBLOCK_OCSP" --enable-maxfragment' ,
8973 ' --enable-all CPPFLAGS=-DWOLFSSL_HASH_KEEP' ,
9074 ' --enable-all --enable-writedup' ,
@@ -101,6 +85,45 @@ jobs:
10185 configure : CFLAGS="-pedantic -Wno-overlength-strings -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE" ${{ matrix.config }}
10286 check : true
10387
88+ # Platform-agnostic configs: pure crypto algorithms, preprocessor guards,
89+ # or features with no macOS-specific code paths. Linux only.
90+ make_check_linux :
91+ strategy :
92+ fail-fast : false
93+ matrix :
94+ config : [
95+ ' --enable-ascon --enable-experimental' ,
96+ ' --enable-ascon CPPFLAGS=-DWOLFSSL_ASCON_UNROLL --enable-experimental' ,
97+ # PKCS#7 with RSA-PSS (CMS RSASSA-PSS signers)
98+ ' --enable-pkcs7 CPPFLAGS=-DWC_RSA_PSS' ,
99+ # PKCS#7 without RSA-PSS
100+ ' --enable-pkcs7' ,
101+ ' CPPFLAGS='' -DWOLFSSL_EXTRA'' ' ,
102+ ' --enable-coding=no' ,
103+ ' --disable-sni --disable-ecc --disable-tls13 --disable-secure-renegotiation-info' ,
104+ ' CPPFLAGS=-DWOLFSSL_BLIND_PRIVATE_KEY' ,
105+ ' --enable-sessionexport --enable-dtls --enable-dtls13' ,
106+ ' --enable-cryptocb --enable-aesgcm CPPFLAGS="-DWOLF_CRYPTO_CB_AES_SETKEY -DWOLF_CRYPTO_CB_FREE"' ,
107+ ' --disable-tls --enable-cryptocb --enable-aesgcm CPPFLAGS="-DWOLF_CRYPTO_CB_AES_SETKEY -DWOLF_CRYPTO_CB_FREE"' ,
108+ ' --disable-examples CPPFLAGS=-DWOLFSSL_NO_MALLOC' ,
109+ ' CPPFLAGS=-DNO_WOLFSSL_CLIENT' ,
110+ ' CPPFLAGS=-DNO_WOLFSSL_SERVER' ,
111+ ' --enable-lms=small,verify-only --enable-xmss=small,verify-only' ,
112+ ' --enable-curve25519=nonblock --enable-ecc=nonblock --enable-sp=yes,nonblock CPPFLAGS="-DWOLFSSL_PUBLIC_MP -DWOLFSSL_DEBUG_NONBLOCK"' ,
113+ ' --enable-certreq --enable-certext --enable-certgen --disable-secure-renegotiation-info CPPFLAGS="-DNO_TLS"' ,
114+ ]
115+ name : make check (Linux only)
116+ if : github.repository_owner == 'wolfssl'
117+ runs-on : ubuntu-24.04
118+ # This should be a safe limit for the tests to run.
119+ timeout-minutes : 14
120+ steps :
121+ - name : Build and test wolfSSL
122+ uses : wolfSSL/actions-build-autotools-project@v1
123+ with :
124+ configure : CFLAGS="-pedantic -Wno-overlength-strings -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE" ${{ matrix.config }}
125+ check : true
126+
104127 make_user_settings :
105128 strategy :
106129 fail-fast : false
@@ -127,7 +150,9 @@ jobs:
127150 strategy :
128151 fail-fast : false
129152 matrix :
130- os : [ ubuntu-24.04, macos-latest ]
153+ # testwolfcrypt runs pure crypto tests with no platform-specific
154+ # features, so Linux-only is sufficient for these user_settings.
155+ os : [ ubuntu-24.04 ]
131156 user-settings : [
132157 # Add new user_settings.h here (alphabetical order)
133158 ' examples/configs/user_settings_ca.h' ,
0 commit comments