test.yml 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. name: Test
  2. on: [push, pull_request]
  3. jobs:
  4. test:
  5. strategy:
  6. matrix:
  7. os: [ubuntu-latest, macos-latest, windows-latest]
  8. python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', pypy-3.7, pypy-3.8]
  9. exclude:
  10. - os: windows-latest
  11. python-version: pypy-3.7
  12. - os: windows-latest
  13. python-version: pypy-3.8
  14. runs-on: ${{ matrix.os }}
  15. steps:
  16. - uses: actions/checkout@v2
  17. - uses: actions/setup-python@v2
  18. with:
  19. python-version: ${{ matrix.python-version }}
  20. - name: Install from source
  21. run: python -m pip install --editable .[test,bcrypt]
  22. - name: Run tests
  23. run: python setup.py test
  24. - name: Upload coverage to Coveralls
  25. if: github.event_name == 'push'
  26. env:
  27. COVERALLS_PARALLEL: true
  28. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  29. run: |
  30. python -m pip install coveralls
  31. python -m coveralls --service=github
  32. coveralls-finish:
  33. needs: test
  34. if: github.event_name == 'push'
  35. runs-on: ubuntu-latest
  36. steps:
  37. - uses: actions/setup-python@v2
  38. with:
  39. python-version: 3.x
  40. - name: Finish Coveralls parallel builds
  41. env:
  42. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  43. run: |
  44. python -m pip install coveralls
  45. python -m coveralls --service=github --finish