mirror of
https://github.com/curl/curl.git
synced 2024-11-27 05:50:21 +08:00
CI: switch macOS ARM build from Cirrus to Circle CI
Cirrus is drastically reducing their free tier on Sept. 1, so they will no longer perform all these builds for us. All but one build has been moved, with the LibreSSL one being dropped because of linking problems on Circle. One important note about this change is that Circle CI is currently directing all these builds to x86_64 hardware, despite them requesting ARM. This is because ARM nodes are scheduled to be available on the free tier only in December. This reduces our architectural diversity until then but it should automatically come back once those machines are enabled.
This commit is contained in:
parent
a7f4e90ce7
commit
3262ce6f28
@ -49,6 +49,90 @@ commands:
|
||||
autoreconf -fi
|
||||
./configure --disable-proxy --enable-werror --with-openssl
|
||||
|
||||
configure-macos-normal:
|
||||
steps:
|
||||
- run:
|
||||
command: |
|
||||
autoreconf -fi
|
||||
./configure --enable-warnings --enable-websockets --without-ssl CFLAGS='-Wno-vla -mmacosx-version-min=10.9'
|
||||
|
||||
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-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-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-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-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-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-pop3 --disable-rtmp --disable-rtsp --disable-scp --disable-sftp --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-ntlm-auth --without-ssl --without-zlib --enable-debug CFLAGS='-Wno-vla -mmacosx-version-min=10.15'
|
||||
|
||||
configure-macos-securetransport-http2:
|
||||
steps:
|
||||
- run:
|
||||
command: |
|
||||
autoreconf -fi
|
||||
./configure --enable-warnings --enable-websockets --with-secure-transport CFLAGS='-Wno-vla -mmacosx-version-min=10.8'
|
||||
|
||||
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-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-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-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'
|
||||
|
||||
install-cares:
|
||||
steps:
|
||||
- run:
|
||||
@ -68,6 +152,15 @@ commands:
|
||||
sudo apt-get update && sudo apt-get install -y libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev python3-pip
|
||||
sudo python3 -m pip install impacket
|
||||
|
||||
install-deps-brew:
|
||||
steps:
|
||||
- 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 | 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
|
||||
|
||||
configure-libssh:
|
||||
steps:
|
||||
- run:
|
||||
@ -125,10 +218,27 @@ commands:
|
||||
- run: make -j3 V=1
|
||||
- run: make -j3 V=1 examples
|
||||
|
||||
build-macos:
|
||||
steps:
|
||||
- run: make -j5 V=1
|
||||
- run: make -j5 V=1 examples
|
||||
|
||||
test:
|
||||
steps:
|
||||
- run: make -j3 V=1 test-ci
|
||||
|
||||
test-macos:
|
||||
steps:
|
||||
- run: make -j5 V=1 test-ci
|
||||
|
||||
test-torture:
|
||||
steps:
|
||||
- run: make -j5 V=1 test-ci TFLAGS="-n -t --shallow=25 !FTP"
|
||||
|
||||
test-torture-ftp:
|
||||
steps:
|
||||
- run: make -j5 V=1 test-ci TFLAGS="-n -t --shallow=20 FTP"
|
||||
|
||||
executors:
|
||||
ubuntu:
|
||||
machine:
|
||||
@ -209,6 +319,138 @@ jobs:
|
||||
- build
|
||||
- test
|
||||
|
||||
macos-arm-normal:
|
||||
macos:
|
||||
xcode: 15.0.0
|
||||
resource_class: macos.m1.medium.gen1
|
||||
steps:
|
||||
- checkout
|
||||
- install-deps-brew
|
||||
- configure-macos-normal
|
||||
- build-macos
|
||||
- test-macos
|
||||
|
||||
macos-arm-debug:
|
||||
macos:
|
||||
xcode: 15.0.0
|
||||
resource_class: macos.m1.medium.gen1
|
||||
steps:
|
||||
- checkout
|
||||
- install-deps-brew
|
||||
- configure-macos-debug
|
||||
- build-macos
|
||||
- test-macos
|
||||
|
||||
macos-arm-libssh2:
|
||||
macos:
|
||||
xcode: 15.0.0
|
||||
resource_class: macos.m1.medium.gen1
|
||||
steps:
|
||||
- checkout
|
||||
- install-deps-brew
|
||||
- configure-macos-libssh2
|
||||
- build-macos
|
||||
- test-macos
|
||||
|
||||
macos-arm-libssh-c-ares:
|
||||
macos:
|
||||
xcode: 15.0.0
|
||||
resource_class: macos.m1.medium.gen1
|
||||
steps:
|
||||
- checkout
|
||||
- install-deps-brew
|
||||
- configure-macos-libssh-c-ares
|
||||
- build-macos
|
||||
- test-macos
|
||||
|
||||
macos-arm-libssh:
|
||||
macos:
|
||||
xcode: 15.0.0
|
||||
resource_class: macos.m1.medium.gen1
|
||||
steps:
|
||||
- checkout
|
||||
- install-deps-brew
|
||||
- configure-macos-libssh
|
||||
- build-macos
|
||||
- test-macos
|
||||
|
||||
macos-arm-c-ares:
|
||||
macos:
|
||||
xcode: 15.0.0
|
||||
resource_class: macos.m1.medium.gen1
|
||||
steps:
|
||||
- checkout
|
||||
- install-deps-brew
|
||||
- configure-macos-c-ares
|
||||
- build-macos
|
||||
- test-macos
|
||||
|
||||
macos-arm-http-only:
|
||||
macos:
|
||||
xcode: 15.0.0
|
||||
resource_class: macos.m1.medium.gen1
|
||||
steps:
|
||||
- checkout
|
||||
- install-deps-brew
|
||||
- configure-macos-http-only
|
||||
- build-macos
|
||||
- test-macos
|
||||
|
||||
macos-arm-http-securetransport-http2:
|
||||
macos:
|
||||
xcode: 15.0.0
|
||||
resource_class: macos.m1.medium.gen1
|
||||
steps:
|
||||
- checkout
|
||||
- install-deps-brew
|
||||
- configure-macos-securetransport-http2
|
||||
- build-macos
|
||||
- test-macos
|
||||
|
||||
macos-arm-http-openssl-http2:
|
||||
macos:
|
||||
xcode: 15.0.0
|
||||
resource_class: macos.m1.medium.gen1
|
||||
steps:
|
||||
- checkout
|
||||
- install-deps-brew
|
||||
- configure-macos-openssl-http2
|
||||
- build-macos
|
||||
- test-macos
|
||||
|
||||
macos-arm-http-libressl-http2:
|
||||
macos:
|
||||
xcode: 15.0.0
|
||||
resource_class: macos.m1.medium.gen1
|
||||
steps:
|
||||
- checkout
|
||||
- install-deps-brew
|
||||
- configure-macos-libressl-http2
|
||||
- build-macos
|
||||
- test-macos
|
||||
|
||||
macos-arm-http-torture:
|
||||
macos:
|
||||
xcode: 15.0.0
|
||||
resource_class: macos.m1.medium.gen1
|
||||
steps:
|
||||
- checkout
|
||||
- install-deps-brew
|
||||
- configure-macos-torture
|
||||
- build-macos
|
||||
- test-torture
|
||||
|
||||
macos-arm-http-torture-ftp:
|
||||
macos:
|
||||
xcode: 15.0.0
|
||||
resource_class: macos.m1.medium.gen1
|
||||
steps:
|
||||
- checkout
|
||||
- install-deps-brew
|
||||
- configure-macos-torture-ftp
|
||||
- build-macos
|
||||
- test-torture-ftp
|
||||
|
||||
workflows:
|
||||
x86-openssl:
|
||||
jobs:
|
||||
@ -241,3 +483,53 @@ workflows:
|
||||
arm-openssl-c-ares:
|
||||
jobs:
|
||||
- arm-cares
|
||||
|
||||
macos-arm-normal:
|
||||
jobs:
|
||||
- macos-arm-normal
|
||||
|
||||
macos-arm-debug:
|
||||
jobs:
|
||||
- macos-arm-debug
|
||||
|
||||
macos-arm-libssh2:
|
||||
jobs:
|
||||
- macos-arm-libssh2
|
||||
|
||||
macos-arm-libssh-c-ares:
|
||||
jobs:
|
||||
- macos-arm-libssh-c-ares
|
||||
|
||||
macos-arm-libssh:
|
||||
jobs:
|
||||
- macos-arm-libssh
|
||||
|
||||
macos-arm-c-ares:
|
||||
jobs:
|
||||
- macos-arm-c-ares
|
||||
|
||||
macos-arm-http-only:
|
||||
jobs:
|
||||
- macos-arm-http-only
|
||||
|
||||
macos-arm-http-securetransport-http2:
|
||||
jobs:
|
||||
- macos-arm-http-securetransport-http2
|
||||
|
||||
macos-arm-http-openssl-http2:
|
||||
jobs:
|
||||
- macos-arm-http-openssl-http2
|
||||
|
||||
# There are problem linking with LibreSSL on the CI boxes that prevent this
|
||||
# from working.
|
||||
#macos-arm-http-libressl-http2:
|
||||
# jobs:
|
||||
# - macos-arm-http-libressl-http2
|
||||
|
||||
macos-arm-http-torture:
|
||||
jobs:
|
||||
- macos-arm-http-torture
|
||||
|
||||
macos-arm-http-torture-ftp:
|
||||
jobs:
|
||||
- macos-arm-http-torture-ftp
|
||||
|
100
.cirrus.yml
100
.cirrus.yml
@ -150,103 +150,3 @@ windows_task:
|
||||
%container_cmd% -l -c "cd $(echo '%cd%') && %make_cmd% install && PATH=/usr/bin:/bin find . -type f -path '*/.libs/*.exe' -print -execdir mv -t .. {} \;"
|
||||
test_script: |
|
||||
%container_cmd% -l -c "cd $(echo '%cd%') && %make_cmd% TFLAGS='!IDN !SCP ~612 ~1056 %tests%' test-ci"
|
||||
|
||||
macos_task:
|
||||
skip: "changesIncludeOnly(
|
||||
'.azure-pipelines.yml',
|
||||
'.circleci/**',
|
||||
'.github/**',
|
||||
'appveyor.yml',
|
||||
'packages/**',
|
||||
'plan9/**',
|
||||
'projects/**',
|
||||
'winbuild/**'
|
||||
)"
|
||||
|
||||
name: macOS arm64
|
||||
macos_instance:
|
||||
image: ghcr.io/cirruslabs/macos-ventura-xcode:latest
|
||||
|
||||
matrix:
|
||||
- name: macOS arm64 normal
|
||||
env:
|
||||
CFLAGS: -Wno-vla -mmacosx-version-min=10.9
|
||||
install_packages: nghttp2
|
||||
configure: --without-ssl
|
||||
- name: macOS arm64 debug
|
||||
env:
|
||||
CFLAGS: -Wno-vla -mmacosx-version-min=10.9
|
||||
install_packages: nghttp2
|
||||
configure: --without-ssl --enable-debug
|
||||
- name: macOS arm64 libssh2
|
||||
env:
|
||||
CFLAGS: -Wno-vla -mmacosx-version-min=10.9
|
||||
install_packages: nghttp2 libssh2
|
||||
configure: --without-ssl --enable-debug --with-libssh2=/opt/homebrew/opt/libssh2
|
||||
TFLAGS: -n !SFTP !SCP
|
||||
- name: macOS arm64 libssh-c-ares
|
||||
env:
|
||||
CFLAGS: -Wno-vla -mmacosx-version-min=10.9
|
||||
install_packages: nghttp2 openssl libssh
|
||||
configure: --enable-debug --with-openssl=/opt/homebrew/opt/openssl --with-libssh --enable-ares
|
||||
- name: macOS arm64 libssh
|
||||
env:
|
||||
CFLAGS: -Wno-vla -mmacosx-version-min=10.9
|
||||
install_packages: nghttp2 openssl libssh
|
||||
configure: --enable-debug --with-openssl=/opt/homebrew/opt/openssl --with-libssh
|
||||
- name: macOS arm64 c-ares
|
||||
env:
|
||||
CFLAGS: -Wno-vla -mmacosx-version-min=10.9
|
||||
install_packages: nghttp2
|
||||
configure: --without-ssl --enable-debug --enable-ares
|
||||
- name: macOS arm64 HTTP only
|
||||
env:
|
||||
CFLAGS: -Wno-vla -mmacosx-version-min=10.15
|
||||
install_packages: nghttp2
|
||||
configure: --enable-debug --enable-maintainer-mode --disable-dict --disable-file --disable-ftp --disable-gopher --disable-imap --disable-ldap --disable-pop3 --disable-rtmp --disable-rtsp --disable-scp --disable-sftp --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-ntlm-auth --without-ssl --without-zlib
|
||||
- name: macOS arm64 SecureTransport http2
|
||||
env:
|
||||
CFLAGS: -Wno-vla -mmacosx-version-min=10.8
|
||||
install_packages: nghttp2
|
||||
configure: --with-secure-transport
|
||||
- name: macOS arm64 OpenSSL http2
|
||||
env:
|
||||
CFLAGS: -Wno-vla -mmacosx-version-min=10.9
|
||||
install_packages: nghttp2 openssl
|
||||
configure: --enable-debug --with-openssl=/opt/homebrew/opt/openssl
|
||||
- name: macOS arm64 LibreSSL http2
|
||||
env:
|
||||
CFLAGS: -Wno-vla -mmacosx-version-min=10.9
|
||||
install_packages: nghttp2 libressl
|
||||
configure: --enable-debug --with-openssl=/opt/homebrew/opt/libressl
|
||||
- name: macOS arm64 torture
|
||||
env:
|
||||
CFLAGS: -Wno-vla -mmacosx-version-min=10.9
|
||||
install_packages: nghttp2 openssl
|
||||
configure: --enable-debug --disable-shared --disable-threaded-resolver --with-openssl=/opt/homebrew/opt/openssl
|
||||
TFLAGS: -n -t --shallow=25 !FTP
|
||||
- name: macOS arm64 torture-ftp
|
||||
env:
|
||||
CFLAGS: -Wno-vla -mmacosx-version-min=10.9
|
||||
install_packages: nghttp2 openssl
|
||||
configure: --enable-debug --disable-shared --disable-threaded-resolver --with-openssl=/opt/homebrew/opt/openssl
|
||||
TFLAGS: -n -t --shallow=20 FTP
|
||||
|
||||
env:
|
||||
CIRRUS_CLONE_DEPTH: 10
|
||||
MAKE_FLAGS: -j 12
|
||||
|
||||
pkginstall_script:
|
||||
- echo libtool autoconf automake pkg-config ${install_packages} | xargs -Ix -n1 echo brew '"x"' > /tmp/Brewfile
|
||||
- "while [[ $? == 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 -H python3 -m pip install --upgrade pip
|
||||
- sudo -H python3 -m pip install impacket
|
||||
configure_script:
|
||||
- autoreconf -fi
|
||||
- ./configure --enable-warnings --enable-werror --enable-websockets ${configure}
|
||||
compile_script:
|
||||
- make V=1 && make V=1 examples && cd tests && make V=1
|
||||
test_script:
|
||||
- make V=1 test-ci
|
||||
install_script:
|
||||
- sudo -H make V=1 install
|
||||
|
Loading…
Reference in New Issue
Block a user