[stable-10] CI: Add Python 3.14 unit tests (#10511) (#10517)

* CI: Add Python 3.14 unit tests (#10511)

* Add Python 3.14 unit tests.

* Skip test if github cannot be imported.

It currently cannot be imported because nacl isn't compatible with Python 3.14 yet,
and importing github indirectly tries to import nacl, which fails as it uses a
type from typing that got removed in 3.14.

* Skip test if paramiko cannot be imported.

(cherry picked from commit 6ce9f805a8)

* Skip proxmox connection test if paramiko cannot be imported.
This commit is contained in:
Felix Fontein 2025-07-30 06:53:42 +02:00 committed by GitHub
commit e550a0f58f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 11 additions and 1 deletions

View file

@ -137,7 +137,7 @@ stages:
- test: '3.11'
- test: '3.12'
- test: '3.13'
# - test: '3.14'
- test: '3.14'
- stage: Units_2_19
displayName: Units 2.19
dependsOn: []

View file

@ -22,6 +22,9 @@ from pathlib import Path
from unittest.mock import patch, MagicMock, mock_open
pytest.importorskip('paramiko')
@pytest.fixture
def connection():
play_context = PlayContext()

View file

@ -20,6 +20,9 @@ from pathlib import Path
from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import patch, MagicMock, mock_open
pytest.importorskip('paramiko')
@pytest.fixture
def connection():
play_context = PlayContext()

View file

@ -8,6 +8,7 @@ __metaclass__ = type
import re
import json
import sys
import pytest
from httmock import with_httmock, urlmatch, response
from ansible_collections.community.internal_test_tools.tests.unit.compat import unittest
from ansible_collections.community.general.plugins.modules import github_repo
@ -15,6 +16,9 @@ from ansible_collections.community.general.plugins.modules import github_repo
GITHUB_MINIMUM_PYTHON_VERSION = (2, 7)
pytest.importorskip('github')
@urlmatch(netloc=r'.*')
def debug_mock(url, request):
print(request.original.__dict__)