Skip to content

Add typing, some refactor, run and fix all doctests #168

Add typing, some refactor, run and fix all doctests

Add typing, some refactor, run and fix all doctests #168

Workflow file for this run

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python package
on:
push:
branches: [master, dev]
pull_request:
branches: [master]
jobs:
build:
runs-on: ubuntu-latest
permissions:
# For https://github.com/tsuyoshicho/action-mypy to display a report on the PR
pull-requests: write
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "pypy3.9"]
include:
- python-version: "3.11"
use_pandas: 1
steps:
- uses: actions/checkout@v3
- run: pipx install poetry
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: poetry
- run: poetry install
- name: Pylint
run: poetry run pylint functional
- name: black
run: poetry run black --check --diff --color functional
if: success() || failure()
- name: Test with pytest
run: poetry run pytest --doctest-modules --cov=functional --cov-report=xml
if: success() || failure()
- name: mypy
run: |
# First run without --check-untyped-defs that can fail CI
poetry run mypy --warn-unused-configs --warn-redundant-casts --warn-unused-ignores functional
# Second run with --check-untyped-defs, ignored for CI status
poetry run mypy --warn-unused-configs --check-untyped-defs --warn-redundant-casts --warn-unused-ignores --extra-checks functional || true
if: success() || failure()
- uses: tsuyoshicho/action-mypy@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
reporter: github-pr-review
level: warning
execute_command: poetry run mypy --warn-unused-configs --check-untyped-defs --warn-redundant-casts --warn-unused-ignores --extra-checks functional
filter_mode: nofilter
if: (success() || failure()) && matrix.python-version == '3.11' # run only on latest to avoid duplicate warnings
- uses: codecov/codecov-action@v1
with:
file: ./coverage.xml