From 2b59751cb8e29458775e77df68594700d82d0163 Mon Sep 17 00:00:00 2001 From: Alan Barzilay Date: Fri, 3 Sep 2021 20:47:51 -0300 Subject: [PATCH] Add tox tests & coveralls 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 coveralls github action (https://github.com/marketplace/actions/coveralls-github-action) and the tox-gh-actions project (https://github.com/ymyzk/tox-gh-actions) --- .github/workflows/tests.yml | 55 +++++++++++++++++++++++++++++++++++++ README.rst | 5 ++-- tox.ini | 8 ++++++ 3 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..f74be98 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,55 @@ +name: Tox tests and Coveralls +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 + + # - name: Compile and submit coveralls report + # uses: coverallsapp/github-action@master + # with: + # github-token: ${{ secrets.github_token }} diff --git a/README.rst b/README.rst index fd4b363..68411fc 100644 --- a/README.rst +++ b/README.rst @@ -10,9 +10,8 @@ :target: https://pypi.python.org/pypi/pipreqs -.. image:: https://img.shields.io/coveralls/bndr/pipreqs.svg - :target: https://coveralls.io/r/bndr/pipreqs - +.. image:: https://codecov.io/gh/bndr/pipreqs/branch/master/graph/badge.svg?token=0rfPfUZEAX + :target: https://codecov.io/gh/bndr/pipreqs .. image:: https://img.shields.io/pypi/l/pipreqs.svg :target: https://pypi.python.org/pypi/pipreqs diff --git a/tox.ini b/tox.ini index 6d7a99a..cf5c2c2 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,14 @@ [tox] envlist = py36, py37, py38, py39, pypy3, flake8 +[gh-actions] +python = + 3.6: py36 + 3.7: py37 + 3.8: py38 + 3.9: py39 + pypy-3.7: pypy3 + [testenv] setenv = PYTHONPATH = {toxinidir}:{toxinidir}/pipreqs