PyInventory/.github/workflows/tests.yml

61 wiersze
1.5 KiB
YAML

name: tests
on:
push:
branches:
- main
pull_request:
schedule:
- cron: '0 8 * * *'
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.10", "3.9"]
env:
PYTHONUNBUFFERED: 1
PYTHONWARNINGS: always
steps:
- name: Checkout
run: |
echo $GITHUB_REF $GITHUB_SHA
git clone --depth 1 https://github.com/$GITHUB_REPOSITORY.git .
git fetch origin $GITHUB_SHA:temporary-ci-branch
git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
- name: 'Set up Python ${{ matrix.python-version }}'
uses: actions/setup-python@v4
# https://github.com/marketplace/actions/setup-python
with:
python-version: '${{ matrix.python-version }}'
cache: 'pip' # caching pip dependencies
cache-dependency-path: '**/poetry.lock'
- name: 'Bootstrap'
run: |
python3 devshell.py quit
- name: 'Install Browsers for Playwright tests'
run: |
python3 devshell.py playwright_install
- name: 'List installed packages'
run: |
python3 devshell.py list_venv_packages
- name: 'Run tests with Python v${{ matrix.python-version }}'
run: |
python3 devshell.py pytest -vv
- name: 'Upload coverage report'
uses: codecov/codecov-action@v3
# https://github.com/marketplace/actions/codecov
with:
fail_ci_if_error: false
verbose: true