@@ -15,11 +15,17 @@ jobs:
1515 strategy :
1616 matrix :
1717 include :
18+ # Tests with oldest Python version able to build the project on oldest available runner images
19+ - { dist: 'ubuntu-22.04', python: '3.9' }
20+ - { dist: 'ubuntu-22.04-arm', python: '3.9' }
1821 # https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=python3
1922 - { dist: 'ubuntu-22.04', python: '3.10.6' }
2023 - { dist: 'ubuntu-24.04', python: '3.12.3' }
24+ # No Python 3.14 supported for ubuntu-26.04 runners yet: https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json
25+ - { dist: 'ubuntu-24.04', python: '3.14.3' }
2126 - { dist: 'ubuntu-22.04-arm', python: '3.10.6' }
2227 - { dist: 'ubuntu-24.04-arm', python: '3.12.3' }
28+ - { dist: 'ubuntu-24.04-arm', python: '3.14.3' }
2329 fail-fast : false
2430 runs-on : ${{ matrix.dist }}
2531 name : " Test on ${{ matrix.dist }}"
@@ -30,10 +36,10 @@ jobs:
3036 # error: externally-managed-environment
3137 echo -e '[global]\nbreak-system-packages=true' | sudo tee /etc/pip.conf
3238 # ERROR: Cannot uninstall pip 24.0, RECORD file not found. Hint: The package was installed by debian.
33- - run : sudo DEBIAN_FRONTEND=" noninteractive" apt-get -qq autopurge python3-pip python3-setuptools python3-wheel
39+ - run : sudo DEBIAN_FRONTEND=' noninteractive' apt-get -qq autopurge python3-pip python3-setuptools python3-wheel
3440 - run : sudo apt-get -q update
35- - run : sudo DEBIAN_FRONTEND=" noninteractive" apt-get -qq --no-install-recommends install curl ffmpeg motion v4l-utils
36- - uses : actions/checkout@v6
41+ - run : sudo DEBIAN_FRONTEND=' noninteractive' apt-get -qq --no-install-recommends install curl ffmpeg motion v4l-utils
42+ - uses : actions/checkout@v7
3743 - uses : actions/setup-python@v6
3844 with :
3945 python-version : ${{ matrix.python }}
4248 - run : python3 -m build
4349 - run : python3 -m pip install .
4450 - run : mkdir --parents --verbose .mypy_cache
45- - run : mypy --ignore-missing-imports --install-types --non-interactive --exclude build/ . || true
46- - run : pytest --ignore=tests/test_utils/test_mjpeg.py
47- --ignore=tests/test_utils/test_rtmp.py . || true
48- - run : pytest --fixtures tests/test_utils/test_mjpeg.py || true
49- - run : pytest --fixtures tests/test_utils/test_rtmp.py || true
50- - run : pytest . || pytest --doctest-modules . || true
51+ - run : mypy --ignore-missing-imports --install-types --non-interactive --exclude build/ .
52+ - run : pytest
0 commit comments