diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 627ac55..89a4565 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,8 +8,13 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest, windows-11-arm, macos-latest] python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] + exclude: + - os: windows-11-arm + python-version: '3.9' + - os: windows-11-arm + python-version: '3.10' steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/cibuildwheels.yml b/.github/workflows/cibuildwheels.yml index 1145f48..50249e2 100644 --- a/.github/workflows/cibuildwheels.yml +++ b/.github/workflows/cibuildwheels.yml @@ -15,11 +15,13 @@ jobs: if: startsWith(github.event.ref, 'refs/tags') strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest, windows-11-arm, macos-latest] arch: [x86_64, aarch64] exclude: - os: windows-latest arch: aarch64 + - os: windows-11-arm + arch: aarch64 - os: macos-latest arch: aarch64 @@ -47,7 +49,7 @@ jobs: arch: x86 - name: Build wheels (Windows x86) - if: runner.os == 'Windows' + if: runner.os == 'Windows' && runner.arch != 'ARM64' run: | python -m pip install cibuildwheel python -m cibuildwheel --output-dir wheelhouse @@ -64,7 +66,7 @@ jobs: arch: amd64 - name: Build wheels (Windows / amd64) - if: runner.os == 'Windows' + if: runner.os == 'Windows' && runner.arch != 'ARM64' run: | python -m pip install cibuildwheel python -m cibuildwheel --output-dir wheelhouse @@ -75,6 +77,24 @@ jobs: CIBW_TEST_COMMAND: python -m blosc.test CIBW_BUILD_VERBOSITY: 1 + - name: Install MSVC arm64 + if: runner.os == 'Windows' && runner.arch == 'ARM64' + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: arm64 + + - name: Build wheels (Windows / arm64) + if: runner.os == 'Windows' && runner.arch == 'ARM64' + run: | + python -m pip install cibuildwheel + python -m cibuildwheel --output-dir wheelhouse + env: + CIBW_BUILD: 'cp39-win_arm64 cp310-win_arm64 cp311-win_arm64 cp312-win_arm64 cp313-win_arm64 cp314-win_arm64' + CIBW_BEFORE_BUILD: pip install -r requirements.txt + CIBW_BEFORE_TEST: pip install numpy + CIBW_TEST_COMMAND: python -m blosc.test + CIBW_BUILD_VERBOSITY: 1 + - name: Build wheels (Linux / macOS) if: runner.os != 'Windows' run: |