113 lines
3.2 KiB
YAML
113 lines
3.2 KiB
YAML
name: Tox Tests
|
|
on: [push, pull_request]
|
|
jobs:
|
|
unit-tests:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-18.04, macos-10.15]
|
|
python-version: [3.6, 3.7, 3.8, 3.9, '3.10']
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- name: Install requirements
|
|
run: |
|
|
sed -i -e 's/^/#/' tests/gnupghome/gpg-agent.conf
|
|
if [ "$(uname)" = "Darwin" ]; then ./install_dependencies.osx.sh; else ./install_dependencies.linux.sh; fi
|
|
pip install tox coveralls
|
|
- name: Run Tox
|
|
run: ./tox.sh -e py
|
|
- name: Upload Coveralls coverage
|
|
if: ${{ success() }}
|
|
run: coveralls --service=github
|
|
env:
|
|
COVERALLS_PARALLEL: true
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
# do some tests with LC_ALL=C to check for locale variance
|
|
c-locale-test:
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.6
|
|
- name: Install requirements
|
|
run: |
|
|
sed -i -e 's/^/#/' tests/gnupghome/gpg-agent.conf
|
|
./install_dependencies.linux.sh
|
|
pip install tox coveralls
|
|
- name: Run Tox
|
|
run: ./tox.sh -e py
|
|
env:
|
|
LC_ALL: C
|
|
- name: Upload Coveralls coverage
|
|
if: ${{ success() }}
|
|
run: coveralls --service=github
|
|
env:
|
|
COVERALLS_PARALLEL: true
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
# test setup.py using each tested version
|
|
test-setup:
|
|
runs-on: ubuntu-18.04
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- python-version: 3.6
|
|
env: py36-setup
|
|
- python-version: 3.7
|
|
env: py37-setup
|
|
- python-version: 3.8
|
|
env: py38-setup
|
|
- python-version: 3.9
|
|
env: py39-setup
|
|
- python-version: '3.10'
|
|
env: py310-setup
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- name: Install tox
|
|
run: pip install tox
|
|
- name: Run tox
|
|
run: tox -e ${{ matrix.env }}
|
|
|
|
# add a pep8 test
|
|
pep8:
|
|
runs-on: ubuntu-18.04
|
|
continue-on-error: true # pep8 failures shouldn't be considered fatal
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.6
|
|
- name: Install tox
|
|
run: pip install tox
|
|
- name: Run tox
|
|
run: tox -e pep8
|
|
|
|
# report coverage to coveralls, but only for pytest runs
|
|
finish-coveralls:
|
|
needs: [ unit-tests, c-locale-test ]
|
|
runs-on: ubuntu-18.04
|
|
|
|
steps:
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.6
|
|
- name: Finish Coveralls
|
|
run: |
|
|
pip install coveralls
|
|
coveralls --service=github --finish
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|