|
20 | 20 | CIBW_ENVIRONMENT: BUILD_SKIA_FROM_SOURCE=0 SKIA_LIBRARY_DIR=build/download
|
21 | 21 |
|
22 | 22 | jobs:
|
23 |
| - build: |
| 23 | + build_wheels: |
24 | 24 | runs-on: ${{ matrix.os }}
|
25 | 25 | env:
|
26 | 26 | CIBW_ARCHS: ${{ matrix.arch }}
|
@@ -65,11 +65,45 @@ jobs:
|
65 | 65 | name: skia_pathops-${{ matrix.os }}-${{ matrix.arch }}
|
66 | 66 | path: wheelhouse/*.whl
|
67 | 67 |
|
| 68 | + build_aarch64_wheels: |
| 69 | + runs-on: ubuntu-latest |
| 70 | + strategy: |
| 71 | + matrix: |
| 72 | + # aarch64 uses qemu so it's slow, build each py version in parallel jobs |
| 73 | + python: [37, 38, 39, 310] |
| 74 | + arch: [aarch64] |
| 75 | + env: |
| 76 | + CIBW_BUILD: cp${{ matrix.python }}-* |
| 77 | + CIBW_ARCHS: ${{ matrix.arch }} |
| 78 | + steps: |
| 79 | + - uses: actions/checkout@v2 |
| 80 | + with: |
| 81 | + submodules: recursive |
| 82 | + |
| 83 | + with: |
| 84 | + platforms: all |
| 85 | + - name: Download pre-compiled libskia |
| 86 | + env: |
| 87 | + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} |
| 88 | + run: | |
| 89 | + if [ "$BUILD_SKIA_FROM_SOURCE" == "0" ]; then |
| 90 | + pip install githubrelease |
| 91 | + python ci/download_libskia.py -d "${SKIA_LIBRARY_DIR}" --cpu-arch "arm64" |
| 92 | + fi |
| 93 | + - name: Install dependencies |
| 94 | + run: pip install cibuildwheel |
| 95 | + - name: Build and Test Wheels |
| 96 | + run: python -m cibuildwheel --output-dir wheelhouse |
| 97 | + - uses: actions/upload-artifact@v2 |
| 98 | + with: |
| 99 | + name: skia_pathops-${{ matrix.python }}-linux-${{ matrix.arch }} |
| 100 | + path: wheelhouse/*.whl |
| 101 | + |
68 | 102 | deploy:
|
69 | 103 | # only run if the commit is tagged...
|
70 | 104 | if: startsWith(github.ref, 'refs/tags/v')
|
71 | 105 | # ... and all build jobs completed successfully
|
72 |
| - needs: [build] |
| 106 | + needs: [build_wheels, build_aarch64_wheels] |
73 | 107 | runs-on: ubuntu-latest
|
74 | 108 | steps:
|
75 | 109 | - uses: actions/checkout@v2
|
|
0 commit comments