Benoit Chesneau 1dc4ce9d59
Update to support only Python 3.12 and 3.13 (#3422)
* Update CI and project to support only Python N (3.13) and N-1 (3.12)

- Update GitHub Actions workflows to test only Python 3.12 and 3.13
- Update pyproject.toml to require Python >= 3.12
- Update tox.ini to test only py312 and py313
- Update documentation to reflect Python 3.12+ requirement
- Clean up AppVeyor configuration for Python 3.12
* Update pylint to 3.3.2 for Python 3.12 compatibility
* Disable new pylint warnings for pre-existing issues
2025-10-05 19:55:32 +02:00

53 lines
1.8 KiB
YAML

name: lint
on: [push, pull_request]
permissions:
contents: read # to fetch code (actions/checkout)
env:
# note that some tools care only for the name, not the value
FORCE_COLOR: 1
jobs:
lint:
name: ${{ matrix.python-version }} / tox-${{ matrix.toxenv || '(other)' }}
timeout-minutes: 10
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
toxenv: [lint, docs-lint, pycodestyle]
python-version: [ "3.12" ]
include:
# for actions that want git env, not tox env
- toxenv: null
python-version: "3.12"
steps:
- uses: actions/checkout@v5
- name: Using Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Install Dependencies (tox)
if: ${{ matrix.toxenv }}
run: |
python -m pip install --upgrade pip
python -m pip install tox
- run: tox -e ${{ matrix.toxenv }}
if: ${{ matrix.toxenv }}
- name: Install Dependencies (non-toxic)
if: ${{ ! matrix.toxenv }}
run: |
python -m pip install sphinx
- name: "Update docs"
if: ${{ ! matrix.toxenv }}
run: |
# this will update docs/source/settings.rst - but will not create html output
(cd docs && sphinx-build -b "dummy" -d _build/doctrees source "_build/dummy")
git update-index --assume-unchanged docs/source/settings.rst
if unclean=$(git status --untracked-files=no --porcelain) && [ -z "$unclean" ]; then
echo "no uncommitted changes in working tree (as it should be)"
else
echo "did you forget to run `make -C docs html`?"
echo "$unclean"
exit 2
fi