Skip to content

Commit

Permalink
Add tox tests & codecov github action
Browse files Browse the repository at this point in the history
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
  • Loading branch information
alan-barzilay committed Sep 4, 2021
1 parent 5689124 commit b9865dd
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 3 deletions.
50 changes: 50 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Tox 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
5 changes: 2 additions & 3 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 8 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit b9865dd

Please sign in to comment.