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)
This commit is contained in:
Alan Barzilay 2021-09-03 20:47:51 -03:00
parent 5689124eb4
commit 2b59751cb8
3 changed files with 65 additions and 3 deletions

55
.github/workflows/tests.yml vendored Normal file
View File

@ -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 }}

View File

@ -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

View File

@ -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