summaryrefslogtreecommitdiffstats
path: root/.github/workflows/tests.yml
blob: 8de988160247a7890e3cee87f5a6fc62ac16bd85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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