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
This commit is contained in:
parent
9541e66623
commit
f2ce14e10a
44
.github/workflows/linux.yml
vendored
44
.github/workflows/linux.yml
vendored
@ -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'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user