Add typing, some refactor, run and fix all doctests #167
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |