Skip to content

Commit 300ddf6

Browse files
authored
Merge branch 'main' into thread-hang-memory
2 parents dfb556b + 757e2ff commit 300ddf6

File tree

425 files changed

+10145
-5685
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

425 files changed

+10145
-5685
lines changed

.github/CODEOWNERS

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,9 @@ Tools/c-analyzer/ @ericsnowcurrently
132132
Tools/check-c-api-docs/ @ZeroIntensity
133133

134134
# Fuzzing
135-
Modules/_xxtestfuzz/ @ammaraskar
135+
Modules/_xxtestfuzz/ @python/fuzzers
136+
Lib/test/test_xxtestfuzz.py @python/fuzzers
137+
.github/workflows/reusable-cifuzz.yml @python/fuzzers
136138

137139
# Limited C API & Stable ABI
138140
Doc/c-api/stable.rst @encukou
@@ -260,33 +262,33 @@ Include/pyhash.h @gpshead @picnixz
260262
Python/pyhash.c @gpshead @picnixz
261263

262264
# The import system (including importlib)
263-
**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw
264-
Python/import.c @brettcannon @ericsnowcurrently @ncoghlan @warsaw @kumaraditya303
265+
**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00
266+
Python/import.c @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00 @kumaraditya303
265267
**/*freeze* @ericsnowcurrently
266268
**/*frozen* @ericsnowcurrently
267269
**/*modsupport* @ericsnowcurrently
268-
**/*modulefinder* @ericsnowcurrently
270+
**/*modulefinder* @ericsnowcurrently @FFY00
269271
**/*moduleobject* @ericsnowcurrently
270272
**/*multiphase* @ericsnowcurrently
271-
**/*pkgutil* @ericsnowcurrently
273+
**/*pkgutil* @ericsnowcurrently @FFY00
272274
**/*pythonrun* @ericsnowcurrently
273-
**/*runpy* @ericsnowcurrently
275+
**/*runpy* @ericsnowcurrently @FFY00
274276
**/*singlephase* @ericsnowcurrently
275277
Doc/c-api/module.rst @ericsnowcurrently
276278
Lib/test/test_module/ @ericsnowcurrently
277-
Python/dynload_*.c @ericsnowcurrently
279+
Python/dynload_*.c @ericsnowcurrently @FFY00
278280

279281
# Initialisation
280-
**/*initconfig* @ericsnowcurrently
281-
**/*pathconfig* @ericsnowcurrently
282-
**/*preconfig* @ericsnowcurrently
282+
**/*initconfig* @ericsnowcurrently @FFY00
283+
**/*pathconfig* @ericsnowcurrently @FFY00
284+
**/*preconfig* @ericsnowcurrently @FFY00
283285
Doc/library/sys_path_init.rst @FFY00
284286
Doc/c-api/init_config.rst @FFY00
285287

286288
# Interpreter main program
287-
Modules/main.c @ericsnowcurrently
288-
Programs/_bootstrap_python.c @ericsnowcurrently
289-
Programs/python.c @ericsnowcurrently
289+
Modules/main.c @ericsnowcurrently @FFY00
290+
Programs/_bootstrap_python.c @ericsnowcurrently @FFY00
291+
Programs/python.c @ericsnowcurrently @FFY00
290292

291293
# JIT
292294
.github/workflows/jit.yml @savannahostrowski
@@ -316,8 +318,8 @@ Tools/peg_generator/ @pablogsal @lysnikolaou
316318

317319
# Runtime state/lifecycle
318320
**/*gil* @ericsnowcurrently
319-
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity
320-
**/*pystate* @ericsnowcurrently @ZeroIntensity
321+
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity @FFY00
322+
**/*pystate* @ericsnowcurrently @ZeroIntensity @FFY00
321323
Include/internal/pycore_*_init.h @ericsnowcurrently
322324
Include/internal/pycore_*_state.h @ericsnowcurrently
323325
Include/internal/pycore_atexit.h @ericsnowcurrently
@@ -505,13 +507,13 @@ Lib/idlelib/ @terryjreedy
505507
Lib/turtledemo/ @terryjreedy
506508

507509
# importlib.metadata
508-
Doc/library/importlib.metadata.rst @jaraco @warsaw
509-
Lib/importlib/metadata/ @jaraco @warsaw
510-
Lib/test/test_importlib/metadata/ @jaraco @warsaw
510+
Doc/library/importlib.metadata.rst @jaraco @warsaw @FFY00
511+
Lib/importlib/metadata/ @jaraco @warsaw @FFY00
512+
Lib/test/test_importlib/metadata/ @jaraco @warsaw @FFY00
511513

512514
# importlib.resources
513-
Doc/library/importlib.resources.abc.rst @jaraco @warsaw
514-
Doc/library/importlib.resources.rst @jaraco @warsaw
515+
Doc/library/importlib.resources.abc.rst @jaraco @warsaw @FFY00
516+
Doc/library/importlib.resources.rst @jaraco @warsaw @FFY00
515517
Lib/importlib/resources/ @jaraco @warsaw @FFY00
516518
Lib/test/test_importlib/resources/ @jaraco @warsaw @FFY00
517519

.github/actionlint.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
self-hosted-runner:
2-
# Pending https://github.com/rhysd/actionlint/pull/615
3-
labels: ["windows-2025-vs2026"]
4-
51
config-variables: null
62

73
paths:

.github/dependabot.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ updates:
1212
update-types:
1313
- "version-update:semver-minor"
1414
- "version-update:semver-patch"
15+
groups:
16+
actions:
17+
patterns:
18+
- "*"
1519
cooldown:
1620
# https://blog.yossarian.net/2025/11/21/We-should-all-be-using-dependency-cooldowns
1721
# Cooldowns protect against supply chain attacks by avoiding the

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ jobs:
475475
-x test_subprocess \
476476
-x test_signal \
477477
-x test_sysconfig
478-
- uses: actions/upload-artifact@v6
478+
- uses: actions/upload-artifact@v7
479479
if: always()
480480
with:
481481
name: hypothesis-example-db

.github/workflows/new-bugs-announce-notifier.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
// We need to truncate the body size, because the max size for
4545
// the whole payload is 16kb. We want to be safe and assume that
4646
// body can take up to ~8kb of space.
47-
body : issue.data.body.substring(0, 8000)
47+
body : (issue.data.body || "").substring(0, 8000)
4848
};
4949
5050
const data = {

.github/workflows/reusable-check-c-api-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ jobs:
1515
runs-on: ubuntu-latest
1616
timeout-minutes: 5
1717
steps:
18-
- uses: actions/checkout@v4
18+
- uses: actions/checkout@v6
1919
with:
2020
persist-credentials: false
21-
- uses: actions/setup-python@v5
21+
- uses: actions/setup-python@v6
2222
with:
2323
python-version: '3.x'
2424
- name: Check for undocumented C APIs

.github/workflows/reusable-cifuzz.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
sanitizer: ${{ inputs.sanitizer }}
3535
- name: Upload crash
3636
if: failure() && steps.build.outcome == 'success'
37-
uses: actions/upload-artifact@v6
37+
uses: actions/upload-artifact@v7
3838
with:
3939
name: ${{ inputs.sanitizer }}-artifacts
4040
path: ./out/artifacts

.github/workflows/reusable-san.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ jobs:
9696
run: find "${GITHUB_WORKSPACE}" -name 'san_log.*' | xargs head -n 1000
9797
- name: Archive logs
9898
if: always()
99-
uses: actions/upload-artifact@v6
99+
uses: actions/upload-artifact@v7
100100
with:
101101
name: >-
102102
${{ inputs.sanitizer }}-logs-${{

.github/workflows/reusable-wasi.yml

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ jobs:
1313
timeout-minutes: 60
1414
env:
1515
WASMTIME_VERSION: 38.0.3
16-
WASI_SDK_VERSION: 30
17-
WASI_SDK_PATH: /opt/wasi-sdk
1816
CROSS_BUILD_PYTHON: cross-build/build
1917
CROSS_BUILD_WASI: cross-build/wasm32-wasip1
2018
steps:
@@ -26,18 +24,23 @@ jobs:
2624
uses: bytecodealliance/actions/wasmtime/setup@v1
2725
with:
2826
version: ${{ env.WASMTIME_VERSION }}
29-
- name: "Restore WASI SDK"
30-
id: cache-wasi-sdk
31-
uses: actions/cache@v5
32-
with:
33-
path: ${{ env.WASI_SDK_PATH }}
34-
key: ${{ runner.os }}-wasi-sdk-${{ env.WASI_SDK_VERSION }}
35-
- name: "Install WASI SDK" # Hard-coded to x64.
36-
if: steps.cache-wasi-sdk.outputs.cache-hit != 'true'
27+
- name: "Read WASI SDK version"
28+
id: wasi-sdk-version
3729
run: |
38-
mkdir "${WASI_SDK_PATH}" && \
39-
curl -s -S --location "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VERSION}/wasi-sdk-${WASI_SDK_VERSION}.0-arm64-linux.tar.gz" | \
40-
tar --strip-components 1 --directory "${WASI_SDK_PATH}" --extract --gunzip
30+
import tomllib
31+
from pathlib import Path
32+
import os
33+
config = tomllib.loads(Path("Platforms/WASI/config.toml").read_text())
34+
version = config["targets"]["wasi-sdk"]
35+
with open(os.environ["GITHUB_OUTPUT"], "a") as f:
36+
f.write(f"version={version}\n")
37+
shell: python
38+
- name: "Install WASI SDK"
39+
id: install-wasi-sdk
40+
uses: bytecodealliance/setup-wasi-sdk-action@b2de090b44eb70013ee96b393727d473b35e1728
41+
with:
42+
version: ${{ steps.wasi-sdk-version.outputs.version }}
43+
add-to-path: false
4144
- name: "Install Python"
4245
uses: actions/setup-python@v6
4346
with:
@@ -51,6 +54,8 @@ jobs:
5154
- name: "Configure host"
5255
# `--with-pydebug` inferred from configure-build-python
5356
run: python3 Platforms/WASI configure-host -- --config-cache
57+
env:
58+
WASI_SDK_PATH: ${{ steps.install-wasi-sdk.outputs.wasi-sdk-path }}
5459
- name: "Make host"
5560
run: python3 Platforms/WASI make-host
5661
- name: "Display build info"

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414

1515
steps:
1616
- name: "Check PRs"
17-
uses: actions/stale@v9
17+
uses: actions/stale@v10
1818
with:
1919
repo-token: ${{ secrets.GITHUB_TOKEN }}
2020
stale-pr-message: 'This PR is stale because it has been open for 30 days with no activity.'

0 commit comments

Comments
 (0)