From: Dan Fandrich Date: Thu, 4 Jan 2024 18:32:04 +0000 (-0800) Subject: Revert "CI: run Circle macOS builds on x86 for now" X-Git-Tag: curl-8_7_0~188 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d7332e3e46c3ef401b34e6a1a129eb4dd846c452;p=thirdparty%2Fcurl.git Revert "CI: run Circle macOS builds on x86 for now" This reverts commit 2683de3078eadc86d9b182e7417f4ee75a247e2c. ARM resources are now available in Circle CI, so run these builds on ARM again. This platform needs explicit paths set to libpsl and its dependency icu4c. Follow-up to 2683de30 Closes #12635 --- diff --git a/.circleci/config.yml b/.circleci/config.yml index e7ddc27d19..e343ae17e1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,6 +23,9 @@ ########################################################################### # View these jobs in the browser: https://app.circleci.com/pipelines/github/curl/curl +# +# 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 version: 2.1 @@ -54,42 +57,42 @@ commands: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --without-ssl CFLAGS='-Wno-vla -mmacosx-version-min=10.9' + ./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" configure-macos-debug: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --without-ssl --enable-debug CFLAGS='-Wno-vla -mmacosx-version-min=10.9' + ./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" configure-macos-libssh2: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --without-ssl --with-libssh2=/opt/homebrew/opt/libssh2 --enable-debug CFLAGS='-Wno-vla -mmacosx-version-min=10.9' + ./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" 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" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' + ./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" 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" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' + ./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 configure-macos-c-ares: steps: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --without-ssl --enable-ares --enable-debug CFLAGS='-Wno-vla -mmacosx-version-min=10.9' + ./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" configure-macos-http-only: steps: @@ -103,35 +106,35 @@ commands: - run: command: | autoreconf -fi - ./configure --enable-warnings --enable-websockets --with-secure-transport CFLAGS='-Wno-vla -mmacosx-version-min=10.8' + ./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" 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" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' + ./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" 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" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' + ./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" 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" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' + ./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" 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" CFLAGS='-Wno-vla -mmacosx-version-min=10.9' + ./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" install-cares: steps: @@ -157,7 +160,7 @@ commands: - run: command: | # Drop libressl as long as we're not trying to build it - echo libtool autoconf automake pkg-config nghttp2 libssh2 openssl libssh c-ares libpsl | xargs -Ix -n1 echo brew '"x"' > /tmp/Brewfile + echo libtool autoconf automake pkg-config nghttp2 libssh2 openssl libssh c-ares libpsl icu4c | xargs -Ix -n1 echo brew '"x"' > /tmp/Brewfile while [ $? -eq 0 ]; do for i in 1 2 3; do brew update && brew bundle install --no-lock --file /tmp/Brewfile && break 2 || { echo Error: wait to try again; sleep 10; } done; false Too many retries; done sudo python3 -m pip install impacket @@ -220,8 +223,8 @@ commands: build-macos: steps: - - run: make -j7 V=1 - - run: make -j7 V=1 examples + - run: make -j5 V=1 + - run: make -j5 V=1 examples test: steps: @@ -229,7 +232,7 @@ commands: test-macos: steps: - - run: make -j7 V=1 test-ci + - run: make -j5 V=1 test-ci test-torture: steps: @@ -237,7 +240,8 @@ commands: test-torture-ftp: steps: - - run: make -j5 V=1 test-ci TFLAGS="-n -t --shallow=20 FTP" + # 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" executors: ubuntu: @@ -324,15 +328,10 @@ jobs: - build - test - # TODO: All builds with "macos.x86.medium.gen2" must be changed to - # "macos.m1.medium.gen1" in January 2024 because the former will be removed - # (the names should also be changed from macos-x86-* to macos-arm-*). We - # want the M1 (ARM) machines anyway, for platform diversity. - # See https://circleci.com/docs/configuration-reference/#macos-execution-environment - macos-x86-normal: + macos-arm-normal: macos: xcode: 15.0.0 - resource_class: macos.x86.medium.gen2 + resource_class: macos.m1.medium.gen1 steps: - checkout - install-deps-brew @@ -340,10 +339,10 @@ jobs: - build-macos - test-macos - macos-x86-debug: + macos-arm-debug: macos: xcode: 15.0.0 - resource_class: macos.x86.medium.gen2 + resource_class: macos.m1.medium.gen1 steps: - checkout - install-deps-brew @@ -351,10 +350,10 @@ jobs: - build-macos - test-macos - macos-x86-libssh2: + macos-arm-libssh2: macos: xcode: 15.0.0 - resource_class: macos.x86.medium.gen2 + resource_class: macos.m1.medium.gen1 steps: - checkout - install-deps-brew @@ -362,10 +361,10 @@ jobs: - build-macos - test-macos - macos-x86-libssh-c-ares: + macos-arm-libssh-c-ares: macos: xcode: 15.0.0 - resource_class: macos.x86.medium.gen2 + resource_class: macos.m1.medium.gen1 steps: - checkout - install-deps-brew @@ -373,10 +372,10 @@ jobs: - build-macos - test-macos - macos-x86-libssh: + macos-arm-libssh: macos: xcode: 15.0.0 - resource_class: macos.x86.medium.gen2 + resource_class: macos.m1.medium.gen1 steps: - checkout - install-deps-brew @@ -384,10 +383,10 @@ jobs: - build-macos - test-macos - macos-x86-c-ares: + macos-arm-c-ares: macos: xcode: 15.0.0 - resource_class: macos.x86.medium.gen2 + resource_class: macos.m1.medium.gen1 steps: - checkout - install-deps-brew @@ -395,10 +394,10 @@ jobs: - build-macos - test-macos - macos-x86-http-only: + macos-arm-http-only: macos: xcode: 15.0.0 - resource_class: macos.x86.medium.gen2 + resource_class: macos.m1.medium.gen1 steps: - checkout - install-deps-brew @@ -406,10 +405,10 @@ jobs: - build-macos - test-macos - macos-x86-http-securetransport-http2: + macos-arm-http-securetransport-http2: macos: xcode: 15.0.0 - resource_class: macos.x86.medium.gen2 + resource_class: macos.m1.medium.gen1 steps: - checkout - install-deps-brew @@ -417,10 +416,10 @@ jobs: - build-macos - test-macos - macos-x86-http-openssl-http2: + macos-arm-http-openssl-http2: macos: xcode: 15.0.0 - resource_class: macos.x86.medium.gen2 + resource_class: macos.m1.medium.gen1 steps: - checkout - install-deps-brew @@ -428,10 +427,10 @@ jobs: - build-macos - test-macos - macos-x86-http-libressl-http2: + macos-arm-http-libressl-http2: macos: xcode: 15.0.0 - resource_class: macos.x86.medium.gen2 + resource_class: macos.m1.medium.gen1 steps: - checkout - install-deps-brew @@ -439,10 +438,10 @@ jobs: - build-macos - test-macos - macos-x86-http-torture: + macos-arm-http-torture: macos: xcode: 15.0.0 - resource_class: macos.x86.medium.gen2 + resource_class: macos.m1.medium.gen1 steps: - checkout - install-deps-brew @@ -450,10 +449,10 @@ jobs: - build-macos - test-torture - macos-x86-http-torture-ftp: + macos-arm-http-torture-ftp: macos: xcode: 15.0.0 - resource_class: macos.x86.medium.gen2 + resource_class: macos.m1.medium.gen1 steps: - checkout - install-deps-brew @@ -494,52 +493,52 @@ workflows: jobs: - arm-cares - macos-x86-normal: + macos-arm-normal: jobs: - - macos-x86-normal + - macos-arm-normal - macos-x86-debug: + macos-arm-debug: jobs: - - macos-x86-debug + - macos-arm-debug - macos-x86-libssh2: + macos-arm-libssh2: jobs: - - macos-x86-libssh2 + - macos-arm-libssh2 - macos-x86-libssh-c-ares: + macos-arm-libssh-c-ares: jobs: - - macos-x86-libssh-c-ares + - macos-arm-libssh-c-ares - macos-x86-libssh: + macos-arm-libssh: jobs: - - macos-x86-libssh + - macos-arm-libssh - macos-x86-c-ares: + macos-arm-c-ares: jobs: - - macos-x86-c-ares + - macos-arm-c-ares - macos-x86-http-only: + macos-arm-http-only: jobs: - - macos-x86-http-only + - macos-arm-http-only - macos-x86-http-securetransport-http2: + macos-arm-http-securetransport-http2: jobs: - - macos-x86-http-securetransport-http2 + - macos-arm-http-securetransport-http2 - macos-x86-http-openssl-http2: + macos-arm-http-openssl-http2: jobs: - - macos-x86-http-openssl-http2 + - macos-arm-http-openssl-http2 # There are problem linking with LibreSSL on the CI boxes that prevent this # from working. - # macos-x86-http-libressl-http2: + # macos-arm-http-libressl-http2: # jobs: - # - macos-x86-http-libressl-http2 + # - macos-arm-http-libressl-http2 - macos-x86-http-torture: + macos-arm-http-torture: jobs: - - macos-x86-http-torture + - macos-arm-http-torture - macos-x86-http-torture-ftp: + macos-arm-http-torture-ftp: jobs: - - macos-x86-http-torture-ftp + - macos-arm-http-torture-ftp