Skip to content

Commit 6990bb9

Browse files
Merge branch 'main' of https://github.com/python/cpython into asyncio-contextvars-fix
2 parents d786ca0 + fca7fec commit 6990bb9

File tree

784 files changed

+62559
-13042
lines changed

Some content is hidden

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

784 files changed

+62559
-13042
lines changed

.gitattributes

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ PCbuild/readme.txt dos
6868
**/clinic/*.cpp.h generated
6969
**/clinic/*.h.h generated
7070
*_db.h generated
71+
Doc/_static/tachyon-example-*.html generated
7172
Doc/c-api/lifecycle.dot.svg generated
7273
Doc/data/stable_abi.dat generated
7374
Doc/library/token-list.inc generated
@@ -82,12 +83,15 @@ Include/opcode.h generated
8283
Include/opcode_ids.h generated
8384
Include/token.h generated
8485
Lib/_opcode_metadata.py generated
85-
Lib/keyword.py generated
8686
Lib/idlelib/help.html generated
87+
Lib/keyword.py generated
88+
Lib/pydoc_data/topics.py generated
89+
Lib/pydoc_data/module_docs.py generated
8790
Lib/test/certdata/*.pem generated
8891
Lib/test/certdata/*.0 generated
8992
Lib/test/levenshtein_examples.json generated
9093
Lib/test/test_stable_abi_ctypes.py generated
94+
Lib/test/test_zoneinfo/data/*.json generated
9195
Lib/token.py generated
9296
Misc/sbom.spdx.json generated
9397
Objects/typeslots.inc generated

.github/CODEOWNERS

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@ Misc/externals.spdx.json @sethmlarson
143143
Misc/sbom.spdx.json @sethmlarson
144144
Tools/build/generate_sbom.py @sethmlarson
145145

146+
# ABI check
147+
Misc/libabigail.abignore @encukou
148+
146149

147150
# ----------------------------------------------------------------------------
148151
# Platform Support
@@ -289,10 +292,10 @@ Tools/jit/ @brandtbucher @savannahostrowski @diegorusso
289292
InternalDocs/jit.md @brandtbucher @savannahostrowski @diegorusso @AA-Turner
290293

291294
# Micro-op / μop / Tier 2 Optimiser
292-
Python/optimizer.c @markshannon
293-
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner
294-
Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner
295-
Python/optimizer_symbols.c @markshannon @tomasr8
295+
Python/optimizer.c @markshannon @Fidget-Spinner
296+
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
297+
Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
298+
Python/optimizer_symbols.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
296299

297300
# Parser, Lexer, and Grammar
298301
Grammar/python.gram @pablogsal @lysnikolaou
@@ -322,7 +325,7 @@ Tools/build/generate_global_objects.py @ericsnowcurrently
322325
# Remote Debugging
323326
Python/remote_debug.h @pablogsal
324327
Python/remote_debugging.c @pablogsal
325-
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1
328+
Modules/_remote_debugging/ @pablogsal
326329

327330
# Sub-Interpreters
328331
**/*crossinterp* @ericsnowcurrently
@@ -537,6 +540,11 @@ Lib/pydoc.py @AA-Turner
537540
Lib/pydoc_data/ @AA-Turner
538541
Lib/test/test_pydoc/ @AA-Turner
539542

543+
# Profiling (Sampling)
544+
Doc/library/profiling*.rst @pablogsal
545+
Lib/profiling/ @pablogsal
546+
Lib/test/test_profiling/ @pablogsal
547+
540548
# PyREPL
541549
Lib/_pyrepl/ @pablogsal @lysnikolaou @ambv
542550
Lib/test/test_pyrepl/ @pablogsal @lysnikolaou @ambv

.github/workflows/add-issue-header.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
issues: write
2121
timeout-minutes: 5
2222
steps:
23-
- uses: actions/github-script@v7
23+
- uses: actions/github-script@v8
2424
with:
2525
# language=JavaScript
2626
script: |

.github/workflows/build.yml

