feat: python 3.13 support (#291)
This commit is contained in:
12
.github/workflows/ci.yml
vendored
12
.github/workflows/ci.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-python@v3
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.9"
|
python-version: "3.9"
|
||||||
- uses: pre-commit/action@v2.0.3
|
- uses: pre-commit/action@v2.0.3
|
||||||
@@ -41,6 +41,7 @@ jobs:
|
|||||||
- "3.10"
|
- "3.10"
|
||||||
- "3.11"
|
- "3.11"
|
||||||
- "3.12"
|
- "3.12"
|
||||||
|
- "3.13"
|
||||||
os:
|
os:
|
||||||
- ubuntu-latest
|
- ubuntu-latest
|
||||||
extension:
|
extension:
|
||||||
@@ -56,10 +57,11 @@ jobs:
|
|||||||
- name: Install poetry
|
- name: Install poetry
|
||||||
run: pipx install poetry
|
run: pipx install poetry
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
cache: "poetry"
|
cache: "poetry"
|
||||||
|
allow-prereleases: true
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
if [ "${{ matrix.extension }}" = "skip_cython" ]; then
|
if [ "${{ matrix.extension }}" = "skip_cython" ]; then
|
||||||
@@ -107,7 +109,7 @@ jobs:
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04]
|
os: [ubuntu-latest]
|
||||||
arch:
|
arch:
|
||||||
- "x86_64"
|
- "x86_64"
|
||||||
- "aarch64"
|
- "aarch64"
|
||||||
@@ -126,7 +128,7 @@ jobs:
|
|||||||
|
|
||||||
# Used to host cibuildwheel
|
# Used to host cibuildwheel
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
|
|
||||||
- name: Install python-semantic-release
|
- name: Install python-semantic-release
|
||||||
run: python -m pip install python-semantic-release==7.34.6
|
run: python -m pip install python-semantic-release==7.34.6
|
||||||
@@ -143,7 +145,7 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Install cibuildwheel
|
- name: Install cibuildwheel
|
||||||
run: python -m pip install cibuildwheel==2.19.1
|
run: python -m pip install cibuildwheel==2.20.0
|
||||||
|
|
||||||
- name: Build wheels
|
- name: Build wheels
|
||||||
run: python -m cibuildwheel --output-dir wheelhouse
|
run: python -m cibuildwheel --output-dir wheelhouse
|
||||||
|
|||||||
@@ -13,6 +13,11 @@ classifiers = [
|
|||||||
"Natural Language :: English",
|
"Natural Language :: English",
|
||||||
"Operating System :: OS Independent",
|
"Operating System :: OS Independent",
|
||||||
"Topic :: Software Development :: Libraries",
|
"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 = [
|
packages = [
|
||||||
{ include = "dbus_fast", from = "src" },
|
{ include = "dbus_fast", from = "src" },
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ async def test_aio_proxy_object():
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(
|
@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)
|
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
|
||||||
def test_glib_proxy_object():
|
def test_glib_proxy_object():
|
||||||
|
|||||||
@@ -97,7 +97,8 @@ async def test_aio_properties():
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(
|
@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)
|
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
|
||||||
def test_glib_properties():
|
def test_glib_properties():
|
||||||
|
|||||||
@@ -47,7 +47,8 @@ async def test_aio_big_message():
|
|||||||
|
|
||||||
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
|
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
|
||||||
@pytest.mark.skipif(
|
@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():
|
def test_glib_big_message():
|
||||||
"this tests that nonblocking reads and writes actually work for glib"
|
"this tests that nonblocking reads and writes actually work for glib"
|
||||||
|
|||||||
@@ -14,7 +14,8 @@ if has_gi:
|
|||||||
|
|
||||||
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
|
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
|
||||||
@pytest.mark.skipif(
|
@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():
|
def test_standard_interfaces():
|
||||||
bus = MessageBus().connect_sync()
|
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(not has_gi, reason=skip_reason_no_gi)
|
||||||
@pytest.mark.skipif(
|
@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():
|
def test_sending_messages_between_buses():
|
||||||
bus1 = MessageBus().connect_sync()
|
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(not has_gi, reason=skip_reason_no_gi)
|
||||||
@pytest.mark.skipif(
|
@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():
|
def test_sending_signals_between_buses():
|
||||||
bus1 = MessageBus().connect_sync()
|
bus1 = MessageBus().connect_sync()
|
||||||
|
|||||||
@@ -71,7 +71,8 @@ async def test_name_requests():
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(
|
@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)
|
@pytest.mark.skipif(not has_gi, reason=skip_reason_no_gi)
|
||||||
def test_request_name_glib():
|
def test_request_name_glib():
|
||||||
|
|||||||
Reference in New Issue
Block a user