python-package.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: Python package
  4. on:
  5. push:
  6. branches: [ master ]
  7. pull_request:
  8. branches: [ master ]
  9. jobs:
  10. build:
  11. runs-on: ubuntu-latest
  12. strategy:
  13. matrix:
  14. python-version: [3.5, 3.6, 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 flake8 pytest
  25. if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
  26. - name: Lint with flake8
  27. run: |
  28. # stop the build if there are Python syntax errors or undefined names
  29. flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
  30. # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
  31. flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --ignore=F401 --statistics
  32. - name: Test with pytest
  33. run: |
  34. pytest