name: Python package

on: [push, pull_request]

jobs:
  build:

    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest]
        python-version: [3.7, 3.8, 3.9]
      fail-fast: false

    steps:
    - uses: actions/checkout@v2
    - 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
        sudo apt install --no-install-recommends -y rustc
        pip install -U pip flake8 testtools git+https://github.com/breezy-team/breezy bs4 lxml
        python setup.py develop
    - name: Style checks
      run: |
        python -m flake8
    - name: Typing checks
      run: |
        pip install -U mypy
        #python -m mypy wikkid
    - name: Test suite run
      run: |
        python -m testtools.run discover wikkid.tests
      env:
        PYTHONHASHSEED: random