Lines changed: 34 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
run: |
6565
apt update && apt install git -yq
6666
git config --global --add safe.directory "$GITHUB_WORKSPACE"
67-
- uses: actions/checkout@v4
67+
- uses: actions/checkout@v6
6868
with:
6969
fetch-depth: 1
7070
persist-credentials: false
@@ -101,10 +101,10 @@ jobs:
101101
needs: build-context
102102
if: needs.build-context.outputs.run-tests == 'true'
103103
steps:
104-
- uses: actions/checkout@v4
104+
- uses: actions/checkout@v6
105105
with:
106106
persist-credentials: false
107-
- uses: actions/setup-python@v5
107+
- uses: actions/setup-python@v6
108108
with:
109109
python-version: '3.x'
110110
- name: Runner image version
@@ -142,9 +142,14 @@ jobs:
142142
- name: Check for unsupported C global variables
143143
if: github.event_name == 'pull_request' # $GITHUB_EVENT_NAME
144144
run: make check-c-globals
145-
- name: Check for undocumented C APIs
146-
run: make check-c-api-docs
147145

146+
check-c-api-docs:
147+
name: C API Docs
148+
needs: build-context
149+
if: >-
150+
needs.build-context.outputs.run-tests == 'true'
151+
|| needs.build-context.outputs.run-docs == 'true'
152+
uses: ./.github/workflows/reusable-check-c-api-docs.yml
148153

149154
build-windows:
150155
name: >-
@@ -264,7 +269,7 @@ jobs:
264269
OPENSSL_DIR: ${{ github.workspace }}/multissl/openssl/${{ matrix.openssl_ver }}
265270
LD_LIBRARY_PATH: ${{ github.workspace }}/multissl/openssl/${{ matrix.openssl_ver }}/lib
266271
steps:
267-
- uses: actions/checkout@v4
272+
- uses: actions/checkout@v6
268273
with:
269274
persist-credentials: false
270275
- name: Runner image version
@@ -280,7 +285,7 @@ jobs:
280285
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
281286
- name: 'Restore OpenSSL build'
282287
id: cache-openssl
283-
uses: actions/cache@v4
288+
uses: actions/cache@v5
284289
with:
285290
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
286291
key: ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -316,7 +321,7 @@ jobs:
316321
OPENSSL_DIR: ${{ github.workspace }}/multissl/aws-lc/${{ matrix.awslc_ver }}
317322
LD_LIBRARY_PATH: ${{ github.workspace }}/multissl/aws-lc/${{ matrix.awslc_ver }}/lib
318323
steps:
319-
- uses: actions/checkout@v4
324+
- uses: actions/checkout@v6
320325
with:
321326
persist-credentials: false
322327
- name: Runner image version
@@ -332,7 +337,7 @@ jobs:
332337
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/aws-lc/${AWSLC_VER}/lib" >> "$GITHUB_ENV"
333338
- name: 'Restore AWS-LC build'
334339
id: cache-aws-lc
335-
uses: actions/cache@v4
340+
uses: actions/cache@v5
336341
with:
337342
path: ./multissl/aws-lc/${{ matrix.awslc_ver }}
338343
key: ${{ matrix.os }}-multissl-aws-lc-${{ matrix.awslc_ver }}
@@ -381,7 +386,7 @@ jobs:
381386

382387
runs-on: ${{ matrix.runs-on }}
383388
steps:
384-
- uses: actions/checkout@v4
389+
- uses: actions/checkout@v6
385390
with:
386391
persist-credentials: false
387392
- name: Build and test
@@ -394,7 +399,7 @@ jobs:
394399
timeout-minutes: 60
395400
runs-on: macos-14
396401
steps:
397-
- uses: actions/checkout@v4
402+
- uses: actions/checkout@v6
398403
with:
399404
persist-credentials: false
400405

@@ -426,7 +431,7 @@ jobs:
426431
OPENSSL_VER: 3.0.18
427432
PYTHONSTRICTEXTENSIONBUILD: 1
428433
steps:
429-
- uses: actions/checkout@v4
434+
- uses: actions/checkout@v6
430435
with:
431436
persist-credentials: false
432437
- name: Register gcc problem matcher
@@ -440,7 +445,7 @@ jobs:
440445
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
441446
- name: 'Restore OpenSSL build'
442447
id: cache-openssl
443-
uses: actions/cache@v4
448+
uses: actions/cache@v5
444449
with:
445450
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
446451
key: ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -490,7 +495,7 @@ jobs:
490495
./python -m venv "$VENV_LOC" && "$VENV_PYTHON" -m pip install -r "${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt"
491496
- name: 'Restore Hypothesis database'
492497
id: cache-hypothesis-database
493-
uses: actions/cache@v4
498+
uses: actions/cache@v5
494499
with:
495500
path: ${{ env.CPYTHON_BUILDDIR }}/.hypothesis/
496501
key: hypothesis-database-${{ github.head_ref || github.run_id }}
@@ -517,7 +522,7 @@ jobs:
517522
-x test_subprocess \
518523
-x test_signal \
519524
-x test_sysconfig
520-
- uses: actions/upload-artifact@v4
525+
- uses: actions/upload-artifact@v6
521526
if: always()
522527
with:
523528
name: hypothesis-example-db
@@ -538,7 +543,7 @@ jobs:
538543
PYTHONSTRICTEXTENSIONBUILD: 1
539544
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
540545
steps:
541-
- uses: actions/checkout@v4
546+
- uses: actions/checkout@v6
542547
with:
543548
persist-credentials: false
544549
- name: Runner image version
@@ -548,7 +553,7 @@ jobs:
548553
- name: Install dependencies
549554
run: sudo ./.github/workflows/posix-deps-apt.sh
550555
- name: Set up GCC-10 for ASAN
551-
uses: egor-tensin/setup-gcc@v1
556+
uses: egor-tensin/setup-gcc@v2
552557
with:
553558
version: 10
554559
- name: Configure OpenSSL env vars
@@ -558,7 +563,7 @@ jobs:
558563
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
559564
- name: 'Restore OpenSSL build'
560565
id: cache-openssl
561-
uses: actions/cache@v4
566+
uses: actions/cache@v5
562567
with:
563568
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
564569
key: ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -608,7 +613,7 @@ jobs:
608613
needs: build-context
609614
if: needs.build-context.outputs.run-ubuntu == 'true'
610615
steps:
611-
- uses: actions/checkout@v4
616+
- uses: actions/checkout@v6
612617
with:
613618
persist-credentials: false
614619
- name: Runner image version
@@ -665,13 +670,13 @@ jobs:
665670
sanitizer: ${{ matrix.sanitizer }}
666671
- name: Upload crash
667672
if: failure() && steps.build.outcome == 'success'
668-
uses: actions/upload-artifact@v4
673+
uses: actions/upload-artifact@v6
669674
with:
670675
name: ${{ matrix.sanitizer }}-artifacts
671676
path: ./out/artifacts
672677
- name: Upload SARIF
673678
if: always() && steps.build.outcome == 'success'
674-
uses: github/codeql-action/upload-sarif@v3
679+
uses: github/codeql-action/upload-sarif@v4
675680
with:
676681
sarif_file: cifuzz-sarif/results.sarif
677682
checkout_path: cifuzz-sarif
@@ -685,13 +690,13 @@ jobs:
685690
- check-docs
686691
- check-autoconf-regen
687692
- check-generated-files
693+
- check-c-api-docs
688694
- build-windows
689695
- build-windows-msi
690696
- build-macos
691697
- build-ubuntu
692698
- build-ubuntu-ssltests-awslc
693699
- build-ubuntu-ssltests-openssl
694-
- build-android
695700
- build-ios
696701
- build-wasi
697702
- test-hypothesis
@@ -706,7 +711,7 @@ jobs:
706711
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe
707712
with:
708713
allowed-failures: >-
709-
build-ios,
714+
build-android,
710715
build-windows-msi,
711716
build-ubuntu-ssltests-awslc,
712717
build-ubuntu-ssltests-openssl,
@@ -722,6 +727,12 @@ jobs:
722727
'
723728
|| ''
724729
}}
730+
${{
731+
!fromJSON(needs.build-context.outputs.run-tests)
732+
&& !fromJSON(needs.build-context.outputs.run-docs)
733+
&& 'check-c-api-docs,'
734+
|| ''
735+
}}
725736
${{ !fromJSON(needs.build-context.outputs.run-windows-tests) && 'build-windows,' || '' }}
726737
${{ !fromJSON(needs.build-context.outputs.run-ci-fuzz) && 'cifuzz,' || '' }}
727738
${{ !fromJSON(needs.build-context.outputs.run-macos) && 'build-macos,' || '' }}

.github/workflows/jit.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
runs-on: ubuntu-24.04
3939
timeout-minutes: 90
4040
steps:
41-
- uses: actions/checkout@v4
41+
- uses: actions/checkout@v6
4242
with:
4343
persist-credentials: false
4444
- name: Build tier two interpreter
@@ -92,10 +92,10 @@ jobs:
9292
architecture: aarch64
9393
runner: ubuntu-24.04-arm
9494
steps:
95-
- uses: actions/checkout@v4
95+
- uses: actions/checkout@v6
9696
with:
9797
persist-credentials: false
98-
- uses: actions/setup-python@v5
98+
- uses: actions/setup-python@v6
9999
with:
100100
python-version: '3.11'
101101

@@ -140,10 +140,10 @@ jobs:
140140
llvm:
141141
- 21
142142
steps:
143-
- uses: actions/checkout@v4
143+
- uses: actions/checkout@v6
144144
with:
145145
persist-credentials: false
146-
- uses: actions/setup-python@v5
146+
- uses: actions/setup-python@v6
147147
with:
148148
python-version: '3.11'
149149
- name: Build with JIT enabled and GIL disabled
@@ -168,10 +168,10 @@ jobs:
168168
llvm:
169169
- 21
170170
steps:
171-
- uses: actions/checkout@v4
171+
- uses: actions/checkout@v6
172172
with:
173173
persist-credentials: false
174-
- uses: actions/setup-python@v5
174+
- uses: actions/setup-python@v6
175175
with:
176176
python-version: '3.11'
177177
- name: Build with JIT
@@ -195,10 +195,10 @@ jobs:
195195
llvm:
196196
- 21
197197
steps:
198-
- uses: actions/checkout@v4
198+
- uses: actions/checkout@v6
199199
with:
200200
persist-credentials: false
201-
- uses: actions/setup-python@v5
201+
- uses: actions/setup-python@v6
202202
with:
203203
python-version: '3.11'
204204
- name: Build with JIT and tailcall

.github/workflows/lint.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,7 @@ jobs:
1919
timeout-minutes: 10
2020

2121
steps:
22-
- uses: actions/checkout@v4
22+
- uses: actions/checkout@v6
2323
with:
2424
persist-credentials: false
25-
- uses: actions/setup-python@v5
26-
with:
27-
python-version: "3.x"
28-
- uses: pre-commit/action@v3.0.1
25+
- uses: j178/prek-action@v1

.github/workflows/mypy.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ on:
2626
- "Tools/build/update_file.py"
2727
- "Tools/build/verify_ensurepip_wheels.py"
2828
- "Tools/cases_generator/**"
29+
- "Tools/check-c-api-docs/**"
2930
- "Tools/clinic/**"
3031
- "Tools/jit/**"
3132
- "Tools/peg_generator/**"
@@ -58,15 +59,16 @@ jobs:
5859
"Lib/tomllib",
5960
"Tools/build",
6061
"Tools/cases_generator",
62+
"Tools/check-c-api-docs",
6163
"Tools/clinic",
6264
"Tools/jit",
6365
"Tools/peg_generator",
6466
]
6567
steps:
66-
- uses: actions/checkout@v4
68+
- uses: actions/checkout@v6
6769
with:
6870
persist-credentials: false
69-
- uses: actions/setup-python@v5
71+
- uses: actions/setup-python@v6
7072
with:
7173
python-version: "3.13"
7274
cache: pip

0 commit comments

Comments
 (0)