@@ -135,6 +135,32 @@ jobs:
135135 jdk_version : ${{ matrix.jdk_version }}
136136 wolfssl_configure : ${{ matrix.wolfssl_configure }}
137137
138+ # --------------- PQC (ML-KEM + ML-DSA) sanity check -----------------
139+ # Builds native wolfSSL master with the full PQC option set so that
140+ # ML-KEM standalone groups, ML-KEM PQ/T hybrids (incl. X25519MLKEM* and
141+ # X448MLKEM768), and ML-DSA cert auth all reach the gated tests instead
142+ # of skipping. JDK 24 is required for JEP 497 ML-DSA KeyFactory and
143+ # exercises the standard JCE keystore path. JDK 11 also runs to cover
144+ # the JDK-8-compatible PEM-based PQC code path. The --enable-all
145+ # variant additionally layers wolfSSL's broad feature set on top of
146+ # the PQC flags to catch interaction regressions.
147+ linux-zulu-pqc :
148+ strategy :
149+ matrix :
150+ os : [ 'ubuntu-latest' ]
151+ jdk_version : [ '11', '24' ]
152+ wolfssl_configure : [
153+ ' --enable-jni --enable-mlkem --enable-tls-mlkem-standalone --enable-mldsa --enable-curve25519 --enable-curve448 --enable-ed25519 --enable-ed448' ,
154+ ' --enable-jni --enable-all --enable-mlkem --enable-tls-mlkem-standalone --enable-mldsa --enable-curve25519 --enable-curve448 --enable-ed25519 --enable-ed448' ,
155+ ]
156+ name : ${{ matrix.os }} (Zulu JDK ${{ matrix.jdk_version }}, PQC full)
157+ uses : ./.github/workflows/linux-common.yml
158+ with :
159+ os : ${{ matrix.os }}
160+ jdk_distro : " zulu"
161+ jdk_version : ${{ matrix.jdk_version }}
162+ wolfssl_configure : ${{ matrix.wolfssl_configure }}
163+
138164 # -------------------- WOLFJNI_USE_IO_SELECT sanity check --------------------
139165 # Only check one Linux and Mac JDK version as a sanity check.
140166 # Using Zulu, but this can be expanded if needed.
0 commit comments