summaryrefslogtreecommitdiffstats
path: root/.github/workflows/tests.yml
blob: 89003af083b659f6920dad0e9418e5a442c94955 (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.11']
        include:
          - os: ubuntu-latest
            python-version: '3.7'
          - os: ubuntu-latest
            python-version: 'pypy-3.8'
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v2
        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