-
-
Notifications
You must be signed in to change notification settings - Fork 997
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
attempt to make CirrusCI job more efficient
- Loading branch information
Showing
1 changed file
with
18 additions
and
80 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 [email protected] | ||
|
||
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/[email protected]/lib | ||
openssl-include=/opt/homebrew/opt/[email protected]/include | ||
install_pre_requirements_script: | ||
- brew install [email protected] | ||
- brew install boost-build boost [email protected] | ||
- 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 |