name: Wheels on: push: paths: - ".github/workflows/wheels*.yml" - "wheels/*" tags: - "*" pull_request: paths: - ".github/workflows/wheels*.yml" - "wheels/*" workflow_dispatch: permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true env: FORCE_COLOR: 1 jobs: build: name: ${{ matrix.name }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - name: "macOS x86_64" os: macos-latest archs: x86_64 macosx_deployment_target: "10.10" - name: "macOS arm64" os: macos-latest archs: arm64 macosx_deployment_target: "11.0" - name: "manylinux2014 and musllinux x86_64" os: ubuntu-latest archs: x86_64 - name: "manylinux_2_28 x86_64" os: ubuntu-latest archs: x86_64 build: "*manylinux*" manylinux: "manylinux_2_28" steps: - uses: actions/checkout@v4 with: submodules: true - name: Build wheels uses: pypa/cibuildwheel@v2.16.2 with: output-dir: wheelhouse env: CIBW_ARCHS: ${{ matrix.archs }} CIBW_BUILD: ${{ matrix.build }} CIBW_CONFIG_SETTINGS: raqm=enable raqm=vendor fribidi=vendor CIBW_MANYLINUX_PYPY_X86_64_IMAGE: ${{ matrix.manylinux }} CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux }} CIBW_SKIP: pp38-* CIBW_TEST_SKIP: "*-macosx_arm64" MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx_deployment_target }} - uses: actions/upload-artifact@v3 with: name: dist path: ./wheelhouse/*.whl sdist: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: "3.x" cache: pip cache-dependency-path: "Makefile" - run: make sdist - uses: actions/upload-artifact@v3 with: name: dist path: dist/*.tar.gz success: permissions: contents: none needs: [build, sdist] runs-on: ubuntu-latest name: Wheels Successful steps: - name: Success run: echo Wheels Successful