diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index dc7afc711a2a7..ffddf9ef88db3 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -38,7 +38,7 @@ jobs: # Build the wheels for Linux, Windows and macOS for Python 3.6 and newer build_wheels: - name: Build wheel for cp${{ matrix.python }}-${{ matrix.platform_id }} + name: Build wheel for cp${{ matrix.python }}-${{ matrix.platform_id }}-${{ matrix.manylinux_image }} runs-on: ${{ matrix.os }} needs: check_build_trigger if: needs.check_build_trigger.outputs.build @@ -50,6 +50,7 @@ jobs: os: [windows-latest, ubuntu-latest, macos-latest] python: [36, 37, 38, 39] bitness: [32, 64] + manylinux_image: [manylinux1, manylinux2010] include: # Run 32 and 64 bit version in parallel for Linux and Windows - os: windows-latest @@ -70,6 +71,12 @@ jobs: exclude: - os: macos-latest bitness: 32 + # Remove manylinux1 from the windows and osx build matrix since + # manylinux_image is not used for these platforms + - os: windows-latest + manylinux_image: manylinux1 + - os: macos-latest + manylinux_image: manylinux1 steps: - name: Checkout scikit-learn @@ -88,6 +95,8 @@ jobs: SKLEARN_BUILD_PARALLEL=3 MACOSX_DEPLOYMENT_TARGET=10.13 CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }} + CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux_image }} + CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.manylinux_image }} CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: bash build_tools/github/repair_windows_wheels.sh {wheel} {dest_dir} ${{ matrix.bitness }} CIBW_BEFORE_TEST_WINDOWS: bash build_tools/github/build_minimal_windows_image.sh ${{ matrix.python }} ${{ matrix.bitness }} CIBW_TEST_REQUIRES: pytest pandas threadpoolctl diff --git a/build_tools/github/check_wheels.py b/build_tools/github/check_wheels.py index 64cebe3b6b0c4..c213991394a6b 100644 --- a/build_tools/github/check_wheels.py +++ b/build_tools/github/check_wheels.py @@ -11,11 +11,11 @@ build_matrix = wheel_config['jobs']['build_wheels']['strategy']['matrix'] n_python_versions = len(build_matrix['python']) -# For each python version we have: 5 wheels +# For each python version we have: 7 wheels # 1 osx wheel (x86_64) -# 2 linux wheel (i686 + x86_64) +# 4 linux wheel (i686 + x86_64) * (manylinux1 + manylinux2010) # 2 windows wheel (win32 + wind_amd64) -n_wheels = 5 * n_python_versions +n_wheels = 7 * n_python_versions # plus one more for the sdist n_wheels += 1