name: Pip on: workflow_dispatch: pull_request: push: branches: - master jobs: build: strategy: fail-fast: false matrix: platform: [windows-latest, macos-latest, ubuntu-latest] python-version: ["3.6", "3.10"] runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Add requirements run: python -m pip install --upgrade wheel setuptools - name: Build and install run: pip install --verbose . - name: Test run: python tests/test.py build-mingw64: runs-on: windows-latest defaults: run: shell: msys2 {0} steps: - uses: msys2/setup-msys2@v2 with: update: true install: >- mingw-w64-x86_64-gcc mingw-w64-x86_64-python-pip mingw-w64-x86_64-python-wheel - uses: actions/checkout@v2 - name: Install pybind11 # This is required because --no-build-isolation disable dependences # installation run: pip install pybind11 - name: Build and install # --no-build-isolation is required because the vanilla setuptool does not # support Mingw64.See patches here: # https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-python-setuptools # Without those patches build_ext fails with: # error: --plat-name must be one of ('win32', 'win-amd64', 'win-arm32', 'win-arm64') run: pip install --no-build-isolation . - name: Test run: python tests/test.py