name: Build Wheels on: push: branches: [main] create: jobs: build_wheels: strategy: matrix: os: ["ubuntu-latest", "windows-latest", "macos-latest"] runs-on: ${{ matrix.os }} name: Build wheels on ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v3 - name: Set up QEMU if: runner.os == 'Linux' uses: docker/setup-qemu-action@v1 with: platforms: arm64 - name: Set up Python 3.x uses: actions/setup-python@v4 with: python-version: "3.x" cache: "pip" - name: Prepare shell: bash run: | pip install -r requirements.txt make cython - name: Build uses: pypa/cibuildwheel@v2.12.0 env: CIBW_TEST_REQUIRES: "pytest" CIBW_TEST_COMMAND: "pytest {package}/test" CIBW_ARCHS_LINUX: auto aarch64 CIBW_ARCHS_MACOS: x86_64 universal2 arm64 CIBW_SKIP: pp* - name: Upload Wheels to artifact uses: actions/upload-artifact@v1 with: name: Wheels path: wheelhouse