sprockets-statsd/.github/workflows/run-tests.yml
Dave Shawley d0b860edc0
Improve the GitHub test phase.
I incorporated the changes in tox.ini into the automated test workflow
so that we do not end up tagging a broken build :/
2021-07-21 12:27:33 -04:00

56 lines
1.6 KiB
YAML

name: Testing
on:
push:
branches: ["*"]
tags-ignore: ["*"]
pull_request:
types: [opened, synchronize, reopened]
jobs:
test:
name: Tests and style checks
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.7, 3.8, 3.9]
steps:
- uses: actions/checkout@v2
- name: Install 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 setuptools twine wheel
python -m pip install '.[dev]'
python -m pip install -e .
- name: Lint
run: |
flake8 sprockets_statsd tests setup.py docs/conf.py
- name: Check format
run: |
yapf -dr sprockets_statsd tests setup.py docs/conf.py
- name: Verify distribution build
run: |
rm -fr dist
python setup.py bdist_wheel
python setup.py sdist
twine check dist/*
- name: Run tests
run: |
coverage run -m unittest
coverage report
coverage xml -o ./coverage.xml
- name: Send coverage to codecov.io
uses: codecov/codecov-action@v1.3.2
with:
token: ${{secrets.CODECOV_TOKEN}}
file: ./coverage.xml
flags: unittests
fail_ci_if_error: true
- name: Save coverage report
if: ${{ matrix.python-version == '3.9' }}
uses: actions/upload-artifact@v2
with:
name: coverage.xml
path: ./coverage.xml