name: pydyf's tests on: [push, pull_request] jobs: tests: name: ${{ matrix.os }} - ${{ matrix.python-version }} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] python-version: ['3.12'] include: - os: ubuntu-latest python-version: '3.8' - os: ubuntu-latest python-version: 'pypy-3.8' steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install Ghostscript (Ubuntu) if: matrix.os == 'ubuntu-latest' run: sudo apt-get update -y && sudo apt-get install ghostscript -y - name: Install Ghostscript (macOS) if: matrix.os == 'macos-latest' run: brew install ghostscript - name: Install Ghostscript (Windows) if: matrix.os == 'windows-latest' run: | C:\msys64\usr\bin\bash -lc 'pacman -S mingw-w64-x86_64-ghostscript --noconfirm' echo "C:\msys64\mingw64\bin" | Out-File -FilePath $env:GITHUB_PATH rm C:\msys64\mingw64\bin\python.exe - name: Upgrade pip and setuptools run: python -m pip install --upgrade pip setuptools - name: Install tests’ requirements run: python -m pip install .[test] - name: Launch tests run: python -m pytest - name: Check coding style run: python -m flake8 - name: Check imports order run: python -m isort . --check --diff