This repository has been archived by the owner on Sep 2, 2023. It is now read-only.
tests #440
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
# sync with https://github.com/fphammerle/ical2vdir/blob/master/.github/workflows/python.yml | |
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions | |
# shown in badge | |
# https://help.github.com/en/actions/automating-your-workflow-with-github-actions/configuring-a-workflow#adding-a-workflow-status-badge-to-your-repository | |
name: tests | |
on: | |
push: | |
pull_request: | |
schedule: | |
- cron: '0 20 * * 5' | |
jobs: | |
code-format: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python-version: ['3.9'] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- run: pip install --upgrade pipenv==2020.8.13 | |
- run: pipenv install --python "$PYTHON_VERSION" --deploy --dev | |
env: | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
- run: pipenv graph | |
- run: pipenv run black --check . | |
tests: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python-version: | |
- '3.7' | |
- '3.8' | |
- '3.9' | |
pandas-version: | |
- '' # locked version | |
- 0.23.* | |
- 0.24.* | |
- 0.25.* | |
- 1.1.* # pandas.io.common.get_handle does not yet support urls | |
- 1.* | |
exclude: | |
# no python-version3.8 wheels for pandas v0.24.2 & v0.23.4 available | |
# https://travis-ci.org/github/fphammerle/freesurfer-stats/builds/701952350 | |
# build takes longer than 10min | |
# https://travis-ci.org/github/fphammerle/freesurfer-stats/jobs/702077404#L199 | |
- python-version: '3.8' | |
pandas-version: 0.23.* | |
- python-version: '3.8' | |
pandas-version: 0.24.* | |
- python-version: '3.9' | |
pandas-version: 0.23.* | |
- python-version: '3.9' | |
pandas-version: 0.24.* | |
- python-version: '3.9' | |
pandas-version: 0.25.* # no wheel available | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- run: pip install --upgrade pipenv==2020.8.13 | |
# by default pipenv picks the latest version in PATH | |
- run: pipenv install --python "$PYTHON_VERSION" --deploy --dev | |
env: | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
# `pipenv install --selective-upgrade "pandas==$PANDAS_VERSION"` was not effective | |
- run: '[ -z "$PANDAS_VERSION" ] || pipenv run pip install "pandas==$PANDAS_VERSION"' | |
env: | |
PANDAS_VERSION: ${{ matrix.pandas-version }} | |
- run: pipenv graph | |
- run: pipenv run pytest --cov="$(cat *.egg-info/top_level.txt)" --cov-report=term-missing --cov-fail-under=100 | |
- run: pipenv run pylint --load-plugins=pylint_import_requirements "$(cat *.egg-info/top_level.txt)" | |
# https://github.com/PyCQA/pylint/issues/352 | |
# disable parse-error due to: | |
# > tests/resources/__init__.py:1:0: F0010: error while code parsing: Unable to load file tests/resources/__init__.py: | |
# > [Errno 2] No such file or directory: 'tests/resources/__init__.py' (parse-error) | |
- run: pipenv run pylint --disable=parse-error tests/* | |
- run: pipenv run mypy "$(cat *.egg-info/top_level.txt)" tests |