From: Viktor Szakats Date: Thu, 26 Sep 2024 20:42:48 +0000 (+0200) Subject: singleuse: limit checks to non-unity jobs X-Git-Tag: curl-8_11_0~302 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f2ce14e10ab5ebf9ba5145f74cb6aec1dec1ec20;p=thirdparty%2Fcurl.git singleuse: limit checks to non-unity jobs `singleuse.pl` requires non-unity builds. With unity builds, it remains silent. - make some jobs non-unity to allow singleuse to do its job. - since all jobs used the `--unit` singleuse checker option, make this option permanent. Closes #15065 --- diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index cd919a3ac8..1f3e8e864a 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -70,128 +70,107 @@ jobs: install_packages: zlib1g-dev install_steps: bearssl pytest configure: LDFLAGS="-Wl,-rpath,$HOME/bearssl/lib" --with-bearssl=$HOME/bearssl --enable-debug - singleuse: --unit - name: bearssl clang install_packages: zlib1g-dev clang install_steps: bearssl configure: CC=clang LDFLAGS="-Wl,-rpath,$HOME/bearssl/lib" --with-bearssl=$HOME/bearssl --enable-debug - singleuse: --unit - name: libressl heimdal install_packages: zlib1g-dev heimdal-dev install_steps: libressl pytest configure: LDFLAGS="-Wl,-rpath,$HOME/libressl/lib" --with-openssl=$HOME/libressl --with-gssapi --enable-debug - singleuse: --unit - name: libressl heimdal valgrind install_packages: zlib1g-dev heimdal-dev valgrind install_steps: libressl pytest generate: -DOPENSSL_ROOT_DIR=$HOME/libressl -DCURL_USE_GSSAPI=ON -DENABLE_DEBUG=ON -DCURL_LIBCURL_VERSIONED_SYMBOLS=ON - singleuse: --unit - name: libressl clang install_packages: zlib1g-dev clang install_steps: libressl configure: CC=clang LDFLAGS="-Wl,-rpath,$HOME/libressl/lib" --with-openssl=$HOME/libressl --enable-debug - singleuse: --unit - name: wolfssl-all install_packages: zlib1g-dev install_steps: wolfssl-all configure: LDFLAGS="-Wl,-rpath,$HOME/wolfssl-all/lib" --with-wolfssl=$HOME/wolfssl-all --enable-debug - singleuse: --unit - name: wolfssl-opensslextra valgrind install_packages: zlib1g-dev valgrind install_steps: wolfssl-opensslextra configure: LDFLAGS="-Wl,-rpath,$HOME/wolfssl-opensslextra/lib" --with-wolfssl=$HOME/wolfssl-opensslextra --enable-debug - singleuse: --unit - name: mbedtls valgrind install_packages: libnghttp2-dev valgrind install_steps: mbedtls pytest configure: LDFLAGS="-Wl,-rpath,$HOME/mbedtls/lib" --with-mbedtls=$HOME/mbedtls --enable-debug - singleuse: --unit - name: mbedtls clang install_packages: libnghttp2-dev clang install_steps: mbedtls configure: CC=clang LDFLAGS="-Wl,-rpath,$HOME/mbedtls/lib" --with-mbedtls=$HOME/mbedtls --enable-debug - singleuse: --unit - name: msh3 install_packages: zlib1g-dev install_steps: quictls msh3 configure: LDFLAGS="-Wl,-rpath,$HOME/msh3/lib -Wl,-rpath,$HOME/quictls/lib" --with-msh3=$HOME/msh3 --with-openssl=$HOME/quictls --enable-debug - singleuse: --unit - name: awslc install_packages: zlib1g-dev install_steps: awslc configure: LDFLAGS="-Wl,-rpath,$HOME/awslc/lib" --with-openssl=$HOME/awslc - singleuse: --unit - name: awslc install_packages: zlib1g-dev install_steps: awslc - generate: -DOPENSSL_ROOT_DIR=$HOME/awslc - singleuse: --unit + generate: -DOPENSSL_ROOT_DIR=$HOME/awslc -DCMAKE_UNITY_BUILD=OFF - name: openssl default install_steps: pytest - configure: --with-openssl --enable-debug - singleuse: --unit + configure: --with-openssl --enable-debug --disable-unity - name: openssl libssh2 sync-resolver valgrind install_packages: zlib1g-dev libssh2-1-dev valgrind install_steps: pytest configure: --with-openssl --enable-debug --disable-threaded-resolver --with-libssh2 - singleuse: --unit - name: openssl3 install_packages: zlib1g-dev install_steps: gcc-11 openssl3 pytest configure: CFLAGS=-std=gnu89 LDFLAGS="-Wl,-rpath,$HOME/openssl3/lib" --with-openssl=$HOME/openssl3 --enable-debug --enable-websockets - singleuse: --unit - name: openssl3 -O3 valgrind install_packages: zlib1g-dev valgrind install_steps: gcc-11 openssl3 configure: CPPFLAGS=-DCURL_WARN_SIGN_CONVERSION CFLAGS=-O3 LDFLAGS="-Wl,-rpath,$HOME/openssl3/lib" --with-openssl=$HOME/openssl3 --enable-debug --enable-websockets - singleuse: --unit - name: openssl3 clang krb5 install_packages: zlib1g-dev libkrb5-dev clang install_steps: openssl3 configure: CC=clang LDFLAGS="-Wl,-rpath,$HOME/openssl3/lib" --with-openssl=$HOME/openssl3 --with-gssapi --enable-debug --enable-websockets - singleuse: --unit - name: openssl3 clang krb5 install_packages: zlib1g-dev libkrb5-dev clang install_steps: openssl3 generate: -DOPENSSL_ROOT_DIR=$HOME/openssl3 -DCURL_USE_GSSAPI=ON -DENABLE_DEBUG=ON -DENABLE_WEBSOCKETS=ON - singleuse: --unit - name: openssl3 !ipv6 install_steps: gcc-11 openssl3 - configure: LDFLAGS="-Wl,-rpath,$HOME/openssl3/lib" --with-openssl=$HOME/openssl3 --enable-debug --disable-ipv6 - singleuse: --unit + configure: LDFLAGS="-Wl,-rpath,$HOME/openssl3/lib" --with-openssl=$HOME/openssl3 --enable-debug --disable-ipv6 --disable-unity - name: openssl3 https-only install_steps: gcc-11 openssl3 configure: > - LDFLAGS="-Wl,-rpath,$HOME/openssl3/lib" --with-openssl=$HOME/openssl3 --enable-debug + LDFLAGS="-Wl,-rpath,$HOME/openssl3/lib" --with-openssl=$HOME/openssl3 --enable-debug --disable-unity --disable-dict --disable-gopher --disable-ldap --disable-telnet --disable-imap --disable-pop3 --disable-smtp --disable-rtmp --disable-rtsp --disable-scp --disable-sftp --disable-tftp --disable-ftp --disable-file --disable-smb - singleuse: --unit - name: '!ssl !http !smtp !imap' install_steps: gcc-11 - configure: --without-ssl --enable-debug --disable-http --disable-smtp --disable-imap - singleuse: --unit + configure: --without-ssl --enable-debug --disable-http --disable-smtp --disable-imap --disable-unity - name: scanbuild install_packages: clang-tools clang libssl-dev libssh2-1-dev @@ -199,7 +178,6 @@ jobs: configure: --with-openssl --enable-debug --with-libssh2 --disable-unity configure-prefix: CC=clang scan-build make-prefix: scan-build --status-bugs - singleuse: --unit - name: address-sanitizer install_packages: zlib1g-dev libssh2-1-dev clang libssl-dev libubsan1 libasan8 libtsan2 @@ -210,7 +188,6 @@ jobs: LDFLAGS="-fsanitize=address,undefined -fno-sanitize-recover=undefined,integer" LIBS="-ldl -lubsan" --with-openssl --enable-debug --enable-websockets - singleuse: --unit - name: thread-sanitizer install_packages: zlib1g-dev clang libtsan2 @@ -220,7 +197,6 @@ jobs: CFLAGS="-fsanitize=thread -g" LDFLAGS="-fsanitize=thread -Wl,-rpath,$HOME/openssl3/lib" --with-openssl=$HOME/openssl3 --enable-debug --enable-websockets - singleuse: --unit - name: memory-sanitizer install_packages: clang @@ -230,36 +206,30 @@ jobs: LDFLAGS="-fsanitize=memory" LIBS="-ldl" --without-ssl --without-zlib --without-brotli --without-zstd --without-libpsl --without-nghttp2 --enable-debug --enable-websockets - singleuse: --unit - name: event-based install_packages: libssh-dev configure: --enable-debug --disable-shared --disable-threaded-resolver --with-libssh --with-openssl tflags: -n -e '!TLS-SRP' - singleuse: --unit - name: hyper install_steps: rust hyper configure: LDFLAGS="-Wl,-rpath,$HOME/hyper/target/debug" --with-openssl --with-hyper=$HOME/hyper --enable-debug --enable-websockets - singleuse: --unit - name: rustls valgrind install_packages: libpsl-dev valgrind install_steps: rust rustls pytest configure: --with-rustls=$HOME/rustls --enable-debug - singleuse: --unit - name: IntelC !SSL install_packages: zlib1g-dev install_steps: intel configure: CC=icc --enable-debug --without-ssl - singleuse: --unit - name: IntelC openssl valgrind install_packages: zlib1g-dev libssl-dev valgrind install_steps: intel configure: CC=icc --enable-debug --with-openssl - singleuse: --unit - name: Slackware openssl gssapi gcc # These are essentially the same flags used to build the curl Slackware package @@ -271,7 +241,6 @@ jobs: - name: Alpine MUSL configure: --enable-debug --enable-websockets --with-ssl --with-libssh2 --with-libidn2 --with-gssapi --enable-ldap --with-libpsl container: 'alpine:3.18' - singleuse: --unit steps: - if: matrix.build.container == null @@ -618,6 +587,7 @@ jobs: fi - name: single-use function check + if: ${{ contains(matrix.build.configure, '--disable-unity') || contains(matrix.build.generate, '-DCMAKE_UNITY_BUILD=OFF') }} run: | git config --global --add safe.directory "*" if [ -n '${{ matrix.build.generate }}' ]; then @@ -625,7 +595,7 @@ jobs: else libcurla=lib/.libs/libcurl.a fi - ./scripts/singleuse.pl ${{ matrix.build.singleuse }} ${libcurla} + ./scripts/singleuse.pl --unit ${libcurla} - run: ./src/curl -V name: 'check curl -V output'