test-suite.yml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # This workflow will install Python dependencies, run tests and lint with a variety of Python versions
  2. # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
  3. name: Test Suite
  4. on:
  5. push:
  6. branches: [ main ]
  7. pull_request:
  8. branches: [ main ]
  9. jobs:
  10. build:
  11. runs-on: ubuntu-latest
  12. strategy:
  13. matrix:
  14. python-version: [3.7, 3.8, 3.9]
  15. steps:
  16. - uses: actions/checkout@v2
  17. - name: Set up Python ${{ matrix.python-version }}
  18. uses: actions/setup-python@v2
  19. with:
  20. python-version: ${{ matrix.python-version }}
  21. - name: Install dependencies
  22. run: |
  23. python -m pip install --upgrade pip
  24. pip install .
  25. pip install flake8 pytest
  26. if [ -f dev_requirements.txt ]; then pip install -r dev_requirements.txt; fi
  27. - name: Lint with flake8
  28. run: |
  29. # stop the build if there are Python syntax errors or undefined names
  30. flake8 openleadr/ --count --select=E9,F63,F7,F82 --show-source --statistics
  31. # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
  32. flake8 openleadr/ --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
  33. - name: Test with pytest
  34. run: |
  35. pytest -v --tb=no test/