]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
GHA/codeql: enable more build options, build servers and tunits
authorViktor Szakats <commit@vsz.me>
Mon, 15 Sep 2025 19:03:52 +0000 (21:03 +0200)
committerViktor Szakats <commit@vsz.me>
Tue, 16 Sep 2025 09:23:26 +0000 (11:23 +0200)
- add HTTP/3 build with OpenSSL 3.5, nghttp3 and ngtcp2.
- enable GSASL, Heimdal, rtmp, SSLS-export.
- make one build MultiSSL with GnuTLS, mbedTLS, Rustls, wolfSSL.
- build servers (also on Windows), and tunits.
- use Linuxbrew to install build dependencies missing from Ubuntu.

Coverage is now 466 C files. (was: 446)

Closes #18557

.github/workflows/codeql.yml

index 9993d92cacf1b74227cebccf6bc41ae1b37ae239..5ff3434442f8dfdca86ecfa8eba8803ae41797f9 100644 (file)
@@ -79,7 +79,9 @@ jobs:
           sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
           sudo apt-get -o Dpkg::Use-Pty=0 update
           sudo rm -f /var/lib/man-db/auto-update
-          sudo apt-get -o Dpkg::Use-Pty=0 install libpsl-dev libbrotli-dev libidn2-dev libssh2-1-dev libnghttp2-dev libldap-dev
+          sudo apt-get -o Dpkg::Use-Pty=0 install libpsl-dev libbrotli-dev libidn2-dev libssh2-1-dev \
+            libnghttp2-dev libldap-dev heimdal-dev librtmp-dev libgnutls28-dev libwolfssl-dev
+          /home/linuxbrew/.linuxbrew/bin/brew install gsasl libnghttp3 libngtcp2 mbedtls rustls-ffi
 
       - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4
         with:
@@ -102,9 +104,27 @@ jobs:
             cmake --build . --verbose
             src/Debug/curl.exe --disable --version
           else
-            cmake -B . -G Ninja
-            cmake --build . --verbose
-            src/curl --disable --version
+            eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
+
+            # MultiSSL
+            export PKG_CONFIG_PATH; PKG_CONFIG_PATH="$(brew --prefix mbedtls)/lib/pkgconfig:$(brew --prefix rustls-ffi)/lib/pkgconfig:$(brew --prefix gsasl)/lib/pkgconfig"
+            cmake -B _bld1 -G Ninja \
+              -DCURL_USE_GNUTLS=ON -DCURL_USE_MBEDTLS=ON -DCURL_USE_RUSTLS=ON -DCURL_USE_WOLFSSL=ON \
+              -DUSE_LIBRTMP=ON -DCURL_USE_GSASL=ON -DCURL_USE_GSSAPI=ON -DUSE_SSLS_EXPORT=ON
+            cmake --build _bld1 --verbose
+            cmake --build _bld1 --verbose --target servers
+            cmake --build _bld1 --verbose --target tunits
+
+            # HTTP/3
+            export PKG_CONFIG_PATH; PKG_CONFIG_PATH="$(brew --prefix libnghttp3)/lib/pkgconfig:$(brew --prefix libngtcp2)/lib/pkgconfig:$(brew --prefix gsasl)/lib/pkgconfig"
+            cmake -B _bld2 -G Ninja \
+              -DCURL_USE_OPENSSL=ON -DOPENSSL_ROOT_DIR="$(brew --prefix openssl)" -DUSE_NGTCP2=ON \
+              -DUSE_LIBRTMP=ON -DCURL_USE_GSASL=ON -DCURL_USE_GSSAPI=ON -DUSE_SSLS_EXPORT=ON
+            cmake --build _bld2 --verbose
+            cmake --build _bld2 --verbose --target servers
+
+            _bld1/src/curl --disable --version
+            _bld2/src/curl --disable --version
           fi
 
       - name: 'perform analysis'