-
-
Notifications
You must be signed in to change notification settings - Fork 25.8k
CI Build and test Python 3.12 wheels #27027
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
Changes from all commits
314db4f
d189546
3252a61
c18cd23
7a2f3f1
860b8d5
5de909c
893d0b4
52c6e07
e076756
ab63ef2
3c8912f
2056347
5a71325
2b85fa0
5f00fa0
8b273f6
97aae36
ebc39f5
22df811
ead0731
5437089
5fb173c
29207f7
7dd8b2b
4a71c79
f018745
51055e2
d22eb54
965318f
ad0b5c0
05a7aaf
58c1ec0
c7d31bd
7577932
ae225d3
5b0e18d
1d79d89
bc92239
dd0d4f8
12078b2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -67,6 +67,11 @@ jobs: | |
- os: windows-latest | ||
python: 311 | ||
platform_id: win_amd64 | ||
- os: windows-latest | ||
python: 312 | ||
platform_id: win_amd64 | ||
# TODO: remove when Python 3.12 is released | ||
prerelease: "True" | ||
|
||
# Linux 64 bit manylinux2014 | ||
- os: ubuntu-latest | ||
|
@@ -88,6 +93,12 @@ jobs: | |
python: 311 | ||
platform_id: manylinux_x86_64 | ||
manylinux_image: manylinux2014 | ||
- os: ubuntu-latest | ||
python: 312 | ||
platform_id: manylinux_x86_64 | ||
manylinux_image: manylinux2014 | ||
# TODO: remove when Python 3.12 is released | ||
prerelease: "True" | ||
|
||
# MacOS x86_64 | ||
- os: macos-latest | ||
|
@@ -104,7 +115,10 @@ jobs: | |
platform_id: macosx_x86_64 | ||
|
||
# MacOS arm64 | ||
# The latest Python version is built and tested on CirrusCI | ||
# The wheel for the latest Python version is built and tested on | ||
# Cirrus CI but due to limited build time for free accounts on Cirrus | ||
# CI, we build the macOS arm64 wheels for the other Python versions on | ||
# Github Actions via cross-compilation (without running the tests). | ||
- os: macos-latest | ||
python: 38 | ||
platform_id: macosx_arm64 | ||
|
@@ -114,6 +128,9 @@ jobs: | |
- os: macos-latest | ||
python: 310 | ||
platform_id: macosx_arm64 | ||
- os: macos-latest | ||
python: 311 | ||
platform_id: macosx_arm64 | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we should not add 311 here since we already have the following entry in CIBW_BUILD: cp311-macosx_arm64 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. but they we would need a pre-release build for 312 on macos_arm64 somewhere, either on Azure or Cirrus. @thomasjpfan what was the reason for this specific configuration setup for macos_arm64 again? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I moved the latest macOS time is 5 times more expensive than linux: https://cirrus-ci.org/pricing/#compute-credits With the current setup, the macOS arm builds are cross compiled on GitHub Action and the latest Python build is actually tested on CirrusCI. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We can add this information into a comment. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, please add a comment on each side: in the Azure Pipelines config and in the Cirrus-CI config. |
||
steps: | ||
- name: Checkout scikit-learn | ||
|
@@ -128,6 +145,7 @@ jobs: | |
env: | ||
CONFTEST_PATH: ${{ github.workspace }}/conftest.py | ||
CONFTEST_NAME: conftest.py | ||
CIBW_PRERELEASE_PYTHONS: ${{ matrix.prerelease }} | ||
CIBW_ENVIRONMENT: SKLEARN_SKIP_NETWORK_TESTS=1 | ||
SKLEARN_BUILD_PARALLEL=3 | ||
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,10 +16,17 @@ macos_arm64_wheel_task: | |
# See `maint_tools/update_tracking_issue.py` for details on the permissions the token requires. | ||
BOT_GITHUB_TOKEN: ENCRYPTED[9b50205e2693f9e4ce9a3f0fcb897a259289062fda2f5a3b8aaa6c56d839e0854a15872f894a70fca337dd4787274e0f] | ||
matrix: | ||
# Only the latest Python version is built and tested on CirrusCI, the other | ||
# macos arm64 builds are on GitHub Actions | ||
# Only the latest Python version is built and tested on Cirrus CI, the other | ||
# macOS arm64 builds are on GitHub Actions. The reason is that macOS time is | ||
# 5x more expensive than Linux times on Cirrus CI and the credits are limited | ||
# (for free accounts). | ||
# Note that the macOS arm64 builds are cross compiled on GitHub Actions (without | ||
# running the tests) and while the macOS arm64 build for the latest Python version | ||
# is actually tested on Cirrus CI. | ||
- env: | ||
CIBW_BUILD: cp311-macosx_arm64 | ||
CIBW_BUILD: cp312-macosx_arm64 | ||
ogrisel marked this conversation as resolved.
Show resolved
Hide resolved
|
||
# TODO: remove when Python 3.12 is released | ||
CIBW_PRERELEASE_PYTHONS: True | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This can now be removed, since cibuildwheel v2.15.0 CPython 3.12 wheels are built by default. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks, good to know! I'd rather wait for Python 3.12 to be released before removing all of them because we rely on |
||
|
||
conda_script: | ||
- curl -L --retry 10 -o ~/mambaforge.sh https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh | ||
|
@@ -68,6 +75,11 @@ linux_arm64_wheel_task: | |
CIBW_TEST_SKIP: "*_aarch64" | ||
- env: | ||
CIBW_BUILD: cp311-manylinux_aarch64 | ||
CIBW_TEST_SKIP: "*_aarch64" | ||
- env: | ||
CIBW_BUILD: cp312-manylinux_aarch64 | ||
thomasjpfan marked this conversation as resolved.
Show resolved
Hide resolved
ogrisel marked this conversation as resolved.
Show resolved
Hide resolved
|
||
# TODO: remove when Python 3.12 is released | ||
CIBW_PRERELEASE_PYTHONS: True | ||
|
||
cibuildwheel_script: | ||
- apt install -y python3 python-is-python3 | ||
|
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.
Please update line 118 above to something like: