diff options
Diffstat (limited to '.github/workflows/build_wheels.yml')
-rw-r--r-- | .github/workflows/build_wheels.yml | 62 |
1 files changed, 53 insertions, 9 deletions
diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 662a604..a935a5e 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -1,19 +1,21 @@ -name: Build dist and wheels +name: Build wheels on: + workflow_dispatch: release: + pull_request: push: branches: - - "master" + - "*" jobs: build_wheels: name: ${{ matrix.os }} runs-on: ${{ matrix.os }} + if: "contains(github.event.head_commit.message, 'build wheels')" strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] - # macos-latest, windows-latest steps: - uses: actions/checkout@v1 @@ -30,17 +32,58 @@ jobs: - name: Install cibuildwheel run: | - python -m pip install cibuildwheel==1.3.0 + python -m pip install cibuildwheel==2.2.2 - - name: Install Visual C++ for Python 2.7 - if: startsWith(matrix.os, 'windows') + - name: Build wheels + env: + CIBW_SKIP: "pp*-win* pp*-macosx* cp2* pp*" # remove pypy on mac and win (wrong version) + CIBW_BEFORE_BUILD: "pip install numpy cython" + run: | + python -m cibuildwheel --output-dir wheelhouse + + - uses: actions/upload-artifact@v1 + with: + name: wheels + path: ./wheelhouse + + + build_all_wheels: + name: ${{ matrix.os }} + runs-on: ${{ matrix.os }} + if: "contains(github.event.head_commit.message, 'build all wheels')" + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + + steps: + - uses: actions/checkout@v1 + - name: Set up Python 3.8 + uses: actions/setup-python@v1 + with: + python-version: 3.8 + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install -U "cython" + + - name: Install cibuildwheel run: | - choco install vcpython27 -f -y + python -m pip install cibuildwheel==2.2.2 - - name: Build wheel + - name: Set up QEMU + if: runner.os == 'Linux' + uses: docker/setup-qemu-action@v1 + with: + platforms: all + + - name: Build wheels env: - CIBW_SKIP: "pp*-win* pp*-macosx* cp2* pp*" # remove pypy on mac and win (wrong version) + CIBW_SKIP: "pp*-win* pp*-macosx* cp2* pp* cp*musl*" # remove pypy on mac and win (wrong version) CIBW_BEFORE_BUILD: "pip install numpy cython" + CIBW_ARCHS_LINUX: auto aarch64 # force aarch64 with QEMU + CIBW_ARCHS_MACOS: x86_64 universal2 arm64 run: | python -m cibuildwheel --output-dir wheelhouse @@ -48,3 +91,4 @@ jobs: with: name: wheels path: ./wheelhouse + |