Skip to content

Commit 043eb0e

Browse files
committed
Merge remote-tracking branch 'upstream/3.13' into 313_test__interpchannels_leak
2 parents 7ace308 + a5650e4 commit 043eb0e

257 files changed

Lines changed: 4576 additions & 1418 deletions

File tree

Some content is hidden

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

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ Include/opcode_ids.h generated
8181
Include/token.h generated
8282
Lib/_opcode_metadata.py generated
8383
Lib/keyword.py generated
84+
Lib/idlelib/help.html generated
8485
Lib/test/certdata/*.pem generated
8586
Lib/test/certdata/*.0 generated
8687
Lib/test/levenshtein_examples.json generated

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ configure* @erlend-aasland @corona10
2222
**/*genobject* @markshannon
2323
**/*hamt* @1st1
2424
**/*jit* @brandtbucher
25+
Python/perf_jit_trampoline.c # Exclude the owners of "**/*jit*", above.
2526
Objects/set* @rhettinger
2627
Objects/dict* @methane @markshannon
2728
Objects/typevarobject.c @JelleZijlstra

.github/actionlint.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
self-hosted-runner:
2+
# Pending https://github.com/rhysd/actionlint/issues/533
3+
# and https://github.com/rhysd/actionlint/issues/571
4+
labels: ["windows-11-arm", "macos-15-intel"]
5+
6+
config-variables: null
7+
8+
paths:
9+
.github/workflows/**/*.yml:
10+
ignore:
11+
- 1st argument of function call is not assignable
12+
- SC2(015|038|086|091|097|098|129|155)

.github/workflows/build.yml

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -154,20 +154,10 @@ jobs:
154154
python-version: '3.x'
155155
- name: Runner image version
156156
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
157-
- name: Restore config.cache
158-
uses: actions/cache@v4
159-
with:
160-
path: config.cache
161-
# Include env.pythonLocation in key to avoid changes in environment when setup-python updates Python
162-
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}-${{ env.pythonLocation }}
163157
- name: Install dependencies
164158
run: sudo ./.github/workflows/posix-deps-apt.sh
165159
- name: Add ccache to PATH
166160
run: echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
167-
- name: Configure ccache action
168-
uses: hendrikmuhs/ccache-action@v1.2
169-
with:
170-
save: false
171161
- name: Configure CPython
172162
run: |
173163
# Build Python with the libpython dynamic library
@@ -268,7 +258,6 @@ jobs:
268258
free-threading: true
269259
uses: ./.github/workflows/reusable-macos.yml
270260
with:
271-
config_hash: ${{ needs.build-context.outputs.config-hash }}
272261
free-threading: ${{ matrix.free-threading }}
273262
os: ${{ matrix.os }}
274263

@@ -286,7 +275,6 @@ jobs:
286275
- true
287276
uses: ./.github/workflows/reusable-ubuntu.yml
288277
with:
289-
config_hash: ${{ needs.build-context.outputs.config-hash }}
290278
free-threading: ${{ matrix.free-threading }}
291279

292280
build-ubuntu-ssltests:
@@ -314,11 +302,6 @@ jobs:
314302
persist-credentials: false
315303
- name: Runner image version
316304
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
317-
- name: Restore config.cache
318-
uses: actions/cache@v4
319-
with:
320-
path: config.cache
321-
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}
322305
- name: Register gcc problem matcher
323306
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
324307
- name: Install dependencies
@@ -340,10 +323,6 @@ jobs:
340323
- name: Add ccache to PATH
341324
run: |
342325
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
343-
- name: Configure ccache action
344-
uses: hendrikmuhs/ccache-action@v1.2
345-
with:
346-
save: false
347326
- name: Configure CPython
348327
run: ./configure --config-cache --with-pydebug --with-openssl=$OPENSSL_DIR
349328
- name: Build CPython
@@ -380,8 +359,6 @@ jobs:
380359
needs: build-context
381360
if: needs.build-context.outputs.run-tests == 'true'
382361
uses: ./.github/workflows/reusable-wasi.yml
383-
with:
384-
config_hash: ${{ needs.build-context.outputs.config-hash }}
385362

386363
test-hypothesis:
387364
name: "Hypothesis tests on Ubuntu"
@@ -417,10 +394,6 @@ jobs:
417394
- name: Add ccache to PATH
418395
run: |
419396
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
420-
- name: Configure ccache action
421-
uses: hendrikmuhs/ccache-action@v1.2
422-
with:
423-
save: false
424397
- name: Setup directory envs for out-of-tree builds
425398
run: |
426399
echo "CPYTHON_RO_SRCDIR=$(realpath -m "${GITHUB_WORKSPACE}"/../cpython-ro-srcdir)" >> "$GITHUB_ENV"
@@ -431,11 +404,6 @@ jobs:
431404
run: sudo mount --bind -o ro "$GITHUB_WORKSPACE" "$CPYTHON_RO_SRCDIR"
432405
- name: Runner image version
433406
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
434-
- name: Restore config.cache
435-
uses: actions/cache@v4
436-
with:
437-
path: ${{ env.CPYTHON_BUILDDIR }}/config.cache
438-
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}
439407
- name: Configure CPython out-of-tree
440408
working-directory: ${{ env.CPYTHON_BUILDDIR }}
441409
run: |
@@ -518,11 +486,6 @@ jobs:
518486
persist-credentials: false
519487
- name: Runner image version
520488
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
521-
- name: Restore config.cache
522-
uses: actions/cache@v4
523-
with:
524-
path: config.cache
525-
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}
526489
- name: Register gcc problem matcher
527490
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
528491
- name: Install dependencies
@@ -548,11 +511,6 @@ jobs:
548511
- name: Add ccache to PATH
549512
run: |
550513
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
551-
- name: Configure ccache action
552-
uses: hendrikmuhs/ccache-action@v1.2
553-
with:
554-
save: ${{ github.event_name == 'push' }}
555-
max-size: "200M"
556514
- name: Configure CPython
557515
run: ./configure --config-cache --with-address-sanitizer --without-pymalloc
558516
- name: Build CPython
@@ -580,7 +538,6 @@ jobs:
580538
uses: ./.github/workflows/reusable-san.yml
581539
with:
582540
sanitizer: ${{ matrix.sanitizer }}
583-
config_hash: ${{ needs.build-context.outputs.config-hash }}
584541
free-threading: ${{ matrix.free-threading }}
585542

586543
# CIFuzz job based on https://google.github.io/oss-fuzz/getting-started/continuous-integration/

.github/workflows/mypy.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ on:
2727
- "Tools/jit/**"
2828
- "Tools/peg_generator/**"
2929
- "Tools/requirements-dev.txt"
30-
- "Tools/wasm/**"
3130
workflow_dispatch:
3231

3332
permissions:
@@ -59,7 +58,6 @@ jobs:
5958
"Tools/clinic",
6059
"Tools/jit",
6160
"Tools/peg_generator",
62-
"Tools/wasm",
6361
]
6462
steps:
6563
- uses: actions/checkout@v4

.github/workflows/reusable-context.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@ on: # yamllint disable-line rule:truthy
1717
# || 'falsy-branch'
1818
# }}
1919
#
20-
config-hash:
21-
description: Config hash value for use in cache keys
22-
value: ${{ jobs.compute-changes.outputs.config-hash }} # str
2320
run-docs:
2421
description: Whether to build the docs
2522
value: ${{ jobs.compute-changes.outputs.run-docs }} # bool
@@ -42,7 +39,6 @@ jobs:
4239
runs-on: ubuntu-latest
4340
timeout-minutes: 10
4441
outputs:
45-
config-hash: ${{ steps.config-hash.outputs.hash }}
4642
run-ci-fuzz: ${{ steps.changes.outputs.run-ci-fuzz }}
4743
run-docs: ${{ steps.changes.outputs.run-docs }}
4844
run-tests: ${{ steps.changes.outputs.run-tests }}
@@ -100,8 +96,3 @@ jobs:
10096
GITHUB_EVENT_NAME: ${{ github.event_name }}
10197
CCF_TARGET_REF: ${{ github.base_ref || github.event.repository.default_branch }}
10298
CCF_HEAD_REF: ${{ github.event.pull_request.head.sha || github.sha }}
103-
104-
- name: Compute hash for config cache key
105-
id: config-hash
106-
run: |
107-
echo "hash=${{ hashFiles('configure', 'configure.ac', '.github/workflows/build.yml') }}" >> "$GITHUB_OUTPUT"

.github/workflows/reusable-macos.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@ name: Reusable macOS
33
on:
44
workflow_call:
55
inputs:
6-
config_hash:
7-
required: true
8-
type: string
96
free-threading:
107
required: false
118
type: boolean
@@ -36,11 +33,6 @@ jobs:
3633
persist-credentials: false
3734
- name: Runner image version
3835
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
39-
- name: Restore config.cache
40-
uses: actions/cache@v4
41-
with:
42-
path: config.cache
43-
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ inputs.config_hash }}
4436
- name: Install Homebrew dependencies
4537
run: |
4638
brew install pkg-config openssl@3.0 xz gdbm tcl-tk@8

