Getting ready for release 1.11.4 #114
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Wheels | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - v[0-9]+.[0-9]+.x | |
| tags: | |
| - v* | |
| jobs: | |
| build_wheels: | |
| name: Build wheels for ${{ matrix.arch }} on ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} # Only build wheels when tagging (typically a release) | |
| if: startsWith(github.event.ref, 'refs/tags') | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| arch: [x86_64, aarch64] | |
| exclude: | |
| - os: windows-latest | |
| arch: aarch64 | |
| - os: macos-latest | |
| arch: aarch64 | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: 'recursive' | |
| - name: Install Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Set up QEMU | |
| if: ${{ matrix.arch == 'aarch64' }} | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Install Ninja | |
| uses: seanmiddleditch/gha-setup-ninja@master | |
| - name: Install MSVC x86 | |
| uses: ilammy/msvc-dev-cmd@v1 | |
| with: | |
| arch: x86 | |
| - name: Build wheels (Windows x86) | |
| if: runner.os == 'Windows' | |
| run: | | |
| python -m pip install cibuildwheel | |
| python -m cibuildwheel --output-dir wheelhouse | |
| env: | |
| CIBW_BUILD: 'cp39-win32 cp310-win32 cp311-win32 cp312-win32 cp313-win32 cp314-win32' | |
| 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: Install MSVC amd64 | |
| uses: ilammy/msvc-dev-cmd@v1 | |
| with: | |
| arch: amd64 | |
| - name: Build wheels (Windows / amd64) | |
| if: runner.os == 'Windows' | |
| run: | | |
| python -m pip install cibuildwheel | |
| python -m cibuildwheel --output-dir wheelhouse | |
| env: | |
| CIBW_BUILD: 'cp39-win_amd64 cp310-win_amd64 cp311-win_amd64 cp312-win_amd64 cp313-win_amd64 cp314-win_amd64' | |
| 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: | | |
| python -m pip install cibuildwheel | |
| python -m cibuildwheel --output-dir wheelhouse | |
| env: | |
| CIBW_BUILD: 'cp39-* cp310-* cp311-* cp312-* cp313-* cp314-*' | |
| CIBW_SKIP: '*-manylinux*_i686' | |
| CIBW_ARCHS_MACOS: "x86_64 arm64" | |
| CIBW_ARCHS_LINUX: ${{ matrix.arch }} | |
| 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: Upload wheels | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: wheels-${{ matrix.os }}-${{ matrix.arch }} | |
| path: ./wheelhouse/*.whl | |
| build_sdist: | |
| name: Build SDist | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: 'recursive' | |
| - uses: actions/setup-python@v6 | |
| name: Setup Python | |
| with: | |
| python-version: '3.11' | |
| - name: Install requirements | |
| run: | | |
| python -m pip install -r requirements.txt | |
| - name: Build SDist | |
| run: python setup.py sdist | |
| - uses: actions/upload-artifact@v6 | |
| with: | |
| name: wheels-source | |
| path: dist/*.tar.gz | |
| upload_pypi: | |
| needs: [ build_wheels, build_sdist ] # last but not least | |
| runs-on: ubuntu-latest | |
| if: startsWith(github.event.ref, 'refs/tags') | |
| steps: | |
| - uses: actions/download-artifact@v7 | |
| with: | |
| path: dist | |
| pattern: wheels-* | |
| merge-multiple: true | |
| - uses: pypa/gh-action-pypi-publish@release/v1 | |
| with: | |
| user: __token__ | |
| password: ${{ secrets.blosc_pypi_secret }} |