name: Test

on:
  schedule:
    - cron: '13 5 * * *'
  workflow_dispatch:

jobs:

  test:
    # Build+test current PyMuPDF git.
    #
    name: Test
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-20.04, windows-2019, macos-10.15]

      # Avoid cancelling of all cibuildwheel runs after a single failure.
      fail-fast: false

    steps:

      - uses: actions/checkout@v2
        with:
          ref: 1.21
      - uses: actions/setup-python@v2

      # Set up cibuildwheel.
      #
      - name: cibuildwheel
        uses: pypa/cibuildwheel@v2.11.2

        env:
            # Build will use the default hard-coded mupdf URL.

            # Build on single cpu.
            CIBW_ARCHS_LINUX: x86_64

            # Build for single python version.
            CIBW_BUILD: "cp311*"

            # Don't build for unsupported platforms or win32.
            CIBW_SKIP: "pp* *i686 *-musllinux_* cp36* *win32*"

            # Get cibuildwheel to run pytest with each wheel.
            CIBW_TEST_REQUIRES: "fontTools pytest"
            CIBW_TEST_COMMAND: "pytest -s {project}/tests"
            CIBW_BUILD_VERBOSITY: 3