.github/workflows/reusable-san.yml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ on:
66
sanitizer:
77
required: true
88
type: string
9-
config_hash:
10-
required: true
11-
type: string
129
free-threading:
1310
description: Whether to use free-threaded mode
1411
required: false
@@ -34,11 +31,6 @@ jobs:
3431
persist-credentials: false
3532
- name: Runner image version
3633
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
37-
- name: Restore config.cache
38-
uses: actions/cache@v4
39-
with:
40-
path: config.cache
41-
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ inputs.sanitizer }}-${{ inputs.config_hash }}
4234
- name: Install dependencies
4335
run: |
4436
sudo ./.github/workflows/posix-deps-apt.sh
@@ -77,11 +69,6 @@ jobs:
7769
- name: Add ccache to PATH
7870
run: |
7971
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
80-
- name: Configure ccache action
81-
uses: hendrikmuhs/ccache-action@v1.2
82-
with:
83-
save: ${{ github.event_name == 'push' }}
84-
max-size: "200M"
8572
- name: Configure CPython
8673
run: >-
8774
./configure

.github/workflows/reusable-ubuntu.yml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@ name: Reusable Ubuntu
33
on:
44
workflow_call:
55
inputs:
6-
config_hash:
7-
required: true
8-
type: string
96
free-threading:
107
description: Whether to use free-threaded mode
118
required: false
@@ -53,11 +50,6 @@ jobs:
5350
- name: Add ccache to PATH
5451
run: |
5552
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
56-
- name: Configure ccache action
57-
uses: hendrikmuhs/ccache-action@v1.2
58-
with:
59-
save: ${{ github.event_name == 'push' }}
60-
max-size: "200M"
6153
- name: Setup directory envs for out-of-tree builds
6254
run: |
6355
echo "CPYTHON_RO_SRCDIR=$(realpath -m "${GITHUB_WORKSPACE}"/../cpython-ro-srcdir)" >> "$GITHUB_ENV"
@@ -68,11 +60,6 @@ jobs:
6860
run: sudo mount --bind -o ro "$GITHUB_WORKSPACE" "$CPYTHON_RO_SRCDIR"
6961
- name: Runner image version
7062
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
71-
- name: Restore config.cache
72-
uses: actions/cache@v4
73-
with:
74-
path: ${{ env.CPYTHON_BUILDDIR }}/config.cache
75-
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ inputs.config_hash }}
7663
- name: Configure CPython out-of-tree
7764
working-directory: ${{ env.CPYTHON_BUILDDIR }}
7865
run: >-

.github/workflows/reusable-wasi.yml

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@ name: Reusable WASI
22

33
on:
44
workflow_call:
5-
inputs:
6-
config_hash:
7-
required: true
8-
type: string
95

106
env:
117
FORCE_COLOR: 1
@@ -42,11 +38,6 @@ jobs:
4238
mkdir "${WASI_SDK_PATH}" && \
4339
curl -s -S --location "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VERSION}/wasi-sdk-${WASI_SDK_VERSION}.0-x86_64-linux.tar.gz" | \
4440
tar --strip-components 1 --directory "${WASI_SDK_PATH}" --extract --gunzip
45-
- name: "Configure ccache action"
46-
uses: hendrikmuhs/ccache-action@v1.2
47-
with:
48-
save: ${{ github.event_name == 'push' }}
49-
max-size: "200M"
5041
- name: "Add ccache to PATH"
5142
run: echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
5243
- name: "Install Python"
@@ -55,24 +46,10 @@ jobs:
5546
python-version: '3.x'
5647
- name: "Runner image version"
5748
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
58-
- name: "Restore Python build config.cache"
59-
uses: actions/cache@v4
60-
with:
61-
path: ${{ env.CROSS_BUILD_PYTHON }}/config.cache
62-
# Include env.pythonLocation in key to avoid changes in environment when setup-python updates Python.
63-
# Include the hash of `Tools/wasm/wasi.py` as it may change the environment variables.
64-
# (Make sure to keep the key in sync with the other config.cache step below.)
65-
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ env.WASI_SDK_VERSION }}-${{ env.WASMTIME_VERSION }}-${{ inputs.config_hash }}-${{ hashFiles('Tools/wasm/wasi.py') }}-${{ env.pythonLocation }}
6649
- name: "Configure build Python"
6750
run: python3 Tools/wasm/wasi.py configure-build-python -- --config-cache --with-pydebug
6851
- name: "Make build Python"
6952
run: python3 Tools/wasm/wasi.py make-build-python
70-
- name: "Restore host config.cache"
71-
uses: actions/cache@v4
72-
with:
73-
path: ${{ env.CROSS_BUILD_WASI }}/config.cache
74-
# Should be kept in sync with the other config.cache step above.
75-
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ env.WASI_SDK_VERSION }}-${{ env.WASMTIME_VERSION }}-${{ inputs.config_hash }}-${{ hashFiles('Tools/wasm/wasi.py') }}-${{ env.pythonLocation }}
7653
- name: "Configure host"
7754
# `--with-pydebug` inferred from configure-build-python
7855
run: python3 Tools/wasm/wasi.py configure-host -- --config-cache

0 commit comments

Comments
 (0)