Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/packages/dtaidistance.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@ versions:
gpl-sources:
filename: gpl-sources.tar
description: gcc
- version: 2.5.0
- version: 2.5.1
2 changes: 2 additions & 0 deletions docs/packages/dulwich.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,5 @@ versions:
- filename: dulwich-1.2.13-cp314-cp314t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl
sha256: 7d5165e2fa9fdc4d7bf418c45e52851e251dd71c2b5684af44801f1fdf95afdd
requires-python: '>=3.10'
- version: 1.2.14
- version: 1.2.15
2 changes: 2 additions & 0 deletions docs/packages/fonttools.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,5 @@ versions:
- filename: fonttools-4.63.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
sha256: 5253ce379ebbb63bc99d40849417faac8fb90b966249e9e7e113d3c8fea9f5b3
requires-python: '>=3.10'
- version: 4.64.0
- version: 4.65.0
1 change: 1 addition & 0 deletions docs/packages/frozenlist.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ versions:
requires-python: '>=3.9'
- version: 1.6.1
tag: frozenlist-v1.6.1-20260902125649
yanked: true
patched: true
files:
- filename: frozenlist-1.6.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Expand Down
1 change: 1 addition & 0 deletions docs/packages/granian.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ versions:
- filename: granian-2.8.2-cp314-cp314t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl
sha256: 6be37b2308ef42c43059dde5c1ae75946da9f79cf110b7a150125eb1d8552eab
requires-python: '>=3.10'
- version: 2.8.3
2 changes: 2 additions & 0 deletions docs/packages/grimp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,5 @@ versions:
- filename: grimp-3.15-cp314-cp314t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl
sha256: d06af572dbcdf8990c3140031161367771717ee768e0f2262aef24667d7bac19
requires-python: '>=3.10'
- version: '3.16'
- version: '3.17'
2 changes: 2 additions & 0 deletions docs/packages/grpcio.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ comment: The sources of libatomic are provided for wheels built with gcc-12 only
versions:
- version: 1.72.0
tag: grpcio-v1.72.0-20260902125649
yanked: true
comment: |
`Link <https://gitlab.com/riseproject/python/grpc/-/jobs/10247423921/artifacts/raw/gpl-sources.tar>`__ to
sources of bundled GPL libraries (libatomic)
Expand Down Expand Up @@ -155,3 +156,4 @@ versions:
- filename: grpcio-1.82.2-cp314-cp314-manylinux_2_39_riscv64.whl
sha256: 6e9b270cbea9ea593d9ed2674e802eb9bd18126685ec6ca5aff80a4d007ed6d0
requires-python: '>=3.10'
- version: 1.84.0
5 changes: 5 additions & 0 deletions docs/packages/habluetooth.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,8 @@ versions:
- filename: habluetooth-6.26.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
sha256: adbfcdfc49573c078d5663b12da7ff4fe8e66159e3d7a96b5ff628a5527e4bcd
requires-python: '>=3.11'
- version: 6.26.8
- version: 6.26.9
- version: 6.26.10
- version: 6.26.11
- version: 7.0.0
1 change: 1 addition & 0 deletions docs/packages/hdf5plugin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ versions:
- filename: hdf5plugin-7.0.0-py3-none-manylinux_2_39_riscv64.whl
sha256: 4516f388aec70cf01db4af615eb969abe9ed132acd8387ca56fa5fc7fdd7d196
requires-python: '>=3.9'
- version: 7.1.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ludovic Henry <git@ludovic.dev>
Date: Thu, 27 Aug 2026 00:00:00 +0000
Subject: [PATCH] tests: wait for the UDS server to accept connections

tests/test_uds.py gives the spawned server a flat 1.5s to import granian,
bind its socket and start accepting. That budget holds on upstream's x86
runners and does not on the slower riscv64 ones, where the whole
tests/test_uds.py http section fails before the socket exists:

httpx.ConnectError: [Errno 2] No such file or directory
httpx.ConnectError: [Errno 111] Connection refused

tests/conftest.py already solves this for the TCP tests by retrying the
connection until it succeeds; do the same here. The wait returns as soon
as the socket answers, so faster hardware pays nothing.

Upstream-Status: To upstream [not yet submitted]

Signed-off-by: Ludovic Henry <git@ludovic.dev>
---
diff --git a/tests/test_uds.py b/tests/test_uds.py
index 332a1a0..c2c91ae 100644
--- a/tests/test_uds.py
+++ b/tests/test_uds.py
@@ -1,6 +1,7 @@
import asyncio
import multiprocessing as mp
import os
+import socket
import stat
import sys
from contextlib import asynccontextmanager
@@ -50,7 +51,17 @@ async def _server(

proc = mp.get_context('spawn').Process(target=_serve, kwargs=kwargs)
proc.start()
- await asyncio.sleep(1.5)
+
+ conn_failures = 0
+ while conn_failures < 10:
+ try:
+ await asyncio.sleep(1.5)
+ with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as sock:
+ sock.settimeout(1)
+ sock.connect('granian.sock')
+ break
+ except Exception:
+ conn_failures += 1

try:
yield
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
From 8c130b7a5d83148b552ef600ee1cc795e4823dd2 Mon Sep 17 00:00:00 2001
From: Trevor Gamblin <tgamblin@baylibre.com>
Date: Thu, 13 Aug 2026 13:31:27 -0400
Subject: [PATCH 1/3] don't build grpcio in install_all_python_modules.sh

We run this script in CIBW_TEST_COMMAND to install grpcio's other Python
packages and their test dependencies, but we don't want it to reinstall
grpcio itself from source - we want the test environment to use the
wheel built (and about to be distributed) in this same cibuildwheel
invocation.

This is a rework of the older patches from Mark to handle upstream's
change to using pyproject.toml instead of setup.py.

Upstream-Status: Inappropriate [upstream tests in a different way]

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
---
tools/distrib/install_all_python_modules.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/distrib/install_all_python_modules.sh b/tools/distrib/install_all_python_modules.sh
index 5652580c76..acab4f9d6f 100755
--- a/tools/distrib/install_all_python_modules.sh
+++ b/tools/distrib/install_all_python_modules.sh
@@ -30,7 +30,7 @@ function maybe_run_command () {
}

python3 -m pip install --upgrade "cython==3.1.1";
-python3 -m pip install .;
+#python3 -m pip install .;

# Build and install grpcio_tools
pushd tools/distrib/python/grpcio_tools;
--
2.55.0

67 changes: 67 additions & 0 deletions patches/grpcio/1.84.0/0002-Skip-test_sunny_day.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
From 2613e147f886f7a92f33252acab790daaf4722ee Mon Sep 17 00:00:00 2001
From: Mark Ryan <markdryan@rivosinc.com>
Date: Mon, 3 Nov 2025 09:27:22 +0000
Subject: [PATCH 2/3] Skip test_sunny_day

The test

tests.unit._dynamic_stubs_test.DynamicStubTest.test_sunny_day

seems to be hanging on the riscv64 builders.

Use the nuclear option and strip the test out entirely to ensure no
strange import interactions happen.

Upstream-Status: To upstream [ Further investigation needed ]

Signed-off-by: Mark Ryan <markdryan@rivosinc.com>
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
---
src/python/grpcio_tests/tests/tests.json | 1 -
.../tests/unit/_dynamic_stubs_test.py | 18 ------------------
2 files changed, 19 deletions(-)

diff --git a/src/python/grpcio_tests/tests/tests.json b/src/python/grpcio_tests/tests/tests.json
index 441a0a29fc..5893d11cda 100644
--- a/src/python/grpcio_tests/tests/tests.json
+++ b/src/python/grpcio_tests/tests/tests.json
@@ -60,7 +60,6 @@
"tests.unit._cython.cygrpc_test.SecureServerSecureClient",
"tests.unit._cython.cygrpc_test.TypeSmokeTest",
"tests.unit._dns_resolver_test.DNSResolverTest",
- "tests.unit._dynamic_stubs_test.DynamicStubTest",
"tests.unit._empty_message_test.EmptyMessageTest",
"tests.unit._error_message_encoding_test.ErrorMessageEncodingTest",
"tests.unit._exit_test.ExitTest",
diff --git a/src/python/grpcio_tests/tests/unit/_dynamic_stubs_test.py b/src/python/grpcio_tests/tests/unit/_dynamic_stubs_test.py
index 256fc3026a..a9cec86db5 100644
--- a/src/python/grpcio_tests/tests/unit/_dynamic_stubs_test.py
+++ b/src/python/grpcio_tests/tests/unit/_dynamic_stubs_test.py
@@ -122,24 +122,6 @@ def _test_grpc_tools_unimportable():
_assert_unimplemented("grpcio-tools")


-# NOTE(rbellevi): multiprocessing.Process fails to pickle function objects
-# when they do not come from the "__main__" module, so this test passes
-# if run directly on Windows or MacOS, but not if started by the test runner.
-@unittest.skipIf(
- os.name == "nt" or "darwin" in sys.platform,
- "Windows and MacOS multiprocessing unsupported",
-)
-class DynamicStubTest(unittest.TestCase):
- def test_sunny_day(self):
- _run_in_subprocess(_test_sunny_day)
-
- def test_well_known_types(self):
- _run_in_subprocess(_test_well_known_types)
-
- def test_grpc_tools_unimportable(self):
- _run_in_subprocess(_test_grpc_tools_unimportable)
-
-
if __name__ == "__main__":
logging.basicConfig()
unittest.main(verbosity=2)
--
2.55.0

Loading
Loading