feat: python 3.13 support (#291)

This commit is contained in:
J. Nick Koston 2024-08-21 07:19:07 -05:00 committed by GitHub
parent 705ad28ce7
commit 45c0e7491d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 25 additions and 12 deletions

View File

@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- uses: actions/setup-python@v5
with:
python-version: "3.9"
- uses: pre-commit/action@v2.0.3
@ -41,6 +41,7 @@ jobs:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
os:
- ubuntu-latest
extension:
@ -56,10 +57,11 @@ jobs:
- name: Install poetry
run: pipx install poetry
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "poetry"
allow-prereleases: true
- name: Install Dependencies
run: |
if [ "${{ matrix.extension }}" = "skip_cython" ]; then
@ -107,7 +109,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04]
os: [ubuntu-latest]
arch:
- "x86_64"
- "aarch64"
@ -126,7 +128,7 @@ jobs:
# Used to host cibuildwheel
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
- name: Install python-semantic-release
run: python -m pip install python-semantic-release==7.34.6
@ -143,7 +145,7 @@ jobs:
fetch-depth: 0
- name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.19.1
run: python -m pip install cibuildwheel==2.20.0
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse

View File

@ -13,6 +13,11 @@ classifiers = [
"Natural Language :: English",
"Operating System :: OS Independent",
"Topic :: Software Development :: Libraries",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
packages = [
{ include = "dbus_fast", from = "src" },

View File

@ -126,7 +126,7 @@ async def test_aio_proxy_object():
@pytest.mark.skipif(
sys.version_info[:3][1] in (10, 11, 12), reason="segfaults on py3.10/py3.11"
sys.version_info[:3][1] in (10, 11, 12, 13), reason="segfaults on py3.10/py3.11"
)
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
def test_glib_proxy_object():

View File

@ -97,7 +97,8 @@ async def test_aio_properties():
@pytest.mark.skipif(
sys.version_info[:3][1] in (10, 11, 12), reason="segfaults on py3.10,py3.11,py3.12"
sys.version_info[:3][1] in (10, 11, 12, 13),
reason="segfaults on py3.10,py3.11,py3.12,py3.13",
)
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
def test_glib_properties():

View File

@ -47,7 +47,8 @@ async def test_aio_big_message():
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
@pytest.mark.skipif(
sys.version_info[:3][1] in (10, 11, 12), reason="segfaults on py3.10,py3.11,py3.12"
sys.version_info[:3][1] in (10, 11, 12, 13),
reason="segfaults on py3.10,py3.11,py3.12,py3.13",
)
def test_glib_big_message():
"this tests that nonblocking reads and writes actually work for glib"

View File

@ -14,7 +14,8 @@ if has_gi:
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
@pytest.mark.skipif(
sys.version_info[:3][1] in (10, 11, 12), reason="segfaults on py3.10,py3.11,py3.12"
sys.version_info[:3][1] in (10, 11, 12, 13),
reason="segfaults on py3.10,py3.11,py3.12,py3.13",
)
def test_standard_interfaces():
bus = MessageBus().connect_sync()
@ -57,7 +58,8 @@ def test_standard_interfaces():
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
@pytest.mark.skipif(
sys.version_info[:3][1] in (10, 11, 12), reason="segfaults on py3.10,py3.11,py3.12"
sys.version_info[:3][1] in (10, 11, 12, 13),
reason="segfaults on py3.10,py3.11,py3.12,py3.13",
)
def test_sending_messages_between_buses():
bus1 = MessageBus().connect_sync()
@ -127,7 +129,8 @@ def test_sending_messages_between_buses():
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
@pytest.mark.skipif(
sys.version_info[:3][1] in (10, 11, 12), reason="segfaults on py3.10,py3.11,py3.12"
sys.version_info[:3][1] in (10, 11, 12, 13),
reason="segfaults on py3.10,py3.11,py3.12,py3.13",
)
def test_sending_signals_between_buses():
bus1 = MessageBus().connect_sync()

View File

@ -71,7 +71,8 @@ async def test_name_requests():
@pytest.mark.skipif(
sys.version_info[:3][1] in (10, 11, 12), reason="segfaults on py3.10,py3.11,py3.12"
sys.version_info[:3][1] in (10, 11, 12, 13),
reason="segfaults on py3.10,py3.11,py3.12,py3.13",
)
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
def test_request_name_glib():