diff --git a/.cirrus.yml b/.cirrus.yml index 3856f66037..4b65050be3 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,16 +1,22 @@ +# since CirrusCI has limited compute resources for free open-source projects +# we only use it for its unique feature, FreeBSD images + freebsd_instance: image_family: freebsd-14-0 task: + env: + CIRRUS_CLONE_DEPTH: 1 + CIRRUS_CLONE_SUBMODULES: true + CIBW_BUILD_VERBOSITY: 3 + CIBW_SKIP: pp* cp38-* # cp38-* has problem with x86_64 / arm64 confusion + CIBW_BUILD: cp39-* cp310-* cp311-* cp312-* install_script: | - IGNORE_OSVERSION=yes pkg update - pkg install -U -y git boost-build boost-libs unzip wget openssl cmake ninja + pkg install -y boost-build boost-libs openssl cmake ninja py39-pip echo "using clang ;" > ~/user-config.jam - submodules_script: | - git submodule update --init --recursive build_cmake_script: | cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-Werror" -DCMAKE_CXX_STANDARD=14 -Dbuild_tests=ON -Dbuild_examples=ON -Dbuild_tools=ON -Dpython-bindings=OFF -G Ninja . - cmake --build . --parallel 2 + cmake --build . ./test/test_primitives tests_script: | cd test @@ -19,79 +25,11 @@ task: cd test b2 -l250 warnings-as-errors=on warnings=all crypto=openssl stage_enum_if stage_dependencies include=/usr/local/include library-path=/usr/local/lib LD_LIBRARY_PATH=./dependencies ./enum_if +# it appears cibuildwheel does not support FreeBSD (nor CirrusCI) +# install_cibuildwheel_script: +# - python -m pip install cibuildwheel==2.16.5 +# run_cibuildwheel_script: +# - cibuildwheel +# wheels_artifacts: +# path: "wheelhouse/*" -build_and_store_wheels: &BUILD_AND_STORE_WHEELS - env: - CIBW_BUILD_VERBOSITY: 3 - CIBW_REPAIR_WHEEL_COMMAND_MACOS: > - delocate-listdeps {wheel} && - delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel} - - install_cibuildwheel_script: - - $PYTHON -m pip install cibuildwheel==2.16.5 - - run_cibuildwheel_script: - - cibuildwheel - - wheels_artifacts: - path: "wheelhouse/*" - -build_macos_arm64_task: - name: Build macOS arm64 wheels. - - macos_instance: - image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest - - env: - CIRRUS_CLONE_SUBMODULES: true - CIBW_SKIP: pp* cp38-* # cp38-* has problem with x86_64 / arm64 confusion - CIBW_BUILD: cp39-* cp310-* cp311-* cp312-* - CIBW_ARCH: arm64 - PATH: /opt/homebrew/bin:$PATH - PYTHON: python3.9 - - install_pre_requirements_script: - - brew install python@3.9 - - debug_script: - - echo $PATH - - ls -l /opt/homebrew/bin - - find /opt/homebrew -name '*openssl*' -ls - - <<: *BUILD_AND_STORE_WHEELS - -test_macos_arm64_task: - name: Test macOS arm64. - - macos_instance: - image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest - - env: - CIRRUS_CLONE_SUBMODULES: true - PATH: /opt/homebrew/bin:$PATH - PYTHON: python3.9 - OPENSSL_OPTS: > - openssl-lib=/opt/homebrew/opt/openssl@3.0/lib - openssl-include=/opt/homebrew/opt/openssl@3.0/include - - install_pre_requirements_script: - - brew install python@3.9 - - brew install boost-build boost openssl@3.0 - - echo "using darwin ;" >>~/user-config.jam - - debug_script: - - echo $PATH - - ls -l /opt/homebrew/bin - - find /opt/homebrew -name '*openssl*' -ls - - test_script: - - cd test - - b2 crypto=built-in -l400 warnings-as-errors=on debug-iterators=on invariant-checks=full asserts=on deterministic-tests - - b2 $OPENSSL_OPTS crypto=openssl -l400 warnings-as-errors=on debug-iterators=on invariant-checks=full asserts=on deterministic-tests - - b2 $OPENSSL_OPTS deprecated-functions=off -l400 warnings-as-errors=on debug-iterators=on invariant-checks=full asserts=on deterministic-tests - - test_flaky_script: - - cd test - - b2 crypto=built-in -l400 warnings-as-errors=on debug-iterators=on invariant-checks=full asserts=on - - b2 $OPENSSL_OPTS crypto=openssl -l400 warnings-as-errors=on debug-iterators=on invariant-checks=full asserts=on - - b2 $OPENSSL_OPTS deprecated-functions=off -l400 warnings-as-errors=on debug-iterators=on invariant-checks=full asserts=on