Skip to content

Commit 8c142f3

Browse files
Merge branch 'main' into issue-130821
2 parents 06606e4 + 06e347b commit 8c142f3

File tree

1,508 files changed

+53859
-26714
lines changed

Some content is hidden

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

1,508 files changed

+53859
-26714
lines changed

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"image": "ghcr.io/python/devcontainer:2024.09.25.11038928730",
2+
"image": "ghcr.io/python/devcontainer:2025.05.29.15334414373",
33
"onCreateCommand": [
44
// Install common tooling.
55
"dnf",

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
*.ico binary
1111
*.jpg binary
1212
*.pck binary
13+
*.pdf binary
1314
*.png binary
1415
*.psd binary
1516
*.tar binary
@@ -67,6 +68,7 @@ PCbuild/readme.txt dos
6768
**/clinic/*.cpp.h generated
6869
**/clinic/*.h.h generated
6970
*_db.h generated
71+
Doc/c-api/lifecycle.dot.svg generated
7072
Doc/data/stable_abi.dat generated
7173
Doc/library/token-list.inc generated
7274
Include/internal/pycore_ast.h generated

.github/CODEOWNERS

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Objects/type* @markshannon
3535
Objects/codeobject.c @markshannon
3636
Objects/frameobject.c @markshannon
3737
Objects/call.c @markshannon
38+
Objects/object.c @ZeroIntensity
3839
Python/ceval*.c @markshannon
3940
Python/ceval*.h @markshannon
4041
Python/codegen.c @markshannon @iritkatriel
@@ -44,8 +45,9 @@ Python/flowgraph.c @markshannon @iritkatriel
4445
Python/instruction_sequence.c @iritkatriel
4546
Python/bytecodes.c @markshannon
4647
Python/optimizer*.c @markshannon
47-
Python/optimizer_analysis.c @Fidget-Spinner
48-
Python/optimizer_bytecodes.c @Fidget-Spinner
48+
Python/optimizer_analysis.c @Fidget-Spinner @tomasr8
49+
Python/optimizer_bytecodes.c @Fidget-Spinner @tomasr8
50+
Python/optimizer_symbols.c @tomasr8
4951
Python/symtable.c @JelleZijlstra @carljm
5052
Lib/_pyrepl/* @pablogsal @lysnikolaou @ambv
5153
Lib/test/test_patma.py @brandtbucher
@@ -66,8 +68,8 @@ Doc/_static/** @AA-Turner @hugovk
6668
Doc/tools/** @AA-Turner @hugovk
6769

6870
# runtime state/lifecycle
69-
**/*pylifecycle* @ericsnowcurrently
70-
**/*pystate* @ericsnowcurrently
71+
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity
72+
**/*pystate* @ericsnowcurrently @ZeroIntensity
7173
**/*preconfig* @ericsnowcurrently
7274
**/*initconfig* @ericsnowcurrently
7375
**/*pathconfig* @ericsnowcurrently
@@ -187,13 +189,13 @@ Include/internal/pycore_time.h @pganssle @abalkin
187189
/Tools/cases_generator/ @markshannon
188190

189191
# AST
190-
Python/ast.c @isidentical @JelleZijlstra @eclips4
191-
Python/ast_preprocess.c @isidentical @eclips4
192-
Parser/asdl.py @isidentical @JelleZijlstra @eclips4
193-
Parser/asdl_c.py @isidentical @JelleZijlstra @eclips4
194-
Lib/ast.py @isidentical @JelleZijlstra @eclips4
195-
Lib/_ast_unparse.py @isidentical @JelleZijlstra @eclips4
196-
Lib/test/test_ast/ @eclips4
192+
Python/ast.c @isidentical @JelleZijlstra @eclips4 @tomasr8
193+
Python/ast_preprocess.c @isidentical @eclips4 @tomasr8
194+
Parser/asdl.py @isidentical @JelleZijlstra @eclips4 @tomasr8
195+
Parser/asdl_c.py @isidentical @JelleZijlstra @eclips4 @tomasr8
196+
Lib/ast.py @isidentical @JelleZijlstra @eclips4 @tomasr8
197+
Lib/_ast_unparse.py @isidentical @JelleZijlstra @eclips4 @tomasr8
198+
Lib/test/test_ast/ @eclips4 @tomasr8
197199

198200
# Mock
199201
/Lib/unittest/mock.py @cjw296
@@ -281,9 +283,13 @@ Doc/howto/clinic.rst @erlend-aasland
281283
# Subinterpreters
282284
**/*interpreteridobject.* @ericsnowcurrently
283285
**/*crossinterp* @ericsnowcurrently
284-
Lib/test/support/interpreters/ @ericsnowcurrently
285286
Modules/_interp*module.c @ericsnowcurrently
287+
Lib/test/test__interp*.py @ericsnowcurrently
288+
Lib/concurrent/interpreters/ @ericsnowcurrently
289+
Lib/test/support/channels.py @ericsnowcurrently
290+
Doc/library/concurrent.interpreters.rst @ericsnowcurrently
286291
Lib/test/test_interpreters/ @ericsnowcurrently
292+
Lib/concurrent/futures/interpreter.py @ericsnowcurrently
287293

288294
# Android
289295
**/*Android* @mhsmith @freakboy3742
@@ -298,7 +304,12 @@ Lib/test/test_interpreters/ @ericsnowcurrently
298304
**/*-ios* @freakboy3742
299305

300306
# WebAssembly
301-
/Tools/wasm/ @brettcannon @freakboy3742
307+
Tools/wasm/config.site-wasm32-emscripten @freakboy3742
308+
/Tools/wasm/README.md @brettcannon @freakboy3742
309+
/Tools/wasm/wasi-env @brettcannon
310+
/Tools/wasm/wasi.py @brettcannon
311+
/Tools/wasm/emscripten @freakboy3742
312+
/Tools/wasm/wasi @brettcannon
302313

303314
# SBOM
304315
/Misc/externals.spdx.json @sethmlarson
@@ -326,3 +337,11 @@ Modules/_xxtestfuzz/ @ammaraskar
326337
**/*templateobject* @lysnikolaou
327338
**/*templatelib* @lysnikolaou
328339
**/*tstring* @lysnikolaou
340+
341+
# Remote debugging
342+
Python/remote_debug.h @pablogsal
343+
Python/remote_debugging.c @pablogsal
344+
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1
345+
346+
# gettext
347+
**/*gettext* @tomasr8

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ body:
4040
- "3.12"
4141
- "3.13"
4242
- "3.14"
43+
- "3.15"
4344
- "CPython main branch"
4445
validations:
4546
required: true

.github/ISSUE_TEMPLATE/crash.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ body:
3333
- "3.12"
3434
- "3.13"
3535
- "3.14"
36+
- "3.15"
3637
- "CPython main branch"
3738
validations:
3839
required: true

.github/workflows/build.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,13 @@ permissions:
1515
contents: read
1616

1717
concurrency:
18-
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}-reusable
18+
# https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#concurrency
19+
# 'group' must be a key uniquely representing a PR or push event.
20+
# github.workflow is the workflow name
21+
# github.actor is the user invoking the workflow
22+
# github.head_ref is the source branch of the PR or otherwise blank
23+
# github.run_id is a unique number for the current run
24+
group: ${{ github.workflow }}-${{ github.actor }}-${{ github.head_ref || github.run_id }}
1925
cancel-in-progress: true
2026

2127
env:
@@ -521,6 +527,14 @@ jobs:
521527
config_hash: ${{ needs.build-context.outputs.config-hash }}
522528
free-threading: ${{ matrix.free-threading }}
523529

530+
build-ubsan:
531+
name: Undefined behavior sanitizer
532+
needs: build-context
533+
if: needs.build-context.outputs.run-tests == 'true'
534+
uses: ./.github/workflows/reusable-ubsan.yml
535+
with:
536+
config_hash: ${{ needs.build-context.outputs.config-hash }}
537+
524538
cross-build-linux:
525539
name: Cross build Linux
526540
runs-on: ubuntu-latest

.github/workflows/jit.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ on:
55
- '**jit**'
66
- 'Python/bytecodes.c'
77
- 'Python/optimizer*.c'
8+
- 'Python/executor_cases.c.h'
9+
- 'Python/optimizer_cases.c.h'
810
- '!Python/perf_jit_trampoline.c'
911
- '!**/*.md'
1012
- '!**/*.ini'
@@ -13,6 +15,8 @@ on:
1315
- '**jit**'
1416
- 'Python/bytecodes.c'
1517
- 'Python/optimizer*.c'
18+
- 'Python/executor_cases.c.h'
19+
- 'Python/optimizer_cases.c.h'
1620
- '!Python/perf_jit_trampoline.c'
1721
- '!**/*.md'
1822
- '!**/*.ini'

.github/workflows/mypy.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,18 @@ on:
1313
- "Lib/test/libregrtest/**"
1414
- "Lib/tomllib/**"
1515
- "Misc/mypy/**"
16+
- "Tools/build/compute-changes.py"
17+
- "Tools/build/deepfreeze.py"
1618
- "Tools/build/generate_sbom.py"
19+
- "Tools/build/generate-build-details.py"
20+
- "Tools/build/verify_ensurepip_wheels.py"
21+
- "Tools/build/update_file.py"
22+
- "Tools/build/umarshal.py"
1723
- "Tools/cases_generator/**"
1824
- "Tools/clinic/**"
1925
- "Tools/jit/**"
2026
- "Tools/peg_generator/**"
2127
- "Tools/requirements-dev.txt"
22-
- "Tools/wasm/**"
2328
workflow_dispatch:
2429

2530
permissions:
@@ -51,7 +56,6 @@ jobs:
5156
"Tools/clinic",
5257
"Tools/jit",
5358
"Tools/peg_generator",
54-
"Tools/wasm",
5559
]
5660
steps:
5761
- uses: actions/checkout@v4

.github/workflows/posix-deps-apt.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,18 @@ apt-get -yq install \
1717
libreadline6-dev \
1818
libsqlite3-dev \
1919
libssl-dev \
20+
libzstd-dev \
2021
lzma \
2122
lzma-dev \
2223
strace \
2324
tk-dev \
2425
uuid-dev \
2526
xvfb \
2627
zlib1g-dev
28+
29+
# Workaround missing libmpdec-dev on ubuntu 24.04:
30+
# https://launchpad.net/~ondrej/+archive/ubuntu/php
31+
# https://deb.sury.org/
32+
sudo add-apt-repository ppa:ondrej/php
33+
apt-get update
34+
apt-get -yq install libmpdec-dev

.github/workflows/reusable-context.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ jobs:
9797
run: python Tools/build/compute-changes.py
9898
env:
9999
GITHUB_DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
100+
GITHUB_EVENT_NAME: ${{ github.event_name }}
100101
CCF_TARGET_REF: ${{ github.base_ref || github.event.repository.default_branch }}
101102
CCF_HEAD_REF: ${{ github.event.pull_request.head.sha || github.sha }}
102103

0 commit comments

Comments
 (0)