| name: Foal Type Tests |
| |
| on: |
| push: |
| paths-ignore: |
| - '**/integration-tests.yml' |
| - 'test/itest*' |
| |
| workflow_dispatch: |
| |
| |
| jobs: |
| build: |
| runs-on: ubuntu-latest |
| strategy: |
| max-parallel: 1 |
| matrix: |
| python-version: ["3.10", 3.7, 3.9] |
| steps: |
| - uses: actions/checkout@master |
| with: |
| persist-credentials: false |
| - name: Set up Python ${{ matrix.python-version }} |
| uses: actions/setup-python@v2 |
| with: |
| python-version: ${{ matrix.python-version }} |
| - name: Install dependencies |
| run: | |
| python -m pip install --upgrade pip |
| pip install -r tools/requirements.txt |
| pip install -r server/requirements.txt |
| pip install mypy |
| pip list |
| - name: Type testing with mypy |
| run: | |
| mypy --cache-dir /tmp/ --install-types |
| mypy --cache-dir /tmp/ --ignore-missing-imports tools/archiver.py |
| mypy --cache-dir /tmp/ --ignore-missing-imports tools/import-mbox.py |
| mypy --cache-dir /tmp/ --ignore-missing-imports server/main.py |
| mypy --cache-dir /tmp/ --ignore-missing-imports server/plugins/*.py |
| mypy --cache-dir /tmp/ --ignore-missing-imports server/endpoints/*.py |