Skip to content

Commit

Permalink
DEBUG: run windows wheel builds on fork
Browse files Browse the repository at this point in the history
  • Loading branch information
rgommers committed Oct 15, 2024
1 parent ecec46e commit edd9281
Showing 1 changed file with 2 additions and 162 deletions.
164 changes: 2 additions & 162 deletions .github/workflows/wheel_tests_and_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
# Runs on every merge to main to upload .dev0 wheels to anaconda.org
- main
- v1.**
- windows-wheels-nogil
# Make it possible to upload wheels manually if needed (for anaconda.org only, not PyPI)
workflow_dispatch:
inputs:
Expand All @@ -27,161 +28,6 @@ env:
CIBW_ENVIRONMENT: PIP_PREFER_BINARY=1

jobs:
build_linux_x86_64_wheels:
name: Build ${{ matrix.cibw_python }} ${{ matrix.cibw_arch }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
cibw_python: ["cp310", "cp311", "cp312", "cp313", "cp313t"]
cibw_arch: ["x86_64"]
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
fetch-depth: 0
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: "3.10"

- name: Install build deps; set CIBW environment variables
if: ${{ matrix.cibw_python }} == "cp313t"
run: |
PYPI_URL="https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
CIBW_DEPS="pip install --upgrade pip build &&\
pip install --pre -i $PYPI_URL cython numpy scipy &&\
pip install pytest meson-python ninja"
NO_BUILD_ISOLATION="pip; args: --no-build-isolation"
echo "CIBW_BEFORE_BUILD=$CIBW_DEPS" >> "$GITHUB_ENV"
echo "CIBW_BEFORE_TEST=$CIBW_DEPS" >> "$GITHUB_ENV"
echo "CIBW_BUILD_FRONTEND=$NO_BUILD_ISOLATION" >> "$GITHUB_ENV"
- name: Build the wheel
uses: pypa/cibuildwheel@d4a2945fcc8d13f20a1b99d461b8e844d5fc6e23 # v2.21.1
with:
output-dir: dist
env:
CIBW_BUILD: ${{ matrix.cibw_python }}-*
CIBW_ARCHS_LINUX: ${{ matrix.cibw_arch }}
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2
CIBW_FREE_THREADED_SUPPORT: True
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: wheels_linux_${{ matrix.cibw_arch }}_${{ matrix.cibw_python }}
path: ./dist/*.whl
if-no-files-found: error

build_linux_aarch64_wheels:
name: Build ${{ matrix.cibw_python }} ${{ matrix.cibw_arch }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
cibw_python: ["cp310", "cp311", "cp312", "cp313"]
cibw_arch: ["aarch64"]
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
fetch-depth: 0
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: "3.10"
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm64

- name: Install test dep; set CIBW environment variables
# Can be removed once numpy 2.1.0 is released
if: ${{ matrix.cibw_python }} == "cp313"
run: |
PYPI_URL="https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
CIBW_DEPS="pip install --pre -i $PYPI_URL numpy"
echo "CIBW_BEFORE_TEST=$CIBW_DEPS" >> "$GITHUB_ENV"
- name: Build the wheel
uses: pypa/cibuildwheel@d4a2945fcc8d13f20a1b99d461b8e844d5fc6e23 # v2.21.1
with:
output-dir: dist
env:
CIBW_BUILD: ${{ matrix.cibw_python }}-*
CIBW_ARCHS_LINUX: ${{ matrix.cibw_arch }}
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014
CIBW_MUSLLINUX_AARCH64_IMAGE: musllinux_1_2
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: wheels_linux_${{ matrix.cibw_arch }}_${{ matrix.cibw_python }}
path: ./dist/*.whl

build_macos_wheels:
name: Build ${{ matrix.cibw_python }} ${{ matrix.cibw_arch }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# macos-13 is the last runner that supports Intel (x86_64) architecture
os: [macos-13, macos-14]
cibw_python: ["cp310", "cp311", "cp312", "cp313", "cp313t"]
cibw_arch: ["x86_64", "arm64"]
exclude:
- os: macos-14
cibw_arch: "x86_64"
- os: macos-13
cibw_arch: "arm64"
- os: macos-13
cibw_arch: "x86_64"
cibw_python: "cp313t"
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
fetch-depth: 0

- uses: actions/setup-python@v5
name: Install Python
with:
python-version: "3.12"

- name: Install build deps; set CIBW environment variables
if: ${{ matrix.cibw_python }} == "cp313t"
run: |
PYPI_URL="https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
CIBW_DEPS="pip install --upgrade pip build &&\
pip install --pre -i $PYPI_URL cython numpy scipy &&\
pip install pytest meson-python ninja"
NO_BUILD_ISOLATION="pip; args: --no-build-isolation"
echo "CIBW_BEFORE_BUILD=$CIBW_DEPS" >> "$GITHUB_ENV"
echo "CIBW_BEFORE_TEST=$CIBW_DEPS" >> "$GITHUB_ENV"
echo "CIBW_BUILD_FRONTEND=$NO_BUILD_ISOLATION" >> "$GITHUB_ENV"
- name: Build wheels for CPython (macOS) (x86_64)
if: matrix.cibw_arch == 'x86_64'
uses: pypa/cibuildwheel@d4a2945fcc8d13f20a1b99d461b8e844d5fc6e23 # v2.21.1
with:
output-dir: dist
env:
CIBW_BUILD: ${{ matrix.cibw_python }}-*
CIBW_ARCHS_MACOS: ${{ matrix.cibw_arch }}

- name: Build wheels for CPython (macOS) (arm64)
if: matrix.cibw_arch == 'arm64'
uses: pypa/cibuildwheel@d4a2945fcc8d13f20a1b99d461b8e844d5fc6e23 # v2.21.1
with:
output-dir: dist
env:
CIBW_BUILD: ${{ matrix.cibw_python }}-*
CIBW_ARCHS_MACOS: ${{ matrix.cibw_arch }}
CIBW_FREE_THREADED_SUPPORT: True

- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: wheels_macos_${{ matrix.cibw_arch }}_${{ matrix.cibw_python }}
path: ./dist/*.whl
if-no-files-found: error

build_windows_wheels:
name: Build ${{ matrix.cibw_python }} ${{ matrix.cibw_arch }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
Expand All @@ -190,7 +36,7 @@ jobs:
matrix:
os: [windows-latest]
cibw_arch: ["AMD64", "x86"]
cibw_python: ["cp310", "cp311", "cp312", "cp313", "cp313t"]
cibw_python: ["cp313", "cp313t"]
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
Expand Down Expand Up @@ -244,9 +90,6 @@ jobs:
name: Release (PyPI)
needs:
[
build_linux_x86_64_wheels,
build_linux_aarch64_wheels,
build_macos_wheels,
build_windows_wheels,
]
# Run only on tags pushed to the repository
Expand Down Expand Up @@ -298,9 +141,6 @@ jobs:
name: Release (Anaconda)
needs:
[
build_linux_x86_64_wheels,
build_linux_aarch64_wheels,
build_macos_wheels,
build_windows_wheels,
]
# Run only on pushes to the main branch, on schedule, or when triggered manually
Expand Down

0 comments on commit edd9281

Please sign in to comment.