2021-04-06 20:34:18 +03:00
|
|
|
name: CI
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
2021-04-16 19:23:18 +03:00
|
|
|
- master
|
2021-04-06 20:34:18 +03:00
|
|
|
pull_request:
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
tests:
|
|
|
|
name: Python ${{ matrix.python-version }}
|
2023-04-17 11:08:14 +03:00
|
|
|
runs-on: ubuntu-22.04
|
2021-04-06 20:34:18 +03:00
|
|
|
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
python-version:
|
|
|
|
- '3.6'
|
|
|
|
- '3.7'
|
|
|
|
- '3.8'
|
|
|
|
- '3.9'
|
2021-12-10 15:04:27 +03:00
|
|
|
- '3.10'
|
2022-11-21 13:47:21 +03:00
|
|
|
- '3.11'
|
2021-04-06 20:34:18 +03:00
|
|
|
|
|
|
|
steps:
|
2022-03-23 14:28:46 +03:00
|
|
|
- uses: actions/checkout@v3
|
2021-04-06 20:34:18 +03:00
|
|
|
|
2023-01-03 14:41:40 +03:00
|
|
|
- uses: actions/setup-python@v4
|
2021-04-06 20:34:18 +03:00
|
|
|
with:
|
|
|
|
python-version: ${{ matrix.python-version }}
|
2022-03-23 14:28:46 +03:00
|
|
|
cache: 'pip'
|
|
|
|
cache-dependency-path: 'requirements/*.txt'
|
2021-04-06 20:34:18 +03:00
|
|
|
|
|
|
|
- name: Upgrade packaging tools
|
|
|
|
run: python -m pip install --upgrade pip setuptools virtualenv wheel
|
|
|
|
|
|
|
|
- name: Install dependencies
|
2023-04-17 11:09:54 +03:00
|
|
|
run: python -m pip install --upgrade tox pytest-cov
|
2022-12-08 11:01:07 +03:00
|
|
|
|
|
|
|
- name: Install tox-py
|
|
|
|
if: ${{ matrix.python-version == '3.6' }}
|
|
|
|
run: python -m pip install --upgrade tox-py
|
|
|
|
|
|
|
|
- name: Run tox targets for ${{ matrix.python-version }}
|
|
|
|
if: ${{ matrix.python-version != '3.6' }}
|
|
|
|
run: tox run -f py$(echo ${{ matrix.python-version }} | tr -d .)
|
2021-04-06 20:34:18 +03:00
|
|
|
|
|
|
|
- name: Run tox targets for ${{ matrix.python-version }}
|
2022-12-08 11:01:07 +03:00
|
|
|
if: ${{ matrix.python-version == '3.6' }}
|
2021-04-16 19:59:27 +03:00
|
|
|
run: tox --py current
|
2021-04-06 20:34:18 +03:00
|
|
|
|
|
|
|
- name: Run extra tox targets
|
|
|
|
if: ${{ matrix.python-version == '3.9' }}
|
|
|
|
run: |
|
|
|
|
tox -e base,dist,docs
|
|
|
|
|
|
|
|
- name: Upload coverage
|
2023-04-17 11:11:56 +03:00
|
|
|
run: |
|
|
|
|
pytest --cov=./ --cov-report=xml
|
2023-04-17 11:08:14 +03:00
|
|
|
- uses: codecov/codecov-action@v3.1.0
|
|
|
|
with:
|
|
|
|
flags: unittests # optional
|
|
|
|
fail_ci_if_error: true # optional (default = false)
|
|
|
|
verbose: true # optional (default = false)
|