Alan Barzilay e7571ea033 Add tox tests & codecov github action
This commit essentially adds back tests to our CI pipeline. They were
previously dropped due to Travis pricing policy change.

This workflow utilizes a few interesting projects to make this action
easier to maintain such as the codecov github action
and the tox-gh-actions project
(https://github.com/ymyzk/tox-gh-actions)

This commit uses codecov instead of coveralls because using coveralls
directly inside GH-actions is buggy and the official coveralls action
only supports lcov reports which we can't seem to be able to generate at
the moment. For more information see the pull request that introduced
this commit
2021-09-04 15:14:48 -03:00

51 lines
1.4 KiB
YAML

name: Tests and Codecov
on: pull_request
jobs:
run_tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: [3.6, 3.7, 3.8, 3.9, pypy-3.7]
steps:
- name: Checkout repository
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
pip install tox tox-gh-actions
- name: Test with tox
run: tox
coverage_report:
needs: run_tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install coverage docopt yarg requests
- name: Calculate coverage
run: coverage run --source=pipreqs -m unittest discover
- name: Create XML report
run: coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
with:
files: coverage.xml
fail_ci_if_error: true