]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
CI/circleci: config tidy-ups, bump up test parallelism
authorViktor Szakats <commit@vsz.me>
Fri, 12 Jul 2024 17:23:43 +0000 (19:23 +0200)
committerViktor Szakats <commit@vsz.me>
Sat, 13 Jul 2024 02:03:05 +0000 (04:03 +0200)
- 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

.circleci/config.yml

index 28dc85e2de175fae2cc9206b4fbfc5f03e715ea7..a83f5979695882b658d7e2329b6005d1075db10f 100644 (file)
@@ -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: