Skip to content

Commit 94273d7

Browse files
authored
Merge branch 'python:main' into patch-1
2 parents 3c82f0e + 36f15ba commit 94273d7

File tree

316 files changed

+10609
-3207
lines changed

Some content is hidden

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

316 files changed

+10609
-3207
lines changed

.github/CODEOWNERS

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,12 @@ Lib/test/test_build_details.py @FFY00
100100
InternalDocs/ @AA-Turner
101101

102102
# Tools, Configuration, etc
103-
Doc/Makefile @AA-Turner @hugovk
104-
Doc/_static/ @AA-Turner @hugovk
105-
Doc/conf.py @AA-Turner @hugovk
106-
Doc/make.bat @AA-Turner @hugovk
107-
Doc/requirements.txt @AA-Turner @hugovk
108-
Doc/tools/ @AA-Turner @hugovk
103+
Doc/Makefile @AA-Turner @hugovk @StanFromIreland
104+
Doc/_static/ @AA-Turner @hugovk @StanFromIreland
105+
Doc/conf.py @AA-Turner @hugovk @StanFromIreland
106+
Doc/make.bat @AA-Turner @hugovk @StanFromIreland
107+
Doc/requirements.txt @AA-Turner @hugovk @StanFromIreland
108+
Doc/tools/ @AA-Turner @hugovk @StanFromIreland
109109

110110
# PR Previews
111111
.readthedocs.yml @AA-Turner

.github/actionlint.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
self-hosted-runner:
2-
# Pending release of actionlint > 1.7.11 for macos-26-intel support
3-
# https://github.com/rhysd/actionlint/pull/629
4-
labels: ["macos-26-intel"]
5-
61
config-variables: null
72

83
paths:

.github/dependabot.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ updates:
33
- package-ecosystem: "github-actions"
44
directory: "/"
55
schedule:
6-
interval: "monthly"
6+
interval: "quarterly"
77
labels:
88
- "skip issue"
99
- "skip news"
@@ -24,7 +24,7 @@ updates:
2424
- package-ecosystem: "pip"
2525
directory: "/Tools/"
2626
schedule:
27-
interval: "monthly"
27+
interval: "quarterly"
2828
labels:
2929
- "skip issue"
3030
- "skip news"

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ on:
1212
# Only ever run once
1313
- opened
1414

15+
permissions: {}
1516

1617
jobs:
1718
add-header:
@@ -20,7 +21,7 @@ jobs:
2021
issues: write
2122
timeout-minutes: 5
2223
steps:
23-
- uses: actions/github-script@v8
24+
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
2425
with:
2526
# language=JavaScript
2627
script: |

.github/workflows/build.yml

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ on:
1111
- 'main'
1212
- '3.*'
1313

14-
permissions:
15-
contents: read
14+
permissions: {}
1615

1716
concurrency:
1817
# https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#concurrency
@@ -64,7 +63,7 @@ jobs:
6463
run: |
6564
apt update && apt install git -yq
6665
git config --global --add safe.directory "$GITHUB_WORKSPACE"
67-
- uses: actions/checkout@v6
66+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6867
with:
6968
fetch-depth: 1
7069
persist-credentials: false
@@ -101,10 +100,10 @@ jobs:
101100
needs: build-context
102101
if: needs.build-context.outputs.run-tests == 'true'
103102
steps:
104-
- uses: actions/checkout@v6
103+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
105104
with:
106105
persist-credentials: false
107-
- uses: actions/setup-python@v6
106+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
108107
with:
109108
python-version: '3.x'
110109
- name: Runner image version
@@ -165,13 +164,21 @@ jobs:
165164
free-threading:
166165
- false
167166
- true
167+
interpreter:
168+
- switch-case
168169
exclude:
169170
# Skip Win32 on free-threaded builds
170171
- { arch: Win32, free-threading: true }
172+
include:
173+
# msvc::musttail is currently only supported on x64,
174+
# and only supported on 3.15+.
175+
- { arch: x64, free-threading: false, interpreter: tail-call }
176+
- { arch: x64, free-threading: true, interpreter: tail-call }
171177
uses: ./.github/workflows/reusable-windows.yml
172178
with:
173179
arch: ${{ matrix.arch }}
174180
free-threading: ${{ matrix.free-threading }}
181+
interpreter: ${{ matrix.interpreter }}
175182

176183
build-windows-msi:
177184
# ${{ '' } is a hack to nest jobs under the same sidebar category.
@@ -198,16 +205,16 @@ jobs:
198205
strategy:
199206
fail-fast: false
200207
matrix:
201-
# macos-26 is Apple Silicon, macos-26-intel is Intel.
202-
# macos-26-intel only runs tests against the GIL-enabled CPython.
208+
# macos-26 is Apple Silicon, macos-15-intel is Intel.
209+
# macos-15-intel only runs tests against the GIL-enabled CPython.
203210
os:
204211
- macos-26
205-
- macos-26-intel
212+
- macos-15-intel
206213
free-threading:
207214
- false
208215
- true
209216
exclude:
210-
- os: macos-26-intel
217+
- os: macos-15-intel
211218
free-threading: true
212219
uses: ./.github/workflows/reusable-macos.yml
213220
with:
@@ -283,7 +290,7 @@ jobs:
283290
SSLLIB_DIR: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
284291
LD_LIBRARY_PATH: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}/lib
285292
steps:
286-
- uses: actions/checkout@v6
293+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
287294
with:
288295
persist-credentials: false
289296
- name: Runner image version
@@ -294,7 +301,7 @@ jobs:
294301
run: sudo ./.github/workflows/posix-deps-apt.sh
295302
- name: 'Restore SSL library build'
296303
id: cache-ssl-lib
297-
uses: actions/cache@v5
304+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
298305
with:
299306
path: ./multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
300307
key: ${{ matrix.os }}-multissl-${{ matrix.ssllib.name }}-${{ matrix.ssllib.version }}
@@ -342,7 +349,7 @@ jobs:
342349

343350
runs-on: ${{ matrix.runs-on }}
344351
steps:
345-
- uses: actions/checkout@v6
352+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
346353
with:
347354
persist-credentials: false
348355
- name: Build and test
@@ -355,7 +362,7 @@ jobs:
355362
timeout-minutes: 60
356363
runs-on: macos-14
357364
steps:
358-
- uses: actions/checkout@v6
365+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
359366
with:
360367
persist-credentials: false
361368

@@ -393,7 +400,7 @@ jobs:
393400
OPENSSL_VER: 3.5.5
394401
PYTHONSTRICTEXTENSIONBUILD: 1
395402
steps:
396-
- uses: actions/checkout@v6
403+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
397404
with:
398405
persist-credentials: false
399406
- name: Register gcc problem matcher
@@ -407,7 +414,7 @@ jobs:
407414
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
408415
- name: 'Restore OpenSSL build'
409416
id: cache-openssl
410-
uses: actions/cache@v5
417+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
411418
with:
412419
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
413420
key: ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -454,7 +461,7 @@ jobs:
454461
./python -m venv "$VENV_LOC" && "$VENV_PYTHON" -m pip install -r "${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt"
455462
- name: 'Restore Hypothesis database'
456463
id: cache-hypothesis-database
457-
uses: actions/cache@v5
464+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
458465
with:
459466
path: ${{ env.CPYTHON_BUILDDIR }}/.hypothesis/
460467
key: hypothesis-database-${{ github.head_ref || github.run_id }}
@@ -481,7 +488,7 @@ jobs:
481488
-x test_subprocess \
482489
-x test_signal \
483490
-x test_sysconfig
484-
- uses: actions/upload-artifact@v7
491+
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
485492
if: always()
486493
with:
487494
name: hypothesis-example-db
@@ -502,7 +509,7 @@ jobs:
502509
PYTHONSTRICTEXTENSIONBUILD: 1
503510
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
504511
steps:
505-
- uses: actions/checkout@v6
512+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
506513
with:
507514
persist-credentials: false
508515
- name: Runner image version
@@ -512,7 +519,7 @@ jobs:
512519
- name: Install dependencies
513520
run: sudo ./.github/workflows/posix-deps-apt.sh
514521
- name: Set up GCC-10 for ASAN
515-
uses: egor-tensin/setup-gcc@v2
522+
uses: egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0
516523
with:
517524
version: 10
518525
- name: Configure OpenSSL env vars
@@ -522,7 +529,7 @@ jobs:
522529
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
523530
- name: 'Restore OpenSSL build'
524531
id: cache-openssl
525-
uses: actions/cache@v5
532+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
526533
with:
527534
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
528535
key: ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -569,7 +576,7 @@ jobs:
569576
needs: build-context
570577
if: needs.build-context.outputs.run-ubuntu == 'true'
571578
steps:
572-
- uses: actions/checkout@v6
579+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
573580
with:
574581
persist-credentials: false
575582
- name: Runner image version

.github/workflows/documentation-links.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
timeout-minutes: 5
2323

2424
steps:
25-
- uses: readthedocs/actions/preview@v1
25+
- uses: readthedocs/actions/preview@b8bba1484329bda1a3abe986df7ebc80a8950333 # v1.5
2626
with:
2727
project-slug: "cpython-previews"
2828
single-version: "true"

.github/workflows/jit.yml

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ on:
1515
paths: *paths
1616
workflow_dispatch:
1717

18-
permissions:
19-
contents: read
18+
permissions: {}
2019

2120
concurrency:
2221
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
@@ -32,7 +31,7 @@ jobs:
3231
runs-on: ubuntu-24.04
3332
timeout-minutes: 60
3433
steps:
35-
- uses: actions/checkout@v6
34+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3635
with:
3736
persist-credentials: false
3837
- name: Build tier two interpreter
@@ -69,10 +68,10 @@ jobs:
6968
architecture: ARM64
7069
runner: windows-11-arm
7170
steps:
72-
- uses: actions/checkout@v6
71+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
7372
with:
7473
persist-credentials: false
75-
- uses: actions/setup-python@v6
74+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
7675
with:
7776
python-version: '3.11'
7877
# PCbuild downloads LLVM automatically:
@@ -99,14 +98,14 @@ jobs:
9998
- false
10099
include:
101100
- target: x86_64-apple-darwin/clang
102-
runner: macos-26-intel
101+
runner: macos-15-intel
103102
- target: aarch64-apple-darwin/clang
104-
runner: macos-26
103+
runner: macos-15
105104
steps:
106-
- uses: actions/checkout@v6
105+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
107106
with:
108107
persist-credentials: false
109-
- uses: actions/setup-python@v6
108+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
110109
with:
111110
python-version: '3.11'
112111
- name: Install LLVM
@@ -146,10 +145,10 @@ jobs:
146145
- target: aarch64-unknown-linux-gnu/gcc
147146
runner: ubuntu-24.04-arm
148147
steps:
149-
- uses: actions/checkout@v6
148+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
150149
with:
151150
persist-credentials: false
152-
- uses: actions/setup-python@v6
151+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
153152
with:
154153
python-version: '3.11'
155154
- name: Build
@@ -182,10 +181,10 @@ jobs:
182181
use_clang: true
183182
run_tests: false
184183
steps:
185-
- uses: actions/checkout@v6
184+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
186185
with:
187186
persist-credentials: false
188-
- uses: actions/setup-python@v6
187+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
189188
with:
190189
python-version: '3.11'
191190
- name: Build

.github/workflows/lint.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ name: Lint
22

33
on: [push, pull_request, workflow_dispatch]
44

5-
permissions:
6-
contents: read
5+
permissions: {}
76

87
env:
98
FORCE_COLOR: 1
@@ -19,7 +18,7 @@ jobs:
1918
timeout-minutes: 10
2019

2120
steps:
22-
- uses: actions/checkout@v6
21+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2322
with:
2423
persist-credentials: false
25-
- uses: j178/prek-action@v1
24+
- uses: j178/prek-action@0bb87d7f00b0c99306c8bcb8b8beba1eb581c037 # v1.1.1

.github/workflows/mypy.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ on:
3333
- "Tools/requirements-dev.txt"
3434
workflow_dispatch:
3535

36-
permissions:
37-
contents: read
36+
permissions: {}
3837

3938
env:
4039
PIP_DISABLE_PIP_VERSION_CHECK: 1
@@ -65,10 +64,10 @@ jobs:
6564
"Tools/peg_generator",
6665
]
6766
steps:
68-
- uses: actions/checkout@v6
67+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6968
with:
7069
persist-credentials: false
71-
- uses: actions/setup-python@v6
70+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
7271
with:
7372
python-version: "3.13"
7473
cache: pip

0 commit comments

Comments
 (0)