|
|
@@ -37,6 +37,7 @@ jobs:
|
|
|
- '3.11'
|
|
|
- '3.12'
|
|
|
- '3.13'
|
|
|
+ - '3.14'
|
|
|
fail-fast: false
|
|
|
steps:
|
|
|
- uses: actions/checkout@v7
|
|
|
@@ -45,22 +46,17 @@ jobs:
|
|
|
- uses: actions/setup-python@v7
|
|
|
with:
|
|
|
python-version: ${{ matrix.python-version }}
|
|
|
- # with pipenv v2023.6.26:
|
|
|
- # > $ pipenv run pytest --cov="$(cat *.egg-info/top_level.txt)"
|
|
|
- # . --cov-report=term-missing --cov-fail-under=100
|
|
|
- # > cat: '*.egg-info/top_level.txt': No such file or directory
|
|
|
- # > [...]
|
|
|
- # > [...]/coverage/inorout.py:507: CoverageWarning:
|
|
|
- # . Module was never imported. (module-not-imported)
|
|
|
- - run: pip install --upgrade pipenv==2023.6.18
|
|
|
+ # pipenv>=2025.0.0 is required for python3.14 compatibility (ast.Str was removed)
|
|
|
+ - run: pip install --upgrade pipenv==2025.1.3
|
|
|
# by default pipenv picks the latest version in PATH
|
|
|
- run: pipenv install --python "$PYTHON_VERSION" --deploy --dev
|
|
|
env:
|
|
|
PYTHON_VERSION: ${{ matrix.python-version }}
|
|
|
- run: pipenv graph
|
|
|
- - run: pipenv run pytest --cov="$(cat *.egg-info/top_level.txt)"
|
|
|
+ - run: echo "TOP_LEVEL=$(find . -maxdepth 2 -name __init__.py | cut -d/ -f2 | head -1)" >> "$GITHUB_ENV"
|
|
|
+ - run: pipenv run pytest --cov="$TOP_LEVEL"
|
|
|
--cov-report=term-missing --cov-fail-under=100
|
|
|
- - run: pipenv run pylint "$(cat *.egg-info/top_level.txt)"
|
|
|
+ - run: pipenv run pylint "$TOP_LEVEL"
|
|
|
# workaround pylint reporting:
|
|
|
# > E0401: Unable to import 'ical2vdir' (import-error)
|
|
|
# pyproject.toml broken?
|
|
|
@@ -74,4 +70,4 @@ jobs:
|
|
|
# > 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
|
|
|
+ - run: pipenv run mypy "$TOP_LEVEL" tests
|