-
Notifications
You must be signed in to change notification settings - Fork 237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Cirrus CI #1191
Merged
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
4bc6bd3
Skip Python 3.6 test on macOS arm64
Jackenmen 2bf4c14
Bump wheel version to fix deployment target for universal2
Jackenmen b39dc5b
Test doesn't depend on python version but macOS arm64 can't build 3.6
Jackenmen 2b35f3c
Skip cp38-macosx_arm64 in the test testing failing tests
Jackenmen 623b39e
Add .cirrus.yml running tests
Jackenmen 6707139
Add Cirrus CI to CIProvider enum
Jackenmen 2812f8b
Add a minimal example
Jackenmen ce8e3fe
List Cirrus CI in README and update relevant scripts
Jackenmen ffeccfe
Update CI.md
Jackenmen dce8c22
Add more leeway to the 55 minutes task
Jackenmen 8d71eca
Elaborate on why arm64 platform is skipped for failing test test
Jackenmen ccd29d8
Use CPython 3.10 instead of 3.8 that was used instead of 3.6
Jackenmen c50d72c
Show how to build for Intel macOS on Cirrus CI
Jackenmen bd512e9
Remove Linux arm64 build
Jackenmen 2723bba
Re-trigger Circle CI
Jackenmen f0e9518
Add Linux arm64 back
Jackenmen d22703a
Apply suggestions from code review
Jackenmen 93986db
Merge branch 'main' into add_cirrus_ci_support
Jackenmen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 |
---|---|---|
@@ -0,0 +1,57 @@ | ||
run_tests: &RUN_TESTS | ||
install_cibuildwheel_script: | ||
- python -m pip install -e ".[dev]" pytest-custom-exit-code | ||
run_cibuildwheel_tests_script: | ||
- python ./bin/run_tests.py | ||
|
||
|
||
linux_x86_task: | ||
compute_engine_instance: | ||
image_project: cirrus-images | ||
image: family/docker-builder | ||
platform: linux | ||
cpu: 8 | ||
memory: 8G | ||
|
||
install_pre_requirements_script: | ||
- apt install -y python3-venv python-is-python3 | ||
<<: *RUN_TESTS | ||
|
||
linux_aarch64_task: | ||
compute_engine_instance: | ||
image_project: cirrus-images | ||
image: family/docker-builder-arm64 | ||
architecture: arm64 | ||
platform: linux | ||
cpu: 4 | ||
memory: 4G | ||
|
||
install_pre_requirements_script: | ||
- apt install -y python3-venv python-is-python3 | ||
<<: *RUN_TESTS | ||
|
||
windows_x86_task: | ||
# The task takes ~55 minutes while the timeout happens | ||
# after 60 minutes by default, let's allow some wiggle room. | ||
timeout_in: 90m | ||
windows_container: | ||
image: cirrusci/windowsservercore:visualstudio2022 | ||
cpu: 8 | ||
memory: 8G | ||
|
||
install_pre_requirements_script: | ||
- choco install -y --no-progress python3 --version 3.10.6 | ||
- refreshenv | ||
- echo PATH=%PATH% >> "%CIRRUS_ENV%" | ||
<<: *RUN_TESTS | ||
|
||
macos_arm64_task: | ||
macos_instance: | ||
image: ghcr.io/cirruslabs/macos-monterey-xcode | ||
|
||
env: | ||
PATH: /opt/homebrew/opt/[email protected]/bin:$PATH | ||
install_pre_requirements_script: | ||
- brew install [email protected] | ||
- ln -s python3 /opt/homebrew/opt/[email protected]/bin/python | ||
<<: *RUN_TESTS |
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
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
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 |
---|---|---|
|
@@ -32,6 +32,7 @@ | |
"circleci", | ||
"gitlab", | ||
"travisci", | ||
"cirrusci", | ||
"windows", | ||
"apple", | ||
"linux", | ||
|
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
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
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
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
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
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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
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
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
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 |
---|---|---|
@@ -0,0 +1,21 @@ | ||
build_and_store_wheels: &BUILD_AND_STORE_WHEELS | ||
install_cibuildwheel_script: | ||
- python -m pip install cibuildwheel==2.9.0 | ||
run_cibuildwheel_script: | ||
- cibuildwheel | ||
wheels_artifacts: | ||
path: "wheelhouse/*" | ||
|
||
|
||
macos_task: | ||
name: Build macOS x86_64 and arm64 wheels. | ||
macos_instance: | ||
image: ghcr.io/cirruslabs/macos-monterey-xcode | ||
|
||
env: | ||
PATH: /opt/homebrew/opt/[email protected]/bin:$PATH | ||
CIBW_ARCHS_MACOS: x86_64 arm64 | ||
install_pre_requirements_script: | ||
- brew install [email protected] | ||
- ln -s python3 /opt/homebrew/opt/[email protected]/bin/python | ||
<<: *BUILD_AND_STORE_WHEELS |
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 |
---|---|---|
@@ -0,0 +1,60 @@ | ||
build_and_store_wheels: &BUILD_AND_STORE_WHEELS | ||
install_cibuildwheel_script: | ||
- python -m pip install cibuildwheel==2.9.0 | ||
run_cibuildwheel_script: | ||
- cibuildwheel | ||
wheels_artifacts: | ||
path: "wheelhouse/*" | ||
|
||
|
||
linux_x86_task: | ||
name: Build Linux x86 wheels. | ||
compute_engine_instance: | ||
image_project: cirrus-images | ||
image: family/docker-builder | ||
platform: linux | ||
cpu: 4 | ||
memory: 4G | ||
|
||
install_pre_requirements_script: | ||
- apt install -y python3-venv python-is-python3 | ||
<<: *BUILD_AND_STORE_WHEELS | ||
|
||
linux_aarch64_task: | ||
name: Build Linux aarch64 wheels. | ||
compute_engine_instance: | ||
image_project: cirrus-images | ||
image: family/docker-builder-arm64 | ||
architecture: arm64 | ||
platform: linux | ||
cpu: 4 | ||
memory: 4G | ||
|
||
install_pre_requirements_script: | ||
- apt install -y python3-venv python-is-python3 | ||
<<: *BUILD_AND_STORE_WHEELS | ||
|
||
windows_x86_task: | ||
name: Build Windows x86 wheels. | ||
windows_container: | ||
image: cirrusci/windowsservercore:visualstudio2022 | ||
cpu: 4 | ||
memory: 4G | ||
|
||
install_pre_requirements_script: | ||
- choco install -y --no-progress python3 --version 3.10.6 | ||
- refreshenv | ||
- echo PATH=%PATH% >> "%CIRRUS_ENV%" | ||
<<: *BUILD_AND_STORE_WHEELS | ||
|
||
macos_arm64_task: | ||
name: Build macOS arm64 wheels. | ||
macos_instance: | ||
image: ghcr.io/cirruslabs/macos-monterey-xcode | ||
|
||
env: | ||
PATH: /opt/homebrew/opt/[email protected]/bin:$PATH | ||
install_pre_requirements_script: | ||
- brew install [email protected] | ||
- ln -s python3 /opt/homebrew/opt/[email protected]/bin/python | ||
<<: *BUILD_AND_STORE_WHEELS |
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
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
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
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I said in my previous comment, I'm not sure cross-compilation is the right term here, could anyone confirm whether "emulation" makes more sense here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, technically it's both! Cross-compilation is right, the wheel is built using cross-compilation, but we can still test the wheel using Rosetta 2 emulation.
I think the existing copy is fine as-is.