From: Viktor Szakats Date: Fri, 12 Dec 2025 02:59:21 +0000 (+0100) Subject: GHA: enable libssh and libssh2 in 10 more Linux jobs X-Git-Tag: rc-8_18_0-2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=74494d620ba656f49848bcd15f4b3b68ea7c0529;p=thirdparty%2Fcurl.git GHA: enable libssh and libssh2 in 10 more Linux jobs To run more pytest sshd tests, and for more static analysis. Also: - drop redundant option from `openssl libssh2 ...` config. - GHA/linux: enable pytest in the LTO job (to test libssh2). - avoid both with local builds of OpenSSL-forks, due to crypto lib mixups causing a mixture of build error, crashes, test failures. Follow-up to eb39fee40be6a8e68be2551e36b6fcb94170aaed #19934 Closes #19943 --- diff --git a/.github/workflows/http3-linux.yml b/.github/workflows/http3-linux.yml index a9b8c44f00..38dccc2dc5 100644 --- a/.github/workflows/http3-linux.yml +++ b/.github/workflows/http3-linux.yml @@ -406,30 +406,32 @@ jobs: -DCMAKE_UNITY_BUILD=ON - name: 'gnutls' - install_packages: libp11-kit-dev + install_packages: libp11-kit-dev libssh-dev install_steps: skipall PKG_CONFIG_PATH: /home/runner/nettle/build/lib64/pkgconfig:/home/runner/gnutls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig LDFLAGS: -Wl,-rpath,/home/runner/gnutls/build/lib -Wl,-rpath,/home/runner/nettle/build/lib64 -Wl,-rpath,/home/runner/ngtcp2/build/lib configure: >- - --with-gnutls=/home/runner/gnutls/build --with-ngtcp2 --enable-ssls-export + --with-gnutls=/home/runner/gnutls/build --with-ngtcp2 --with-libssh --enable-ssls-export - name: 'gnutls' - install_packages: libp11-kit-dev + install_packages: libp11-kit-dev libssh-dev PKG_CONFIG_PATH: /home/runner/nettle/build/lib64/pkgconfig:/home/runner/gnutls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig LDFLAGS: -Wl,-rpath,/home/runner/gnutls/build/lib generate: >- - -DCURL_USE_GNUTLS=ON -DUSE_NGTCP2=ON + -DCURL_USE_GNUTLS=ON -DUSE_NGTCP2=ON -DCURL_USE_LIBSSH=ON -DCMAKE_UNITY_BUILD=ON - name: 'wolfssl' + install_packages: libssh2-1-dev install_steps: skipall PKG_CONFIG_PATH: /home/runner/wolfssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig configure: >- LDFLAGS=-Wl,-rpath,/home/runner/wolfssl/build/lib - --with-wolfssl=/home/runner/wolfssl/build --with-ngtcp2 --enable-ech --enable-ssls-export + --with-wolfssl=/home/runner/wolfssl/build --with-ngtcp2 --enable-ech --with-libssh2 --enable-ssls-export --enable-unity - name: 'wolfssl' + install_packages: libssh2-1-dev PKG_CONFIG_PATH: /home/runner/wolfssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig generate: >- -DCURL_USE_WOLFSSL=ON -DUSE_NGTCP2=ON diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 8fb4494d44..5b933d96a8 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -112,12 +112,12 @@ jobs: -DCURL_USE_GSSAPI=ON - name: 'mbedtls clang' - install_packages: libnghttp2-dev libldap-dev clang + install_packages: libssh-dev libnghttp2-dev libldap-dev clang install_steps: mbedtls pytest - configure: CC=clang LDFLAGS=-Wl,-rpath,/home/runner/mbedtls/lib --with-mbedtls=/home/runner/mbedtls --enable-debug --with-fish-functions-dir --with-zsh-functions-dir + configure: CC=clang LDFLAGS=-Wl,-rpath,/home/runner/mbedtls/lib --with-mbedtls=/home/runner/mbedtls --with-libssh --enable-debug --with-fish-functions-dir --with-zsh-functions-dir - name: 'mbedtls-prev' - install_packages: libnghttp2-dev libuv1-dev + install_packages: libssh2-1-dev libnghttp2-dev libuv1-dev install_steps: mbedtls-prev pytest PKG_CONFIG_PATH: /home/runner/mbedtls-prev/lib/pkgconfig # Requires v3.6.0 generate: -DCURL_USE_MBEDTLS=ON -DCURL_USE_LIBUV=ON -DENABLE_DEBUG=ON @@ -154,11 +154,12 @@ jobs: - name: 'openssl libssh2 sync-resolver valgrind' install_packages: libidn2-dev libssh2-1-dev libnghttp2-dev libldap-dev valgrind - generate: -DENABLE_DEBUG=ON -DENABLE_THREADED_RESOLVER=OFF -DCURL_USE_LIBSSH2=ON + generate: -DENABLE_DEBUG=ON -DENABLE_THREADED_RESOLVER=OFF - name: 'openssl' + install_packages: libssh-dev install_steps: pytest - configure: CFLAGS=-std=gnu89 --with-openssl --enable-debug + configure: CFLAGS=-std=gnu89 --with-openssl --with-libssh --enable-debug - name: 'openssl arm' install_steps: pytest @@ -176,8 +177,8 @@ jobs: configure: CC=clang --disable-shared --with-openssl --with-gssapi --enable-debug --disable-docs --disable-manual --with-ldap=/home/runner/openldap-static --with-ldap-lib=ldap --with-lber-lib=lber - name: 'openssl clang krb5 LTO' - install_packages: libkrb5-dev clang - install_steps: skiprun + install_packages: libssh2-1-dev libkrb5-dev clang + install_steps: skiprun pytest CC: clang generate: -DCURL_USE_OPENSSL=ON -DCURL_USE_GSSAPI=ON -DENABLE_DEBUG=ON -DCURL_LTO=ON @@ -259,7 +260,7 @@ jobs: --disable-debug --disable-unity --disable-typecheck - name: 'scan-build H3 c-ares' - install_packages: clang-tools clang libidn2-dev libnghttp2-dev + install_packages: clang-tools clang libidn2-dev libssh-dev libnghttp2-dev install_steps: skipall install_steps_brew: openssl libngtcp2 libnghttp3 c-ares CC: clang @@ -269,7 +270,7 @@ jobs: PKG_CONFIG_PATH: /home/linuxbrew/.linuxbrew/opt/libngtcp2/lib/pkgconfig:/home/linuxbrew/.linuxbrew/opt/libnghttp3/lib/pkgconfig:/home/linuxbrew/.linuxbrew/opt/c-ares/lib/pkgconfig configure: >- --with-openssl=/home/linuxbrew/.linuxbrew/opt/openssl --with-ngtcp2 --with-nghttp3= - --with-libidn2 --enable-httpsrr --enable-ares + --with-libidn2 --with-libssh --enable-httpsrr --enable-ares --disable-debug --disable-unity --disable-typecheck --disable-verbose @@ -284,10 +285,10 @@ jobs: - name: 'address-sanitizer H3 c-ares' install_packages: clang libubsan1 libasan8 libtsan2 install_steps: pytest - install_steps_brew: openssl libngtcp2 libnghttp3 c-ares + install_steps_brew: openssl libssh2 libngtcp2 libnghttp3 c-ares CFLAGS: -fsanitize=address,undefined,signed-integer-overflow -fno-sanitize-recover=undefined,integer -Wformat -Werror=format-security -Werror=array-bounds -g LDFLAGS: -fsanitize=address,undefined -fno-sanitize-recover=undefined,integer -ldl -lubsan -Wl,-rpath,/home/linuxbrew/.linuxbrew/opt/c-ares/lib - PKG_CONFIG_PATH: /home/linuxbrew/.linuxbrew/opt/libngtcp2/lib/pkgconfig:/home/linuxbrew/.linuxbrew/opt/libnghttp3/lib/pkgconfig:/home/linuxbrew/.linuxbrew/opt/c-ares/lib/pkgconfig + PKG_CONFIG_PATH: /home/linuxbrew/.linuxbrew/opt/libssh2/lib/pkgconfig:/home/linuxbrew/.linuxbrew/opt/libngtcp2/lib/pkgconfig:/home/linuxbrew/.linuxbrew/opt/libnghttp3/lib/pkgconfig:/home/linuxbrew/.linuxbrew/opt/c-ares/lib/pkgconfig CC: clang generate: -DENABLE_DEBUG=ON -DCURL_USE_OPENSSL=ON -DOPENSSL_ROOT_DIR=/home/linuxbrew/.linuxbrew/opt/openssl -DUSE_NGTCP2=ON -DUSE_SSLS_EXPORT=ON -DENABLE_ARES=ON