From: Viktor Szakats Date: Sun, 26 Jan 2025 13:33:10 +0000 (+0100) Subject: GHA: fixup CM/AM order within Apple steps, move `name:` first, quote them X-Git-Tag: curl-8_12_0~47 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ce5c62662f66da5be1e20c1c8dc4584ed410572;p=thirdparty%2Fcurl.git GHA: fixup CM/AM order within Apple steps, move `name:` first, quote them Closes #16092 --- diff --git a/.github/workflows/configure-vs-cmake.yml b/.github/workflows/configure-vs-cmake.yml index 6b42c5a298..736978f8e9 100644 --- a/.github/workflows/configure-vs-cmake.yml +++ b/.github/workflows/configure-vs-cmake.yml @@ -38,13 +38,13 @@ jobs: with: persist-credentials: false - - name: run configure --with-openssl + - name: 'run configure --with-openssl' run: | autoreconf -fi export PKG_CONFIG_DEBUG_SPEW=1 mkdir bld-am && cd bld-am && ../configure --enable-static=no --with-openssl --without-libpsl --without-brotli - - name: run cmake + - name: 'run cmake' run: | cmake -B bld-cm -DCURL_USE_LIBPSL=OFF -DCURL_BROTLI=OFF @@ -54,19 +54,19 @@ jobs: - name: 'cmake log' run: cat bld-cm/CMakeFiles/CMakeConfigureLog.yaml 2>/dev/null || true - - name: compare generated curl_config.h files + - name: 'compare generated curl_config.h files' run: ./.github/scripts/cmp-config.pl bld-am/lib/curl_config.h bld-cm/lib/curl_config.h - - name: compare generated libcurl.pc files + - name: 'compare generated libcurl.pc files' run: ./.github/scripts/cmp-pkg-config.sh bld-am/libcurl.pc bld-cm/libcurl.pc - - name: compare generated curl-config files + - name: 'compare generated curl-config files' run: ./.github/scripts/cmp-pkg-config.sh bld-am/curl-config bld-cm/curl-config check-macos: runs-on: macos-latest steps: - - name: install packages + - name: 'install packages' run: | while [[ $? == 0 ]]; do for i in 1 2 3; do brew update && brew install libtool autoconf automake && break 2 || { echo Error: wait to try again; sleep 10; } done; false Too many retries; done @@ -78,13 +78,13 @@ jobs: with: persist-credentials: false - - name: run configure --with-openssl + - name: 'run configure --with-openssl' run: | autoreconf -fi export PKG_CONFIG_DEBUG_SPEW=1 mkdir bld-am && cd bld-am && ../configure --enable-static=no --with-openssl --without-libpsl --disable-ldap --with-zstd - - name: run cmake + - name: 'run cmake' run: | cmake -B bld-cm -DCURL_USE_LIBPSL=OFF -DCURL_DISABLE_LDAP=ON \ -DCMAKE_C_COMPILER_TARGET="$(uname -m | sed 's/arm64/aarch64/')-apple-darwin$(uname -r)" \ @@ -97,13 +97,13 @@ jobs: - name: 'cmake log' run: cat bld-cm/CMakeFiles/CMakeConfigureLog.yaml 2>/dev/null || true - - name: compare generated curl_config.h files + - name: 'compare generated curl_config.h files' run: ./.github/scripts/cmp-config.pl bld-am/lib/curl_config.h bld-cm/lib/curl_config.h - - name: compare generated libcurl.pc files + - name: 'compare generated libcurl.pc files' run: ./.github/scripts/cmp-pkg-config.sh bld-am/libcurl.pc bld-cm/libcurl.pc - - name: compare generated curl-config files + - name: 'compare generated curl-config files' run: ./.github/scripts/cmp-pkg-config.sh bld-am/curl-config bld-cm/curl-config check-windows: @@ -111,20 +111,20 @@ jobs: env: TRIPLET: 'x86_64-w64-mingw32' steps: - - name: install packages + - name: 'install packages' run: sudo apt-get --quiet 2 --option Dpkg::Use-Pty=0 install mingw-w64 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: persist-credentials: false - - name: run configure --with-schannel + - name: 'run configure --with-schannel' run: | autoreconf -fi export PKG_CONFIG_DEBUG_SPEW=1 mkdir bld-am && cd bld-am && ../configure --enable-static=no --with-schannel --without-libpsl --host="${TRIPLET}" - - name: run cmake + - name: 'run cmake' run: | cmake -B bld-cm -DCURL_USE_SCHANNEL=ON -DCURL_USE_LIBPSL=OFF \ -DCMAKE_SYSTEM_NAME=Windows \ @@ -137,11 +137,11 @@ jobs: - name: 'cmake log' run: cat bld-cm/CMakeFiles/CMakeConfigureLog.yaml 2>/dev/null || true - - name: compare generated curl_config.h files + - name: 'compare generated curl_config.h files' run: ./.github/scripts/cmp-config.pl bld-am/lib/curl_config.h bld-cm/lib/curl_config.h - - name: compare generated libcurl.pc files + - name: 'compare generated libcurl.pc files' run: ./.github/scripts/cmp-pkg-config.sh bld-am/libcurl.pc bld-cm/libcurl.pc - - name: compare generated curl-config files + - name: 'compare generated curl-config files' run: ./.github/scripts/cmp-pkg-config.sh bld-am/curl-config bld-cm/curl-config diff --git a/.github/workflows/http3-linux.yml b/.github/workflows/http3-linux.yml index 2ad74e09da..dc9d2883fc 100644 --- a/.github/workflows/http3-linux.yml +++ b/.github/workflows/http3-linux.yml @@ -60,7 +60,7 @@ jobs: runs-on: ubuntu-latest steps: - - name: cache quictls + - name: 'cache quictls' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-quictls-no-deprecated env: @@ -69,7 +69,7 @@ jobs: path: ~/quictls/build key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.quictls-version }}-quic1 - - name: cache gnutls + - name: 'cache gnutls' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-gnutls env: @@ -78,7 +78,7 @@ jobs: path: ~/gnutls/build key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.gnutls-version }} - - name: cache wolfssl + - name: 'cache wolfssl' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-wolfssl env: @@ -87,7 +87,7 @@ jobs: path: ~/wolfssl/build key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.wolfssl-version }} - - name: cache nghttp3 + - name: 'cache nghttp3' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-nghttp3 env: @@ -96,7 +96,7 @@ jobs: path: ~/nghttp3/build key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.nghttp3-version }} - - name: cache ngtcp2 + - name: 'cache ngtcp2' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-ngtcp2 env: @@ -105,7 +105,7 @@ jobs: path: ~/ngtcp2/build key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.ngtcp2-version }}-${{ env.quictls-version }}-${{ env.gnutls-version }}-${{ env.wolfssl-version }} - - name: cache nghttp2 + - name: 'cache nghttp2' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-nghttp2 env: @@ -125,7 +125,7 @@ jobs: run: | echo 'needs-build=true' >> $GITHUB_OUTPUT - - name: install build prereqs + - name: 'install build prereqs' if: steps.settings.outputs.needs-build == 'true' run: | sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list @@ -140,7 +140,8 @@ jobs: echo 'CC=gcc-12' >> $GITHUB_ENV echo 'CXX=g++-12' >> $GITHUB_ENV - - if: steps.cache-quictls-no-deprecated.outputs.cache-hit != 'true' + - name: 'build quictls' + if: steps.cache-quictls-no-deprecated.outputs.cache-hit != 'true' run: | cd $HOME git clone --quiet --depth=1 -b openssl-${{ env.quictls-version }}-quic1 https://github.com/quictls/openssl quictls @@ -148,9 +149,9 @@ jobs: ./config no-deprecated --prefix=$PWD/build --libdir=lib no-makedepend no-apps no-docs no-tests make make -j1 install_sw - name: 'build quictls' - - if: steps.cache-gnutls.outputs.cache-hit != 'true' + - name: 'build gnutls' + if: steps.cache-gnutls.outputs.cache-hit != 'true' run: | cd $HOME git clone --quiet --depth=1 -b ${{ env.gnutls-version }} https://github.com/gnutls/gnutls.git @@ -162,9 +163,9 @@ jobs: --disable-guile --disable-doc --disable-tests --disable-tools make make install - name: 'build gnutls' - - if: steps.cache-wolfssl.outputs.cache-hit != 'true' + - name: 'build wolfssl' + if: steps.cache-wolfssl.outputs.cache-hit != 'true' run: | cd $HOME git clone --quiet --depth=1 -b v${{ env.wolfssl-version }}-stable https://github.com/wolfSSL/wolfssl.git @@ -174,9 +175,9 @@ jobs: --disable-benchmark --disable-crypttests --disable-examples --prefix=$PWD/build make make install - name: 'build wolfssl' - - if: steps.cache-nghttp3.outputs.cache-hit != 'true' + - name: 'build nghttp3' + if: steps.cache-nghttp3.outputs.cache-hit != 'true' run: | cd $HOME git clone --quiet --depth=1 -b v${{ env.nghttp3-version }} https://github.com/ngtcp2/nghttp3 @@ -188,9 +189,9 @@ jobs: --enable-lib-only make make install - name: 'build nghttp3' - - if: steps.cache-ngtcp2.outputs.cache-hit != 'true' + - name: 'build ngtcp2' + if: steps.cache-ngtcp2.outputs.cache-hit != 'true' run: | cd $HOME git clone --quiet --depth=1 -b v${{ env.ngtcp2-version }} https://github.com/ngtcp2/ngtcp2 @@ -200,9 +201,9 @@ jobs: PKG_CONFIG_PATH="$HOME/quictls/build/lib/pkgconfig:$HOME/gnutls/build/lib/pkgconfig:$HOME/wolfssl/build/lib/pkgconfig" \ --enable-lib-only --with-openssl --with-gnutls --with-wolfssl make install - name: 'build ngtcp2' - - if: steps.cache-nghttp2.outputs.cache-hit != 'true' + - name: 'build nghttp2' + if: steps.cache-nghttp2.outputs.cache-hit != 'true' run: | cd $HOME git clone --quiet --depth=1 -b v${{ env.nghttp2-version }} https://github.com/nghttp2/nghttp2 @@ -213,7 +214,6 @@ jobs: LDFLAGS="-Wl,-rpath,$HOME/quictls/build/lib" \ --enable-http3 make install - name: 'build nghttp2' linux: name: ${{ matrix.build.generate && 'CM' || 'AM' }} ${{ matrix.build.name }} @@ -286,7 +286,8 @@ jobs: -DCURL_CA_FALLBACK=ON steps: - - run: | + - name: 'install prereqs' + run: | sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list sudo apt-get update -y sudo apt-get install -y --no-install-suggests --no-install-recommends \ @@ -299,9 +300,8 @@ jobs: python3 -m venv $HOME/venv echo 'CC=gcc-12' >> $GITHUB_ENV echo 'CXX=g++-12' >> $GITHUB_ENV - name: 'install prereqs' - - name: cache quictls + - name: 'cache quictls' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-quictls-no-deprecated env: @@ -311,7 +311,7 @@ jobs: key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.quictls-version }} fail-on-cache-miss: true - - name: cache gnutls + - name: 'cache gnutls' if: matrix.build.name == 'gnutls' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-gnutls @@ -322,7 +322,7 @@ jobs: key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.gnutls-version }} fail-on-cache-miss: true - - name: cache wolfssl + - name: 'cache wolfssl' if: matrix.build.name == 'wolfssl' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-wolfssl @@ -333,7 +333,7 @@ jobs: key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.wolfssl-version }} fail-on-cache-miss: true - - name: cache nghttp3 + - name: 'cache nghttp3' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-nghttp3 env: @@ -343,7 +343,7 @@ jobs: key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.nghttp3-version }} fail-on-cache-miss: true - - name: cache ngtcp2 + - name: 'cache ngtcp2' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-ngtcp2 env: @@ -353,7 +353,7 @@ jobs: key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.ngtcp2-version }}-${{ env.quictls-version }}-${{ env.gnutls-version }}-${{ env.wolfssl-version }} fail-on-cache-miss: true - - name: cache nghttp2 + - name: 'cache nghttp2' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-nghttp2 env: @@ -363,7 +363,7 @@ jobs: key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.nghttp2-version }}-${{ env.quictls-version }}-${{ env.ngtcp2-version }}-${{ env.nghttp3-version }} fail-on-cache-miss: true - - name: cache openssl + - name: 'cache openssl' if: matrix.build.name == 'openssl-quic' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-openssl @@ -383,7 +383,7 @@ jobs: make -j1 install_sw cat exporters/openssl.pc - - name: cache quiche + - name: 'cache quiche' if: matrix.build.name == 'quiche' uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 id: cache-quiche @@ -393,7 +393,8 @@ jobs: path: ~/quiche key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.quiche-version }} - - if: matrix.build.name == 'quiche' && steps.cache-quiche.outputs.cache-hit != 'true' + - name: 'build quiche and boringssl' + if: matrix.build.name == 'quiche' && steps.cache-quiche.outputs.cache-hit != 'true' run: | cd $HOME git clone --quiet --depth=1 -b ${{ env.quiche-version }} --recursive https://github.com/cloudflare/quiche.git @@ -411,15 +412,14 @@ jobs: # $HOME/quiche/quiche/deps/boringssl/src/include # lib dir # $HOME/quiche/quiche/deps/boringssl/src/lib - name: 'build quiche and boringssl' - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: persist-credentials: false - - run: autoreconf -fi + - name: 'autoreconf' if: ${{ matrix.build.configure }} - name: 'autoreconf' + run: autoreconf -fi - name: 'configure' run: | @@ -458,8 +458,8 @@ jobs: make V=1 fi - - run: ./src/curl -V - name: 'check curl -V output' + - name: 'check curl -V output' + run: ./src/curl -V - name: 'build tests' run: | diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index bb4f3986f3..ebe46fbe7d 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -297,7 +297,8 @@ jobs: container: 'alpine:3.18' steps: - - if: matrix.build.container == null && !contains(matrix.build.name, 'i686') + - name: 'install prereqs' + if: matrix.build.container == null && !contains(matrix.build.name, 'i686') run: | sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list sudo apt-get update -y @@ -307,9 +308,9 @@ jobs: libpsl-dev libbrotli-dev libzstd-dev \ ${{ matrix.build.install_packages }} python3 -m venv $HOME/venv - name: 'install prereqs' - - if: contains(matrix.build.name, 'i686') + - name: 'install prereqs' + if: contains(matrix.build.name, 'i686') run: | sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list sudo dpkg --add-architecture i386 @@ -319,23 +320,22 @@ jobs: libpsl-dev:i386 libbrotli-dev:i386 libzstd-dev:i386 \ ${{ matrix.build.install_packages }} python3 -m venv $HOME/venv - name: 'install prereqs' - - if: contains(matrix.build.install_steps, 'pytest') + - name: 'install prereqs for pytest' + if: contains(matrix.build.install_steps, 'pytest') run: | sudo apt-get install -y --no-install-suggests --no-install-recommends \ apache2 apache2-dev libnghttp2-dev vsftpd - name: 'install prereqs for pytest' - - if: startsWith(matrix.build.container, 'alpine') + - name: 'install dependencies' + if: startsWith(matrix.build.container, 'alpine') run: | apk add --no-cache build-base autoconf automake libtool perl openssl-dev libssh2-dev \ zlib-dev brotli-dev zstd-dev libidn2-dev openldap-dev heimdal-dev libpsl-dev \ py3-impacket py3-asn1 py3-six py3-pycryptodomex \ perl-time-hires openssh stunnel sudo git - name: 'install dependencies' - - name: 'Fix kernel mmap rnd bits' + - name: 'fix kernel mmap rnd bits' # Asan in llvm 14 provided in ubuntu 22.04 is incompatible with # high-entropy ASLR in much newer kernels that GitHub runners are # using leading to random crashes: https://reviews.llvm.org/D148280 @@ -579,7 +579,8 @@ jobs: cd rustls-ffi make DESTDIR=$HOME/rustls install - - if: contains(matrix.build.install_steps, 'intel') + - name: 'install Intel compilers' + if: contains(matrix.build.install_steps, 'intel') run: | cd /tmp curl -sSf --compressed https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | sudo apt-key add - @@ -587,15 +588,14 @@ jobs: sudo apt install --no-install-recommends intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic source /opt/intel/oneapi/setvars.sh printenv >> $GITHUB_ENV - name: 'install Intel compilers' - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: persist-credentials: false - - run: autoreconf -fi + - name: 'autoreconf' if: ${{ matrix.build.configure }} - name: 'autoreconf' + run: autoreconf -fi - name: 'configure' run: | @@ -651,9 +651,9 @@ jobs: if: ${{ matrix.build.make-custom-target != 'tidy' }} run: ./src/curl -V - - run: cmake --install . --prefix $HOME/curl --strip + - name: 'cmake install' if: ${{ matrix.build.generate }} - name: 'cmake install' + run: cmake --install . --prefix $HOME/curl --strip - name: 'build tests' if: ${{ matrix.build.install_steps != 'skipall' }} diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index afa6b8bdb2..2681313227 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -227,7 +227,13 @@ jobs: CC+=" --target=$(uname -m)-apple-darwin" fi - if [ -n '${{ matrix.build.configure }}' ]; then + if [ -n '${{ matrix.build.generate }}' ]; then + [ -n '${{ matrix.build.macos-version-min }}' ] && options+=' -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.build.macos-version-min }}' + cmake -B bld -G Ninja -DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON -DCURL_WERROR=ON \ + -DCMAKE_OSX_SYSROOT="${sysroot}" \ + -DCMAKE_C_COMPILER_TARGET="$(uname -m | sed 's/arm64/aarch64/')-apple-darwin$(uname -r)" \ + ${{ matrix.build.generate }} ${options} + else export CFLAGS if [[ '${{ matrix.compiler }}' = 'llvm'* ]]; then options+=" --target=$(uname -m)-apple-darwin" @@ -241,12 +247,6 @@ jobs: --disable-dependency-tracking \ --with-libpsl=$(brew --prefix libpsl) \ ${{ matrix.build.configure }} ${options} - else - [ -n '${{ matrix.build.macos-version-min }}' ] && options+=' -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.build.macos-version-min }}' - cmake -B bld -G Ninja -DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON -DCURL_WERROR=ON \ - -DCMAKE_OSX_SYSROOT="${sysroot}" \ - -DCMAKE_C_COMPILER_TARGET="$(uname -m | sed 's/arm64/aarch64/')-apple-darwin$(uname -r)" \ - ${{ matrix.build.generate }} ${options} fi - name: 'configure log' @@ -261,20 +261,20 @@ jobs: - name: 'build-cert' if: contains(matrix.build.generate, '-DCURL_USE_SECTRANSP=ON') || contains(matrix.build.configure, '--with-secure-transport') run: | - if [ -n '${{ matrix.build.configure }}' ]; then - make -C bld/tests/certs clean-certs - make -C bld/tests/certs build-certs -j1 - else + if [ -n '${{ matrix.build.generate }}' ]; then cmake --build bld --target clean-certs cmake --build bld --target build-certs --parallel 1 + else + make -C bld/tests/certs clean-certs + make -C bld/tests/certs build-certs -j1 fi - name: 'build' run: | - if [ -n '${{ matrix.build.configure }}' ]; then - make -C bld V=1 - else + if [ -n '${{ matrix.build.generate }}' ]; then cmake --build bld --verbose + else + make -C bld V=1 fi - name: 'curl version' @@ -282,10 +282,10 @@ jobs: - name: 'build tests' run: | - if [ -n '${{ matrix.build.configure }}' ]; then - make -C bld V=1 -C tests - else + if [ -n '${{ matrix.build.generate }}' ]; then cmake --build bld --target testdeps + else + make -C bld V=1 -C tests fi - name: 'install test prereqs' @@ -324,19 +324,19 @@ jobs: fi source $HOME/venv/bin/activate rm -f $HOME/.curlrc - if [ -n '${{ matrix.build.configure }}' ]; then - make -C bld V=1 ${{ matrix.build.torture && 'test-torture' || 'test-ci' }} - else + if [ -n '${{ matrix.build.generate }}' ]; then cmake --build bld --target ${{ matrix.build.torture && 'test-torture' || 'test-ci' }} + else + make -C bld V=1 ${{ matrix.build.torture && 'test-torture' || 'test-ci' }} fi - name: 'build examples' if: ${{ contains(matrix.build.name, '+examples') }} run: | - if [ -n '${{ matrix.build.configure }}' ]; then - make -C bld examples V=1 - else + if [ -n '${{ matrix.build.generate }}' ]; then cmake --build bld --target curl-examples --verbose + else + make -C bld examples V=1 fi combinations: # Test buildability with host OS, Xcode / SDK, compiler, target-OS, Secure Transport/not, built tool, combinations @@ -438,7 +438,20 @@ jobs: CC+=" --target=$(uname -m)-apple-darwin" fi - if [ '${{ matrix.build }}' = 'autotools' ]; then + if [ '${{ matrix.build }}' = 'cmake' ]; then + [ '${{ matrix.config }}' = 'OpenSSL' ] && options+=' -DCURL_USE_OPENSSL=ON' + [ '${{ matrix.config }}' = 'SecureTransport' ] && options+=' -DCURL_USE_SECTRANSP=ON' + [ -n '${{ matrix.macos-version-min }}' ] && options+=' -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.macos-version-min }}' + # would pick up nghttp2, libidn2, and libssh2 + cmake -B bld -DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON -DCURL_WERROR=ON \ + -DCMAKE_OSX_SYSROOT="${sysroot}" \ + -DCMAKE_C_COMPILER_TARGET="$(uname -m | sed 's/arm64/aarch64/')-apple-darwin$(uname -r)" \ + -DCMAKE_IGNORE_PREFIX_PATH="$(brew --prefix)" \ + -DBUILD_LIBCURL_DOCS=OFF -DBUILD_MISC_DOCS=OFF -DENABLE_CURL_MANUAL=OFF \ + -DUSE_NGHTTP2=OFF -DUSE_LIBIDN2=OFF \ + -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF \ + ${options} + else export CFLAGS if [[ '${{ matrix.compiler }}' = 'llvm'* ]]; then options+=" --target=$(uname -m)-apple-darwin" @@ -457,19 +470,6 @@ jobs: --without-nghttp2 --without-libidn2 \ --without-libpsl \ ${options} - else - [ '${{ matrix.config }}' = 'OpenSSL' ] && options+=' -DCURL_USE_OPENSSL=ON' - [ '${{ matrix.config }}' = 'SecureTransport' ] && options+=' -DCURL_USE_SECTRANSP=ON' - [ -n '${{ matrix.macos-version-min }}' ] && options+=' -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.macos-version-min }}' - # would pick up nghttp2, libidn2, and libssh2 - cmake -B bld -DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON -DCURL_WERROR=ON \ - -DCMAKE_OSX_SYSROOT="${sysroot}" \ - -DCMAKE_C_COMPILER_TARGET="$(uname -m | sed 's/arm64/aarch64/')-apple-darwin$(uname -r)" \ - -DCMAKE_IGNORE_PREFIX_PATH="$(brew --prefix)" \ - -DBUILD_LIBCURL_DOCS=OFF -DBUILD_MISC_DOCS=OFF -DENABLE_CURL_MANUAL=OFF \ - -DUSE_NGHTTP2=OFF -DUSE_LIBIDN2=OFF \ - -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF \ - ${options} fi - name: 'configure log' diff --git a/.github/workflows/non-native.yml b/.github/workflows/non-native.yml index 2b64ebfc6c..319dd6ec98 100644 --- a/.github/workflows/non-native.yml +++ b/.github/workflows/non-native.yml @@ -317,14 +317,7 @@ jobs: - name: 'configure' run: | - if [ -n '${{ matrix.build.configure }}' ]; then - mkdir bld && cd bld && ../configure --enable-unity --enable-test-bundles --enable-warnings --enable-werror \ - --disable-dependency-tracking \ - CFLAGS="-isysroot $(xcrun --sdk iphoneos --show-sdk-path 2>/dev/null)" \ - --host=aarch64-apple-darwin \ - --with-apple-idn \ - ${{ matrix.build.configure }} - else + if [ -n '${{ matrix.build.generate }}' ]; then export OPENSSL_DIR=/ # https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-for-ios-tvos-visionos-or-watchos [ -n '${{ matrix.build.generator }}' ] && options='-G ${{ matrix.build.generator }}' @@ -332,6 +325,13 @@ jobs: -DCMAKE_SYSTEM_NAME=iOS \ -DUSE_APPLE_IDN=ON \ ${{ matrix.build.generate }} ${options} + else + mkdir bld && cd bld && ../configure --enable-unity --enable-test-bundles --enable-warnings --enable-werror \ + --disable-dependency-tracking \ + CFLAGS="-isysroot $(xcrun --sdk iphoneos --show-sdk-path 2>/dev/null)" \ + --host=aarch64-apple-darwin \ + --with-apple-idn \ + ${{ matrix.build.configure }} fi - name: 'configure log' @@ -345,10 +345,10 @@ jobs: - name: 'build' run: | - if [ -n '${{ matrix.build.configure }}' ]; then - make -C bld V=1 - else + if [ -n '${{ matrix.build.generate }}' ]; then cmake --build bld --verbose + else + make -C bld V=1 fi - name: 'curl info' @@ -356,18 +356,18 @@ jobs: - name: 'build tests' run: | - if [ -n '${{ matrix.build.configure }}' ]; then - make -C bld V=1 -C tests - else + if [ -n '${{ matrix.build.generate }}' ]; then cmake --build bld --target testdeps --verbose + else + make -C bld V=1 -C tests fi - name: 'build examples' run: | - if [ -n '${{ matrix.build.configure }}' ]; then - make -C bld examples V=1 - else + if [ -n '${{ matrix.build.generate }}' ]; then cmake --build bld --target curl-examples --verbose + else + make -C bld examples V=1 fi android: