From 7b1c40387f344a52d811c705d74a1fb03cb906b2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 26 Oct 2026 17:21:08 +0000 Subject: [PATCH 1/6] chore(deps): update dependency python-315 to v3.15.2 --- UPSTREAM_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UPSTREAM_VERSION b/UPSTREAM_VERSION index f02113f..861845e 100644 --- a/UPSTREAM_VERSION +++ b/UPSTREAM_VERSION @@ -1 +1 @@ -3.15.0 +3.15.2 From 7a8e71f3c0733a9e0a710bf2eecea4112bb46a0b Mon Sep 17 00:00:00 2001 From: Amitai Schleier Date: Mon, 26 Oct 2026 15:31:45 -0400 Subject: [PATCH 2/6] test: follow 3.15.1's test_cext renames in the known failures 3.15.1 folded test_cppext into test_cext and renamed the classes (TestInteralCAPI/TestPublicCAPI -> TestInternalC/TestInternalCpp/ TestPublicC/TestPublicCpp), and added TestPublicCpp.test_build_abi3t. Also declare 10.9's test_asyncio.test_events flaky in the VM: one 3.15.2 run timed out in test_subprocess_terminate. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01VP7EaaZQ11wfcwcJXrT9mz --- tests/known-failures/arm64.txt | 27 +++++++++++++------------ tests/known-failures/x86_64-10.9.txt | 30 +++++++++++++++------------- 2 files changed, 30 insertions(+), 27 deletions(-) diff --git a/tests/known-failures/arm64.txt b/tests/known-failures/arm64.txt index 8602bda..508562a 100644 --- a/tests/known-failures/arm64.txt +++ b/tests/known-failures/arm64.txt @@ -1,13 +1,14 @@ -nocompiler: test_cext.TestInteralCAPI.test_build # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) -nocompiler: test_cext.TestPublicCAPI.test_build # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) -nocompiler: test_cext.TestPublicCAPI.test_build_abi3t # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) -nocompiler: test_cext.TestPublicCAPI.test_build_c11 # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) -nocompiler: test_cext.TestPublicCAPI.test_build_c99 # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) -nocompiler: test_cext.TestPublicCAPI.test_build_limited # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) -nocompiler: test_cext.TestPublicCAPI.test_build_limited_c11 # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) -nocompiler: test_cppext.TestInteralCAPI.test_build # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22-cross/bin/clang++ (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) -nocompiler: test_cppext.TestPublicCAPI.test_build # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22-cross/bin/clang++ (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) -nocompiler: test_cppext.TestPublicCAPI.test_build_cpp03 # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22-cross/bin/clang++ (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) -nocompiler: test_cppext.TestPublicCAPI.test_build_cpp11 # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22-cross/bin/clang++ (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) -nocompiler: test_cppext.TestPublicCAPI.test_build_limited # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22-cross/bin/clang++ (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) -nocompiler: test_cppext.TestPublicCAPI.test_build_limited_cpp03 # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22-cross/bin/clang++ (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestInternalC.test_build # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestPublicC.test_build # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestPublicC.test_build_abi3t # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestPublicC.test_build_c11 # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestPublicC.test_build_c99 # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestPublicC.test_build_limited # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestPublicC.test_build_limited_c11 # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22-cross/bin/clang (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestInternalCpp.test_build # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22-cross/bin/clang++ (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestPublicCpp.test_build # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22-cross/bin/clang++ (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestPublicCpp.test_build_cpp03 # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22-cross/bin/clang++ (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestPublicCpp.test_build_cpp11 # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22-cross/bin/clang++ (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestPublicCpp.test_build_limited # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22-cross/bin/clang++ (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestPublicCpp.test_build_limited_cpp03 # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22-cross/bin/clang++ (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) +nocompiler: test_cext.TestPublicCpp.test_build_abi3t # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22-cross/bin/clang++ (the clang22-cross pkg), and its -isysroot, the 11.3 SDK at /usr/local/mavergreen/sdk113/SDKs/MacOSX11.3.sdk (longboat install 11.3) diff --git a/tests/known-failures/x86_64-10.9.txt b/tests/known-failures/x86_64-10.9.txt index a95e9e0..e65a8fe 100644 --- a/tests/known-failures/x86_64-10.9.txt +++ b/tests/known-failures/x86_64-10.9.txt @@ -22,19 +22,21 @@ stage: test_venv.EnsurePipTest.test_explicit_no_pip # run from a stage: a venv' stage: test_venv.EnsurePipTest.test_no_pip_by_default # run from a stage: a venv's copied interpreter finds libpython through the fallback rpath /usr/local/mavergreen/python315/lib, which a stage is not at stage: test_venv.EnsurePipTest.test_with_pip # run from a stage: a venv's copied interpreter finds libpython through the fallback rpath /usr/local/mavergreen/python315/lib, which a stage is not at ignore: test_tarfile.TestExtractionFilters.test_realpath_limit_attack # on 10.9 it builds a tree deeper than PATH_MAX that Python cannot delete without the *at() functions, which crashes regrtest's worker and stops the run. Revisit when Recaulk's linkat() no longer returns EINVAL and python-315 is built without CPython's macOS availability guards for Recaulk's back-fills, so shutil.rmtree uses its fd-based implementation. -nocompiler: test_cext.TestInteralCAPI.test_build # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) -nocompiler: test_cext.TestPublicCAPI.test_build # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) -nocompiler: test_cext.TestPublicCAPI.test_build_abi3t # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) -nocompiler: test_cext.TestPublicCAPI.test_build_c11 # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) -nocompiler: test_cext.TestPublicCAPI.test_build_c99 # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) -nocompiler: test_cext.TestPublicCAPI.test_build_limited # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) -nocompiler: test_cext.TestPublicCAPI.test_build_limited_c11 # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) -nocompiler: test_cppext.TestInteralCAPI.test_build # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) -nocompiler: test_cppext.TestPublicCAPI.test_build # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) -nocompiler: test_cppext.TestPublicCAPI.test_build_cpp03 # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) -nocompiler: test_cppext.TestPublicCAPI.test_build_intel_asm # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) -nocompiler: test_cppext.TestPublicCAPI.test_build_cpp11 # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) -nocompiler: test_cppext.TestPublicCAPI.test_build_limited # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) -nocompiler: test_cppext.TestPublicCAPI.test_build_limited_cpp03 # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestInternalC.test_build # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestPublicC.test_build # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestPublicC.test_build_abi3t # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestPublicC.test_build_c11 # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestPublicC.test_build_c99 # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestPublicC.test_build_limited # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestPublicC.test_build_limited_c11 # builds a C extension in a venv with sysconfig's CC, /usr/local/mavergreen/clang22/bin/clang (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestInternalCpp.test_build # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestPublicCpp.test_build # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestPublicCpp.test_build_cpp03 # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestPublicCpp.test_build_intel_asm # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestPublicCpp.test_build_cpp11 # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestPublicCpp.test_build_limited # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestPublicCpp.test_build_limited_cpp03 # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) +nocompiler: test_cext.TestPublicCpp.test_build_abi3t # builds a C++ extension in a venv with sysconfig's CXX, /usr/local/mavergreen/clang22/bin/clang++ (the clang22 pkg), and its -isysroot, the 10.9 SDK at /usr/local/mavergreen/sdk109/SDKs/MacOSX10.9.sdk (longboat install 10.9) flaky: test_multiprocessing_spawn.test_processes # in the 10.9 VM (4 CPUs, load 12) WithProcessesTestPool.test_async_timeout hung until regrtest's 10-minute timeout once in four runs (39135914768); a VM scheduling stall, not a 10.9 behaviour: it passed on the 10.9 box and in the other VM runs flaky: test_socket.CreateServerFunctionalTest.test_dual_stack_client_v4 # on a busy host the port the test picks as free can be taken before it binds (EADDRINUSE, the 10.9 box during another gate, 2026-10-18); it passed three times in three on its own +flaky: test_asyncio.test_events # in the 10.9 VM (load 13+) KqueueEventLoopTests.test_subprocess_terminate hung in the waitpid thread until regrtest's 10-minute timeout once in five 3.15.2 runs (40318050646); a VM scheduling stall, not a 10.9 behaviour: it passed in the other runs From 795a7f015cad6edfd89b52d8a61f8a2ed145b451 Mon Sep 17 00:00:00 2001 From: Amitai Schleier Date: Mon, 26 Oct 2026 22:27:15 -0400 Subject: [PATCH 3/6] ci: give the 10.9 VM 3 vCPUs and regrtest -j3 The runner has 4 vCPUs. Giving all 4 to the guest, with regrtest's -j0 (CPUs + 2 workers), drove load to 20-27, and each run a different multiprocessing test missed its timeout (test_killed_child, test_multiprocessing_main_handling, WithProcessesTestConnection). Leave QEMU a vCPU, and add REGRTEST_JOBS so the VM can match -j to it. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01VP7EaaZQ11wfcwcJXrT9mz --- .github/workflows/release.yml | 6 ++++-- tests/regrtest-test.sh | 5 +++++ tests/regrtest.sh | 10 ++++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 23bcdbe..4b33414 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -321,7 +321,9 @@ jobs: with: image-key: ${{ secrets.MAVERICKS_VM_KEY }} envs: PY_VERSION - cpu: '4' + # 3 of the runner's 4 vCPUs, leaving one to QEMU's own threads; at 4, with regrtest's -j0, + # load reached 20-27 and a different multiprocessing test missed its timeout each run. + cpu: '3' mem: '8192' run: | sw_vers @@ -330,7 +332,7 @@ jobs: PY_STAGE=/ sh tests/smoke-runtime.sh PY_STAGE=/ sh tests/family-site-test.sh sudo tar -xzof "dist/python-$PY_VERSION-tests.tar.gz" -C /usr/local/mavergreen/python315 - sh -c 'REGRTEST_CONTEXT=installed sh tests/regrtest.sh /usr/local/mavergreen/python315/bin/python3.15 tests/known-failures/x86_64-10.9.txt; echo $? > regrtest.rc' 2>&1 \ + sh -c 'REGRTEST_CONTEXT=installed REGRTEST_JOBS=3 sh tests/regrtest.sh /usr/local/mavergreen/python315/bin/python3.15 tests/known-failures/x86_64-10.9.txt; echo $? > regrtest.rc' 2>&1 \ | tee regrtest-x86_64-10.9.log exit "$(cat regrtest.rc)" - uses: actions/upload-artifact@v7 diff --git a/tests/regrtest-test.sh b/tests/regrtest-test.sh index c625129..2d8ab72 100644 --- a/tests/regrtest-test.sh +++ b/tests/regrtest-test.sh @@ -32,6 +32,11 @@ says '^PASS: regrtest (stage): 5 failing tests' "exact match" echo "FAIL the suite ran as: $(cat "$t/args")"; exit 1; } [ "$(cat "$t/args.0")" = "$(cd -P "$t" && pwd -P)/python" ] || { echo "FAIL ran $(cat "$t/args.0"), not the python by its physical path (unittest's discovery tests fail under a symlinked prefix such as /var)"; exit 1; } +(REGRTEST_JOBS=3 run "$fx/failure.log" 2) || { echo "FAIL REGRTEST_JOBS=3: $(cat "$t/out")"; exit 1; } +[ "$(cat "$t/args")" = "-m test -j3 -W --timeout 600 -uall,-network,-gui,-audio,-largefile" ] || { + echo "FAIL REGRTEST_JOBS=3 ran the suite as: $(cat "$t/args")"; exit 1; } +rc=0; (REGRTEST_JOBS=lots run "$fx/failure.log" 2) || rc=$? +[ "$rc" -eq 2 ] || { echo "FAIL REGRTEST_JOBS=lots exited $rc, not 2"; exit 1; } grep -v test_name_resolution "$all" > "$t/known" if run "$fx/failure.log" 2; then echo "FAIL an unlisted failure passed"; exit 1; fi diff --git a/tests/regrtest.sh b/tests/regrtest.sh index 483ff65..0243670 100644 --- a/tests/regrtest.sh +++ b/tests/regrtest.sh @@ -1,6 +1,6 @@ #!/bin/sh # platform: macOS-only -- runs the product's python, which is a macOS build -# usage: [REGRTEST_CONTEXT=stage|installed] tests/regrtest.sh +# usage: [REGRTEST_CONTEXT=stage|installed] [REGRTEST_JOBS=] tests/regrtest.sh # Runs CPython's regression suite with , by its physical path, with every resource but # network, gui, audio and largefile (largefile writes multi-GB files). It passes only when the # tests that fail are exactly the ones lists, one per line: @@ -17,6 +17,8 @@ # REGRTEST_CONTEXT defaults to installed when 's prefix is its configured prefix (the # parent of sysconfig's LIBDIR; sysconfig's own `prefix` follows sys.prefix), else stage. A stage run refuses a host where the configured prefix exists: a stage's copied venv # interpreters would load that installed libpython through python3.15's fallback rpath. +# REGRTEST_JOBS is regrtest's -j, default 0 (CPUs + 2). A guest whose vCPUs are all its host's +# has none to spare for that, and its multiprocessing tests miss their timeouts. # Exits 77 when given no arguments. set -eu fail() { echo "FAIL: $*"; exit 1; } @@ -50,6 +52,10 @@ case "${REGRTEST_CONTEXT:-}" in stage | installed) context="$REGRTEST_CONTEXT" ;; *) echo "REGRTEST_CONTEXT is $REGRTEST_CONTEXT, not stage or installed" >&2; exit 2 ;; esac +jobs="${REGRTEST_JOBS:-0}" +case "$jobs" in + "" | *[!0-9]*) echo "REGRTEST_JOBS is $jobs, not a number" >&2; exit 2 ;; +esac if [ "$context" = stage ] && [ -n "$installed_prefix" ] && [ "$real_prefix" != "$installed_prefix" ]; then fail "a stage run on a host where $config_prefix is installed tests that installed libpython in its copied venvs; run it on a host without $config_prefix, or against the installed tree" fi @@ -83,7 +89,7 @@ else fi cd "$t" -{ rc=0; "$py" -m test -j0 -W --timeout 600 -uall,-network,-gui,-audio,-largefile "$@" || rc=$?; echo "$rc" > "$t/rc"; } 2>&1 | tee "$t/log" +{ rc=0; "$py" -m test -j"$jobs" -W --timeout 600 -uall,-network,-gui,-audio,-largefile "$@" || rc=$?; echo "$rc" > "$t/rc"; } 2>&1 | tee "$t/log" [ -s "$t/rc" ] || fail "the suite exited without reporting a status" rc="$(cat "$t/rc")" From 89f682d2985c5c34540ec2e548fa115d94001405 Mon Sep 17 00:00:00 2001 From: Amitai Schleier Date: Tue, 27 Oct 2026 02:27:56 -0400 Subject: [PATCH 4/6] ci: give the 10.9 VM 2 vCPUs, not 3, and regrtest -j2 At 3 vCPUs 10.9 never got past OpenCore and SSH never answered (40438516884). 2 is the mavericks-vm Action's default. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01VP7EaaZQ11wfcwcJXrT9mz --- .github/workflows/release.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4b33414..196b18f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -321,9 +321,10 @@ jobs: with: image-key: ${{ secrets.MAVERICKS_VM_KEY }} envs: PY_VERSION - # 3 of the runner's 4 vCPUs, leaving one to QEMU's own threads; at 4, with regrtest's -j0, - # load reached 20-27 and a different multiprocessing test missed its timeout each run. - cpu: '3' + # 2 of the runner's 4 vCPUs, the Action's default. At 4, with regrtest's -j0, load reached + # 20-27 and a different multiprocessing test missed its timeout each run; at 3, 10.9 never + # got past OpenCore (40438516884). + cpu: '2' mem: '8192' run: | sw_vers @@ -332,7 +333,7 @@ jobs: PY_STAGE=/ sh tests/smoke-runtime.sh PY_STAGE=/ sh tests/family-site-test.sh sudo tar -xzof "dist/python-$PY_VERSION-tests.tar.gz" -C /usr/local/mavergreen/python315 - sh -c 'REGRTEST_CONTEXT=installed REGRTEST_JOBS=3 sh tests/regrtest.sh /usr/local/mavergreen/python315/bin/python3.15 tests/known-failures/x86_64-10.9.txt; echo $? > regrtest.rc' 2>&1 \ + sh -c 'REGRTEST_CONTEXT=installed REGRTEST_JOBS=2 sh tests/regrtest.sh /usr/local/mavergreen/python315/bin/python3.15 tests/known-failures/x86_64-10.9.txt; echo $? > regrtest.rc' 2>&1 \ | tee regrtest-x86_64-10.9.log exit "$(cat regrtest.rc)" - uses: actions/upload-artifact@v7 From 906363eef9b59bdac2e4cab88e495e4440980dde Mon Sep 17 00:00:00 2001 From: Amitai Schleier Date: Tue, 27 Oct 2026 03:39:11 -0400 Subject: [PATCH 5/6] ci: run arm64's regrtest one worker per core, -j3 macos-26 has 3 cores; -j0's 5 workers drove load to 53 and ProcessPoolForkserverProcessPoolExecutorTest lost a child's traceback (40461269939). The same starvation the 10.9 VM had. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01VP7EaaZQ11wfcwcJXrT9mz --- .github/workflows/release.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 196b18f..07a867e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -293,7 +293,9 @@ jobs: - name: Regression suite, installed, arm64 run: | set -eu -o pipefail - REGRTEST_CONTEXT=installed sh tests/regrtest.sh /usr/local/mavergreen/python315/bin/python3.15 \ + # One worker per core of macos-26's 3: at -j0's 5, load reached 53 and a process-pool test + # lost its child's traceback (40461269939). + REGRTEST_CONTEXT=installed REGRTEST_JOBS=3 sh tests/regrtest.sh /usr/local/mavergreen/python315/bin/python3.15 \ tests/known-failures/arm64.txt 2>&1 | tee "$RUNNER_TEMP/regrtest-arm64.log" - uses: actions/upload-artifact@v7 if: failure() From aa1912fa51080ce194281720bca53eaf744d9b2a Mon Sep 17 00:00:00 2001 From: Amitai Schleier Date: Tue, 27 Oct 2026 06:02:01 -0400 Subject: [PATCH 6/6] ci: cite platform: on the regrtest parallelism comments Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01VP7EaaZQ11wfcwcJXrT9mz --- .github/workflows/release.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 07a867e..1cbaa76 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -293,8 +293,8 @@ jobs: - name: Regression suite, installed, arm64 run: | set -eu -o pipefail - # One worker per core of macos-26's 3: at -j0's 5, load reached 53 and a process-pool test - # lost its child's traceback (40461269939). + # platform: macos-26 has 3 cores. At -j0's 5 workers, load reached 53 and a process-pool + # test lost its child's traceback (40461269939), so one worker per core. REGRTEST_CONTEXT=installed REGRTEST_JOBS=3 sh tests/regrtest.sh /usr/local/mavergreen/python315/bin/python3.15 \ tests/known-failures/arm64.txt 2>&1 | tee "$RUNNER_TEMP/regrtest-arm64.log" - uses: actions/upload-artifact@v7 @@ -323,9 +323,9 @@ jobs: with: image-key: ${{ secrets.MAVERICKS_VM_KEY }} envs: PY_VERSION - # 2 of the runner's 4 vCPUs, the Action's default. At 4, with regrtest's -j0, load reached - # 20-27 and a different multiprocessing test missed its timeout each run; at 3, 10.9 never - # got past OpenCore (40438516884). + # platform: ubuntu-latest has 4 vCPUs. Given all 4, with regrtest's -j0, the guest reached + # load 20-27 and a different multiprocessing test missed its timeout each run; given + # 3, 10.9 never got past OpenCore (40438516884). 2 is the Action's default. cpu: '2' mem: '8192' run: |