54 lines
1.5 KiB
YAML
54 lines
1.5 KiB
YAML
name: Python tests
|
|
|
|
on:
|
|
- push
|
|
- pull_request
|
|
|
|
jobs:
|
|
main:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- name: "Test: Python 3.7"
|
|
python: "3.7"
|
|
tox: py37
|
|
- name: "Test: Python 3.8"
|
|
python: "3.8"
|
|
tox: py38
|
|
- name: "Test: Python 3.9"
|
|
python: "3.9"
|
|
tox: py39
|
|
coverage: true
|
|
- name: "Lint: check-manifest"
|
|
python: "3.9"
|
|
tox: check-manifest
|
|
- name: "Lint: flake8"
|
|
python: "3.9"
|
|
tox: flake8
|
|
|
|
name: ${{ matrix.name }}
|
|
runs-on: ubuntu-20.04
|
|
container: ghcr.io/mopidy/ci:latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python }}
|
|
- name: Fix home dir permissions to enable pip caching
|
|
run: chown -R root /github/home
|
|
- name: Cache pip
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.cache/pip
|
|
key: ${{ runner.os }}-${{ matrix.python }}-${{ matrix.tox }}-pip-${{ hashFiles('setup.cfg') }}-${{ hashFiles('tox.ini') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-${{ matrix.python }}-${{ matrix.tox }}-pip-
|
|
- run: python -m pip install pygobject tox
|
|
- run: python -m tox -e ${{ matrix.tox }}
|
|
if: ${{ ! matrix.coverage }}
|
|
- run: python -m tox -e ${{ matrix.tox }} -- --cov-report=xml
|
|
if: ${{ matrix.coverage }}
|
|
- uses: codecov/codecov-action@v1
|
|
if: ${{ matrix.coverage }} |