mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-06 07:50:32 +00:00
77 lines
1.9 KiB
YAML
77 lines
1.9 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- dev-3.x
|
|
pull_request:
|
|
branches:
|
|
- dev-3.x
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
max-parallel: 9
|
|
fail-fast: true
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
- macos-latest
|
|
- windows-latest
|
|
python-version:
|
|
- 3.8
|
|
- 3.9
|
|
|
|
defaults:
|
|
# Windows is sucks. Force use bash instead of PowerShell
|
|
run:
|
|
shell: bash
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
|
|
- name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }}
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Install and configure Poetry
|
|
uses: snok/install-poetry@v1.1.4
|
|
with:
|
|
virtualenvs-create: true
|
|
virtualenvs-in-project: true
|
|
|
|
- name: Load cached venv
|
|
id: cached-poetry-dependencies
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: .venv
|
|
key: venv-${{ matrix.os }}-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }}-${{ secrets.CACHE_VERSION }}
|
|
|
|
- name: Project dependencies
|
|
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
|
|
run: |
|
|
poetry install --no-interaction
|
|
|
|
- name: Lint code
|
|
run: |
|
|
poetry run flake8 aiogram
|
|
poetry run mypy aiogram
|
|
|
|
- name: Check code-style (Black)
|
|
run: |
|
|
poetry run black --check --diff aiogram tests
|
|
|
|
- name: Run tests
|
|
run: |
|
|
poetry run pytest --cov=aiogram --cov-config .coveragerc --cov-report=xml
|
|
|
|
- uses: codecov/codecov-action@v1
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
file: coverage.xml
|
|
flags: unittests
|
|
name: py-${{ matrix.python-version }}-${{ matrix.os }}
|
|
fail_ci_if_error: true
|