From 4eb74694db8c7818623d2cedccf1e2f393ce4802 Mon Sep 17 00:00:00 2001 From: Olivier Grisel Date: Thu, 12 Nov 2020 11:37:57 +0100 Subject: [PATCH 01/11] Parallel platforms for cibuildwheel [cd build] --- .github/workflows/wheels.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index bf6de67c2c09f..4354eb38f3ac5 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -47,6 +47,13 @@ jobs: matrix: os: [windows-latest, ubuntu-latest, macos-latest] python: [36, 37, 38, 39] + include: + os: windows-latest + platform-id: [win_amd64, win32] + os: ubuntu-latest + platform-id: [manylinux_x86_64, manylinux_i686] + os: macos-latest + platform-id: macosx_x86_64 steps: - name: Checkout scikit-learn @@ -59,7 +66,7 @@ jobs: env: # Set the directory where the wheel is unpacked CIBW_ENVIRONMENT: "WHEEL_DIRNAME=scikit_learn-$SCIKIT_LEARN_VERSION" - CIBW_BUILD: cp${{ matrix.python }}-* + CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform-id }} CIBW_TEST_REQUIRES: pytest pandas threadpoolctl # Test that there are no links to system libraries CIBW_TEST_COMMAND: pytest --pyargs sklearn && From dfd546471c5ead09bffc256b7974c9618d1cc3d9 Mon Sep 17 00:00:00 2001 From: Olivier Grisel Date: Thu, 12 Nov 2020 11:49:29 +0100 Subject: [PATCH 02/11] Typo [cd build] --- .github/workflows/wheels.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 4354eb38f3ac5..c6bcd42b12ad2 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -48,11 +48,11 @@ jobs: os: [windows-latest, ubuntu-latest, macos-latest] python: [36, 37, 38, 39] include: - os: windows-latest + - os: windows-latest platform-id: [win_amd64, win32] - os: ubuntu-latest + - os: ubuntu-latest platform-id: [manylinux_x86_64, manylinux_i686] - os: macos-latest + - os: macos-latest platform-id: macosx_x86_64 steps: From 0180fc68595b27c9c19767cb6fc88a8586f122ee Mon Sep 17 00:00:00 2001 From: Olivier Grisel Date: Thu, 12 Nov 2020 11:54:20 +0100 Subject: [PATCH 03/11] Expand matrix [cd build] --- .github/workflows/wheels.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index c6bcd42b12ad2..a099417fef787 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -48,10 +48,15 @@ jobs: os: [windows-latest, ubuntu-latest, macos-latest] python: [36, 37, 38, 39] include: + # Run 32 and 64 bit version in parallel for Linux and Windows - os: windows-latest - platform-id: [win_amd64, win32] + platform-id: win_amd64 + - os: windows-latest + platform-id: win32 + - os: ubuntu-latest + platform-id: manylinux_x86_64 - os: ubuntu-latest - platform-id: [manylinux_x86_64, manylinux_i686] + platform-id: manylinux_i686 - os: macos-latest platform-id: macosx_x86_64 From 824b8454f63588e0db2bf24734e376076532dad0 Mon Sep 17 00:00:00 2001 From: Olivier Grisel Date: Thu, 12 Nov 2020 11:58:18 +0100 Subject: [PATCH 04/11] Explicitly define bitness matrix variable --- .github/workflows/wheels.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index a099417fef787..302471492b17f 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -47,18 +47,27 @@ jobs: matrix: os: [windows-latest, ubuntu-latest, macos-latest] python: [36, 37, 38, 39] + bitness: [32, 64] include: # Run 32 and 64 bit version in parallel for Linux and Windows - os: windows-latest + bitness: 64 platform-id: win_amd64 - os: windows-latest + bitness: 32 platform-id: win32 - os: ubuntu-latest + bitness: 64 platform-id: manylinux_x86_64 - os: ubuntu-latest + bitness: 32 platform-id: manylinux_i686 - os: macos-latest + bitness: 64 platform-id: macosx_x86_64 + exclude: + - os: macos-latest + - bitness: 32 steps: - name: Checkout scikit-learn From 0209aba5e3c0d187d94e0df2d4daa84d1799beb5 Mon Sep 17 00:00:00 2001 From: Olivier Grisel Date: Thu, 12 Nov 2020 12:03:28 +0100 Subject: [PATCH 05/11] Better name [cd build] --- .github/workflows/wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 302471492b17f..a1ce3ac5bf6c1 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -36,7 +36,7 @@ jobs: # Build the wheels for Linux, Windows and macOS for Python 3.6 and newer build_wheels: - name: Build wheels on ${{ matrix.os }} for Python ${{ matrix.python }} + name: Build wheels on ${{ matrix.os }} for Py ${{ matrix.python }} ({{ matrix.bitness }} bit) runs-on: ${{ matrix.os }} needs: check_build_trigger if: needs.check_build_trigger.outputs.build From 0e1fe43d493783f49b766bd7f2796da901f847da Mon Sep 17 00:00:00 2001 From: Olivier Grisel Date: Thu, 12 Nov 2020 12:14:12 +0100 Subject: [PATCH 06/11] Another try [cd build] --- .github/workflows/wheels.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index a1ce3ac5bf6c1..7a39d67837df9 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -36,7 +36,7 @@ jobs: # Build the wheels for Linux, Windows and macOS for Python 3.6 and newer build_wheels: - name: Build wheels on ${{ matrix.os }} for Py ${{ matrix.python }} ({{ matrix.bitness }} bit) + name: Build wheels on ${{ matrix.os }} for Py${{ matrix.python }} ({{ matrix.bitness }} bit) runs-on: ${{ matrix.os }} needs: check_build_trigger if: needs.check_build_trigger.outputs.build @@ -46,25 +46,25 @@ jobs: fail-fast: false matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python: [36, 37, 38, 39] bitness: [32, 64] + python: [36, 37, 38, 39] include: # Run 32 and 64 bit version in parallel for Linux and Windows - os: windows-latest bitness: 64 - platform-id: win_amd64 + platform_id: win_amd64 - os: windows-latest bitness: 32 - platform-id: win32 + platform_id: win32 - os: ubuntu-latest bitness: 64 - platform-id: manylinux_x86_64 + platform_id: manylinux_x86_64 - os: ubuntu-latest bitness: 32 - platform-id: manylinux_i686 + platform_id: manylinux_i686 - os: macos-latest bitness: 64 - platform-id: macosx_x86_64 + platform_id: macosx_x86_64 exclude: - os: macos-latest - bitness: 32 @@ -80,7 +80,7 @@ jobs: env: # Set the directory where the wheel is unpacked CIBW_ENVIRONMENT: "WHEEL_DIRNAME=scikit_learn-$SCIKIT_LEARN_VERSION" - CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform-id }} + CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }} CIBW_TEST_REQUIRES: pytest pandas threadpoolctl # Test that there are no links to system libraries CIBW_TEST_COMMAND: pytest --pyargs sklearn && From 7f532f27fd978e256d8a8d06a22e0b09b7f0999f Mon Sep 17 00:00:00 2001 From: Olivier Grisel Date: Thu, 12 Nov 2020 12:20:44 +0100 Subject: [PATCH 07/11] Typo in build name --- .github/workflows/wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 7a39d67837df9..89dcdd1e44782 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -36,7 +36,7 @@ jobs: # Build the wheels for Linux, Windows and macOS for Python 3.6 and newer build_wheels: - name: Build wheels on ${{ matrix.os }} for Py${{ matrix.python }} ({{ matrix.bitness }} bit) + name: Build wheels on ${{ matrix.os }} for Py${{ matrix.python }} (${{ matrix.bitness }} bit) runs-on: ${{ matrix.os }} needs: check_build_trigger if: needs.check_build_trigger.outputs.build From 97b51496cc3ce735973e95821665af1b04bd9fb9 Mon Sep 17 00:00:00 2001 From: Olivier Grisel Date: Thu, 12 Nov 2020 12:23:39 +0100 Subject: [PATCH 08/11] Debug [cd build] --- .github/workflows/wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 89dcdd1e44782..427392fe65289 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -36,7 +36,7 @@ jobs: # Build the wheels for Linux, Windows and macOS for Python 3.6 and newer build_wheels: - name: Build wheels on ${{ matrix.os }} for Py${{ matrix.python }} (${{ matrix.bitness }} bit) + name: Build wheels cp${{ matrix.python }}-${{ matrix.platform_id }} runs-on: ${{ matrix.os }} needs: check_build_trigger if: needs.check_build_trigger.outputs.build From 81405386e3d7f724604a3647e1a5a1913c5e7fa4 Mon Sep 17 00:00:00 2001 From: Olivier Grisel Date: Thu, 12 Nov 2020 12:36:55 +0100 Subject: [PATCH 09/11] Move bitness first in the matrix def [cd build] --- .github/workflows/wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 427392fe65289..ba1ad0d8b7117 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -45,8 +45,8 @@ jobs: # Ensure that a wheel builder finishes even if another fails fail-fast: false matrix: - os: [windows-latest, ubuntu-latest, macos-latest] bitness: [32, 64] + os: [windows-latest, ubuntu-latest, macos-latest] python: [36, 37, 38, 39] include: # Run 32 and 64 bit version in parallel for Linux and Windows From 84eacb47a84bfec7754a64ccea9e60c044221282 Mon Sep 17 00:00:00 2001 From: Olivier Grisel Date: Thu, 12 Nov 2020 12:39:50 +0100 Subject: [PATCH 10/11] Fix typo, restore order [cd build] --- .github/workflows/wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index ba1ad0d8b7117..f450237b29409 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -45,9 +45,9 @@ jobs: # Ensure that a wheel builder finishes even if another fails fail-fast: false matrix: - bitness: [32, 64] os: [windows-latest, ubuntu-latest, macos-latest] python: [36, 37, 38, 39] + bitness: [32, 64] include: # Run 32 and 64 bit version in parallel for Linux and Windows - os: windows-latest @@ -67,7 +67,7 @@ jobs: platform_id: macosx_x86_64 exclude: - os: macos-latest - - bitness: 32 + bitness: 32 steps: - name: Checkout scikit-learn From 867fdcc145f9d869e84f189706da6056542aec6f Mon Sep 17 00:00:00 2001 From: Olivier Grisel Date: Thu, 12 Nov 2020 14:02:56 +0100 Subject: [PATCH 11/11] Cosmit [ci skip] --- .github/workflows/wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index f450237b29409..e4919c00fec63 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -36,7 +36,7 @@ jobs: # Build the wheels for Linux, Windows and macOS for Python 3.6 and newer build_wheels: - name: Build wheels cp${{ matrix.python }}-${{ matrix.platform_id }} + name: Build wheel for cp${{ matrix.python }}-${{ matrix.platform_id }} runs-on: ${{ matrix.os }} needs: check_build_trigger if: needs.check_build_trigger.outputs.build