name: Build CI wheels on: push: branches: - master - v[0-9]+.[0-9]+.x tags: - v* jobs: build_wheels: name: Build wheels on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-18.04, windows-latest, macos-latest] steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - uses: actions/setup-python@v2 name: Install Python with: python-version: '3.7' - name: Install cibuildwheel run: | python -m pip install cibuildwheel==1.6.3 - name: Copy setup.cfg to configure wheel run: | cp setup.cfg.template setup.cfg - name: Build wheels for CPython 3.9 run: | python -m cibuildwheel --output-dir dist env: CIBW_BUILD: "cp39-*" CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 CIBW_MANYLINUX_I686_IMAGE: manylinux1 CIBW_BEFORE_BUILD: pip install certifi numpy==1.19.3 MPL_DISABLE_FH4: "yes" - name: Build wheels for CPython run: | python -m cibuildwheel --output-dir dist env: CIBW_BUILD: "cp3?-*" CIBW_SKIP: "cp35-* cp36-* cp39-*" CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 CIBW_MANYLINUX_I686_IMAGE: manylinux1 CIBW_BEFORE_BUILD: pip install certifi numpy==1.15 MPL_DISABLE_FH4: "yes" - name: Build wheels for CPython 3.6 run: | python -m cibuildwheel --output-dir dist env: CIBW_BUILD: "cp36-*" CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 CIBW_MANYLINUX_I686_IMAGE: manylinux1 CIBW_BEFORE_BUILD: pip install certifi numpy==1.15 MPL_DISABLE_FH4: "yes" if: > startsWith(github.ref, 'refs/heads/v3.3') || startsWith(github.ref, 'refs/tags/v3.3') - name: Build wheels for PyPy run: | python -m cibuildwheel --output-dir dist env: CIBW_BUILD: "pp3?-*" CIBW_BEFORE_BUILD: pip install certifi numpy==1.15 if: > runner.os != 'Windows' && ( startsWith(github.ref, 'refs/heads/v3.3') || startsWith(github.ref, 'refs/tags/v3.3') ) - name: Validate that LICENSE files are included in wheels run: | python ./ci/check_wheel_licenses.py - uses: actions/upload-artifact@v2 with: name: wheels path: ./dist/*.whl