| 
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