fix mypy for Python < 3.13 #83
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
name: CI | |
on: | |
- push | |
- pull_request | |
- workflow_dispatch | |
jobs: | |
main: | |
strategy: | |
matrix: | |
include: | |
- python: 3.8 | |
- python: 3.9 | |
- python: '3.10' | |
- python: '3.11' | |
- python: '3.12' | |
- python: '3.13-dev' | |
runs-on: ubuntu-latest | |
name: Python ${{ matrix.python }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: apt update | |
run: | |
sudo apt-get update | |
- name: install APT dependencies | |
run: | |
sudo apt-get install fonts-roboto | |
- name: update PIP | |
run: | |
python -m pip install --upgrade pip | |
- name: install wheel | |
run: | |
python -m pip install --upgrade wheel | |
- name: install package | |
run: | | |
python -m pip install .[dev,mypy] | |
# Bottle still depends on the old `cgi` module removed in Python 3.13, | |
# thus provide it here. | |
# Avoid the additional error: | |
# RuntimeError: 'cgi' was slated for removal after Python 3.13 alpha | |
- name: prepare cgi module (Python 3.13) | |
run: | | |
wget https://github.com/python/cpython/raw/3.12/Lib/cgi.py | |
sed --in-place 's/warnings._deprecated(__name__, remove=(3,13))//' cgi.py | |
if: ${{ matrix.python == '3.13-dev' }} | |
- name: run tests | |
run: | |
python -m unittest discover --verbose --start-directory tests | |
- name: run flake8 | |
run: | |
python -m flake8 --extend-exclude "cgi.py" . | |
- name: run black | |
run: | |
black --check --diff --extend-exclude "cgi.py" . | |
- name: run mypy | |
run: | |
mypy brother_ql_web/ tests/ | |
if: ${{ matrix.python != '3.8' }} | |
- name: codespell | |
run: | |
codespell --skip "*.min.js*,*.min.css*" * .github |