From: Viktor Szakats Date: Fri, 12 Jul 2024 17:23:43 +0000 (+0200) Subject: CI/circleci: config tidy-ups, bump up test parallelism X-Git-Tag: curl-8_9_0~53 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2a7c8b27fdd266894fe24d6d0f5d853ea843dff4;p=thirdparty%2Fcurl.git CI/circleci: config tidy-ups, bump up test parallelism - bump parallel test for Linux jobs. Credit-to: Dan Fandrich Cherry-picked from #11510 - bump parallel test for macOS jobs. - drop no longer necessary `-Wno-vla` option. - fold long lines. - drop `--enable-maintainer-mode` `./configure` option. - replace a hard-coded prefix with `brew --prefix`. - update documentation link. - move `--enable-debug` in front. - tidy up quotes. Closes #14171 --- diff --git a/.circleci/config.yml b/.circleci/config.yml index 28dc85e2de..a83f597969 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -27,7 +27,7 @@ # The macOS builds use M1 (ARM) machines for platform diversity. # See https://circleci.com/docs/configuration-reference/#macos-execution-environment -# Use the latest 2.1 version of CircleCI pipeline process engine. See: https://circleci.com/docs/2.0/configuration-reference +# Use the latest 2.1 version of CircleCI pipeline process engine. See: https://circleci.com/docs/configuration-reference/ version: 2.1 commands: @@ -36,105 +36,195 @@ commands: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-werror --with-openssl || { tail -1000 config.log; false; } + ./configure --enable-warnings --enable-werror --with-openssl \ + || { tail -1000 config.log; false; } configure-openssl-no-verbose: steps: - run: command: | autoreconf -fi - ./configure --disable-verbose --enable-werror --with-openssl || { tail -1000 config.log; false; } + ./configure --disable-verbose --enable-werror --with-openssl \ + || { tail -1000 config.log; false; } configure-no-proxy: steps: - run: command: | autoreconf -fi - ./configure --disable-proxy --enable-werror --with-openssl || { tail -1000 config.log; false; } + ./configure --disable-proxy --enable-werror --with-openssl \ + || { tail -1000 config.log; false; } configure-macos-normal: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --without-ssl CFLAGS='-Wno-vla -mmacosx-version-min=10.9' CPPFLAGS="-I$(brew --prefix libpsl)/include" LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" LIBS="-licuuc -licudata" || { tail -1000 config.log; false; } + ./configure --enable-warnings --enable-websockets --without-ssl \ + CPPFLAGS="-I$(brew --prefix libpsl)/include" \ + CFLAGS='-mmacosx-version-min=10.9' \ + LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" \ + LIBS='-licuuc -licudata' \ + || { tail -1000 config.log; false; } configure-macos-debug: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --without-ssl --enable-debug CPPFLAGS="-I$(brew --prefix libpsl)/include" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" LIBS="-licuuc -licudata" || { tail -1000 config.log; false; } + ./configure --enable-debug --enable-warnings --enable-websockets --without-ssl \ + CPPFLAGS="-I$(brew --prefix libpsl)/include" \ + CFLAGS='-mmacosx-version-min=10.9' \ + LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" \ + LIBS='-licuuc -licudata' \ + || { tail -1000 config.log; false; } configure-macos-libssh2: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --without-ssl --with-libssh2=/opt/homebrew/opt/libssh2 --enable-debug CPPFLAGS="-I$(brew --prefix libpsl)/include" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" LIBS="-licuuc -licudata" || { tail -1000 config.log; false; } + ./configure --enable-debug --enable-warnings --enable-websockets --without-ssl "--with-libssh2=$(brew --prefix libssh2)" \ + CPPFLAGS="-I$(brew --prefix libpsl)/include" \ + CFLAGS='-mmacosx-version-min=10.9' \ + LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" \ + LIBS='-licuuc -licudata' \ + || { tail -1000 config.log; false; } configure-macos-libssh-c-ares: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --with-openssl --with-libssh --enable-ares --enable-debug PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig" CPPFLAGS="-I$(brew --prefix libpsl)/include" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" LIBS="-licuuc -licudata" || { tail -1000 config.log; false; } + ./configure --enable-debug --enable-warnings --enable-websockets --with-openssl --with-libssh --enable-ares \ + PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig" \ + CPPFLAGS="-I$(brew --prefix libpsl)/include" \ + CFLAGS='-mmacosx-version-min=10.9' \ + LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" \ + LIBS='-licuuc -licudata' \ + || { tail -1000 config.log; false; } configure-macos-libssh: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --with-openssl --with-libssh --enable-debug PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig" CPPFLAGS="-I$(brew --prefix libpsl)/include" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" LIBS="-licuuc -licudata" || { tail -1000 config.log; false; } + ./configure --enable-debug --enable-warnings --enable-websockets --with-openssl --with-libssh \ + PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig" \ + CPPFLAGS="-I$(brew --prefix libpsl)/include" \ + CFLAGS='-mmacosx-version-min=10.9' \ + LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" \ + LIBS='-licuuc -licudata' \ + || { tail -1000 config.log; false; } configure-macos-c-ares: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --without-ssl --enable-ares --enable-debug CPPFLAGS="-I$(brew --prefix libpsl)/include" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" LIBS="-licuuc -licudata" || { tail -1000 config.log; false; } + ./configure --enable-debug --enable-warnings --enable-websockets --without-ssl --enable-ares \ + CPPFLAGS="-I$(brew --prefix libpsl)/include" \ + CFLAGS='-mmacosx-version-min=10.9' \ + LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" \ + LIBS='-licuuc -licudata' \ + || { tail -1000 config.log; false; } configure-macos-http-only: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-maintainer-mode --disable-dict --disable-file --disable-ftp --disable-gopher --disable-imap --disable-ldap --disable-mqtt --disable-pop3 --disable-rtsp --disable-smb --disable-smtp --disable-telnet --disable-tftp --disable-unix-sockets --disable-shared --without-brotli --without-gssapi --without-libidn2 --without-libpsl --without-librtmp --without-libssh2 --without-nghttp2 --without-ssl --without-zlib --enable-debug CFLAGS='-Wno-vla -mmacosx-version-min=10.15' || { tail -1000 config.log; false; } + ./configure --enable-debug --enable-warnings \ + --disable-dict \ + --disable-file \ + --disable-ftp \ + --disable-gopher \ + --disable-imap \ + --disable-ldap \ + --disable-mqtt \ + --disable-pop3 \ + --disable-rtsp \ + --disable-shared \ + --disable-smb \ + --disable-smtp \ + --disable-telnet \ + --disable-tftp \ + --disable-unix-sockets \ + --without-brotli \ + --without-gssapi \ + --without-libidn2 \ + --without-libpsl \ + --without-librtmp \ + --without-libssh2 \ + --without-nghttp2 \ + --without-ssl \ + --without-zlib \ + CFLAGS='-mmacosx-version-min=10.15' \ + || { tail -1000 config.log; false; } configure-macos-securetransport-http2: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --with-secure-transport CPPFLAGS="-I$(brew --prefix libpsl)/include" CFLAGS='-Wno-vla -mmacosx-version-min=10.8' LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" LIBS="-licuuc -licudata" || { tail -1000 config.log; false; } + ./configure --enable-warnings --enable-websockets --with-secure-transport \ + CPPFLAGS="-I$(brew --prefix libpsl)/include" \ + CFLAGS='-mmacosx-version-min=10.8' \ + LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" \ + LIBS='-licuuc -licudata' \ + || { tail -1000 config.log; false; } configure-macos-openssl-http2: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --with-openssl --enable-debug PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig" CPPFLAGS="-I$(brew --prefix libpsl)/include" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" LIBS="-licuuc -licudata" || { tail -1000 config.log; false; } + ./configure --enable-debug --enable-warnings --enable-websockets --with-openssl \ + PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig" \ + CPPFLAGS="-I$(brew --prefix libpsl)/include" \ + CFLAGS='-mmacosx-version-min=10.9' \ + LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" \ + LIBS='-licuuc -licudata' \ + || { tail -1000 config.log; false; } configure-macos-libressl-http2: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --with-openssl --enable-debug PKG_CONFIG_PATH="$(brew --prefix libressl)/lib/pkgconfig" CPPFLAGS="-I$(brew --prefix libpsl)/include" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" LIBS="-licuuc -licudata" || { tail -1000 config.log; false; } + ./configure --enable-debug --enable-warnings --enable-websockets --with-openssl \ + PKG_CONFIG_PATH="$(brew --prefix libressl)/lib/pkgconfig" \ + CPPFLAGS="-I$(brew --prefix libpsl)/include" \ + CFLAGS='-mmacosx-version-min=10.9' \ + LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" \ + LIBS='-licuuc -licudata' \ + || { tail -1000 config.log; false; } configure-macos-torture: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --disable-shared --disable-threaded-resolver --with-openssl --enable-debug PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig" CPPFLAGS="-I$(brew --prefix libpsl)/include" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" LIBS="-licuuc -licudata" || { tail -1000 config.log; false; } + ./configure --enable-debug --enable-warnings --enable-websockets --disable-shared --disable-threaded-resolver --with-openssl \ + PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig" \ + CPPFLAGS="-I$(brew --prefix libpsl)/include" \ + CFLAGS='-mmacosx-version-min=10.9' \ + LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" \ + LIBS='-licuuc -licudata' \ + || { tail -1000 config.log; false; } configure-macos-torture-ftp: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --disable-shared --disable-threaded-resolver --with-openssl --enable-debug PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig" CPPFLAGS="-I$(brew --prefix libpsl)/include" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" LIBS="-licuuc -licudata" || { tail -1000 config.log; false; } + ./configure --enable-debug --enable-warnings --enable-websockets --disable-shared --disable-threaded-resolver --with-openssl \ + PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig" \ + CPPFLAGS="-I$(brew --prefix libpsl)/include" \ + CFLAGS='-mmacosx-version-min=10.9' \ + LDFLAGS="-L$(brew --prefix libpsl)/lib -L$(brew --prefix icu4c)/lib" \ + LIBS='-licuuc -licudata' \ + || { tail -1000 config.log; false; } install-cares: steps: @@ -169,7 +259,8 @@ commands: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-werror --with-openssl --with-libssh || { tail -1000 config.log; false; } + ./configure --enable-warnings --enable-werror --with-openssl --with-libssh \ + || { tail -1000 config.log; false; } install-wolfssl: steps: @@ -202,21 +293,24 @@ commands: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-werror --with-openssl --enable-ares || { tail -1000 config.log; false; } + ./configure --enable-warnings --enable-werror --with-openssl --enable-ares \ + || { tail -1000 config.log; false; } configure-wolfssh: steps: - run: command: | autoreconf -fi - LDFLAGS="-Wl,-rpath,$HOME/wssh/lib" ./configure --enable-warnings --enable-werror --with-wolfssl=$HOME/wssl --with-wolfssh=$HOME/wssh || { tail -1000 config.log; false; } + LDFLAGS="-Wl,-rpath,$HOME/wssh/lib" ./configure --enable-warnings --enable-werror --with-wolfssl=$HOME/wssl --with-wolfssh=$HOME/wssh \ + || { tail -1000 config.log; false; } configure-cares-debug: steps: - run: command: | autoreconf -fi - ./configure --enable-debug --enable-werror --with-openssl --enable-ares || { tail -1000 config.log; false; } + ./configure --enable-debug --enable-werror --with-openssl --enable-ares \ + || { tail -1000 config.log; false; } build: steps: @@ -230,20 +324,20 @@ commands: test: steps: - - run: make -j3 V=1 test-ci + - run: make -j3 V=1 test-ci TFLAGS='-j14' test-macos: steps: - - run: make -j5 V=1 test-ci + - run: make -j5 V=1 test-ci TFLAGS='-j10' test-torture: steps: - - run: make -j5 V=1 test-ci TFLAGS="-n -t --shallow=25 !FTP" + - run: make -j5 V=1 test-ci TFLAGS='-j10 -n -t --shallow=25 !FTP' test-torture-ftp: steps: # Test 250 takes too long, causing Circle CI to kill the job - - run: make -j5 V=1 test-ci TFLAGS="-n -t --shallow=20 FTP !250 !251" + - run: make -j5 V=1 test-ci TFLAGS='-j10 -n -t --shallow=20 FTP !250 !251' executors: ubuntu: