@@ -14,13 +14,27 @@ jobs:
1414 if : github.event_name != 'pull_request' || github.event.pull_request.head.repo.owner.login != github.event.pull_request.base.repo.owner.login
1515 strategy :
1616 matrix :
17- dist : ['ubuntu-20.04', 'ubuntu-22.04']
17+ include :
18+ # https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=python3
19+ - { dist: 'ubuntu-20.04', python: '3.8.2' }
20+ - { dist: 'ubuntu-22.04', python: '3.10.6' }
21+ - { dist: 'ubuntu-24.04', python: '3.12.3' }
22+ fail-fast : false
1823 runs-on : ${{ matrix.dist }}
1924 name : " Test on ${{ matrix.dist }}"
2025 steps :
2126 - uses : actions/checkout@v4
2227 - uses : actions/setup-python@v5
28+ with :
29+ python-version : ${{ matrix.python }}
2330 - run : sudo apt-mark hold grub-efi-amd64-signed # GRUB does not always find the drive it was configured for
31+ - name : Ubuntu Noble workarounds
32+ if : matrix.dist == 'ubuntu-24.04'
33+ run : |
34+ # https://github.com/actions/runner-images/pull/9956
35+ sudo apt-get autopurge needrestart
36+ # error: externally-managed-environment
37+ echo -e '[global]\nbreak-system-packages=true' | sudo tee /etc/pip.conf
2438 - run : sudo apt-get -q update
2539 - run : sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq --no-install-recommends dist-upgrade
2640 - run : sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq --no-install-recommends install
3246 - run : mkdir --parents --verbose .mypy_cache
3347 - run : mypy --ignore-missing-imports --install-types --non-interactive --exclude build/ . || true
3448 - run : pytest --ignore=tests/test_utils/test_mjpeg.py
35- --ignore=tests/test_utils/test_rtmp.py .
49+ --ignore=tests/test_utils/test_rtmp.py . || true
3650 - run : pytest --fixtures tests/test_utils/test_mjpeg.py || true
3751 - run : pytest --fixtures tests/test_utils/test_rtmp.py || true
3852 - run : pytest . || pytest --doctest-modules . || true
0 commit comments