Skip to content

Github Actions: add Python 3.13 #39

Github Actions: add Python 3.13

Github Actions: add Python 3.13 #39

Workflow file for this run

name: Python tests
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
aiohttp-version: ['3.7.4', '3.8.6', '3.9.5', '3.11.9']
exclude:
- python-version: '3.12'
aiohttp-version: '3.8.6'
# aiohttp/_websocket.c:3042:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
- python-version: '3.10'
aiohttp-version: '3.7.4'
# File "/opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/aiohttp/web.py", line 444, in _cancel_tasks
# asyncio.gather(*to_cancel, loop=loop, return_exceptions=True)
# TypeError: gather() got an unexpected keyword argument 'loop'
- python-version: '3.11'
aiohttp-version: '3.7.4'
# Same reason as above
- python-version: '3.12'
aiohttp-version: '3.7.4'
# Same reason as above
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Update pip
run: |
python -m pip install --upgrade pip
- name: Install aiohttp ${{ matrix.aiohttp-version }}
run: |
pip install aiohttp==${{ matrix.aiohttp-version }}
- name: Lint with flake8
run: |
pip install flake8
# Stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# Run linter; use configuration from file .flake8
flake8 . --count --statistics
- name: Install the project
run: |
python -m pip install .
- name: Install pytest
run: |
pip install pytest
- name: Test with pytest
run: |
pytest -vv tests