Skip to content

Commit 4f40546

Browse files
authored
Merge branch 'main' into gh-148022
2 parents dce0e75 + 617f4cc commit 4f40546

File tree

367 files changed

+10525
-3675
lines changed

Some content is hidden

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

367 files changed

+10525
-3675
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,4 @@ Tools/peg_generator/pegen/grammar_parser.py generated
112112
aclocal.m4 generated
113113
configure generated
114114
*.min.js generated
115+
package-lock.json generated

.github/actionlint.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
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+
16
config-variables: null
27

38
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: 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@v8
23+
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
2424
with:
2525
# language=JavaScript
2626
script: |

.github/workflows/build.yml

Lines changed: 30 additions & 22 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@v6
67+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
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@v6
104+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
105105
with:
106106
persist-credentials: false
107-
- uses: actions/setup-python@v6
107+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
108108
with:
109109
python-version: '3.x'
110110
- name: Runner image version
@@ -165,13 +165,21 @@ jobs:
165165
free-threading:
166166
- false
167167
- true
168+
interpreter:
169+
- switch-case
168170
exclude:
169171
# Skip Win32 on free-threaded builds
170172
- { arch: Win32, free-threading: true }
173+
include:
174+
# msvc::musttail is currently only supported on x64,
175+
# and only supported on 3.15+.
176+
- { arch: x64, free-threading: false, interpreter: tail-call }
177+
- { arch: x64, free-threading: true, interpreter: tail-call }
171178
uses: ./.github/workflows/reusable-windows.yml
172179
with:
173180
arch: ${{ matrix.arch }}
174181
free-threading: ${{ matrix.free-threading }}
182+
interpreter: ${{ matrix.interpreter }}
175183

176184
build-windows-msi:
177185
# ${{ '' } is a hack to nest jobs under the same sidebar category.
@@ -198,16 +206,16 @@ jobs:
198206
strategy:
199207
fail-fast: false
200208
matrix:
201-
# macos-14 is M1, macos-15-intel is Intel.
202-
# macos-15-intel only runs tests against the GIL-enabled CPython.
209+
# macos-26 is Apple Silicon, macos-26-intel is Intel.
210+
# macos-26-intel only runs tests against the GIL-enabled CPython.
203211
os:
204-
- macos-14
205-
- macos-15-intel
212+
- macos-26
213+
- macos-26-intel
206214
free-threading:
207215
- false
208216
- true
209217
exclude:
210-
- os: macos-15-intel
218+
- os: macos-26-intel
211219
free-threading: true
212220
uses: ./.github/workflows/reusable-macos.yml
213221
with:
@@ -283,7 +291,7 @@ jobs:
283291
SSLLIB_DIR: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
284292
LD_LIBRARY_PATH: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}/lib
285293
steps:
286-
- uses: actions/checkout@v6
294+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
287295
with:
288296
persist-credentials: false
289297
- name: Runner image version
@@ -294,7 +302,7 @@ jobs:
294302
run: sudo ./.github/workflows/posix-deps-apt.sh
295303
- name: 'Restore SSL library build'
296304
id: cache-ssl-lib
297-
uses: actions/cache@v5
305+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
298306
with:
299307
path: ./multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
300308
key: ${{ matrix.os }}-multissl-${{ matrix.ssllib.name }}-${{ matrix.ssllib.version }}
@@ -336,13 +344,13 @@ jobs:
336344
matrix:
337345
include:
338346
- arch: aarch64
339-
runs-on: macos-14
347+
runs-on: macos-26
340348
- arch: x86_64
341349
runs-on: ubuntu-24.04
342350

343351
runs-on: ${{ matrix.runs-on }}
344352
steps:
345-
- uses: actions/checkout@v6
353+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
346354
with:
347355
persist-credentials: false
348356
- name: Build and test
@@ -355,7 +363,7 @@ jobs:
355363
timeout-minutes: 60
356364
runs-on: macos-14
357365
steps:
358-
- uses: actions/checkout@v6
366+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
359367
with:
360368
persist-credentials: false
361369

@@ -369,7 +377,7 @@ jobs:
369377
sudo xcode-select --switch /Applications/Xcode_15.4.app
370378
371379
- name: Build and test
372-
run: python3 Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation),OS=17.5'
380+
run: python3 Platforms/Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation),OS=17.5'
373381

374382
build-emscripten:
375383
name: 'Emscripten'
@@ -393,7 +401,7 @@ jobs:
393401
OPENSSL_VER: 3.5.5
394402
PYTHONSTRICTEXTENSIONBUILD: 1
395403
steps:
396-
- uses: actions/checkout@v6
404+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
397405
with:
398406
persist-credentials: false
399407
- name: Register gcc problem matcher
@@ -407,7 +415,7 @@ jobs:
407415
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
408416
- name: 'Restore OpenSSL build'
409417
id: cache-openssl
410-
uses: actions/cache@v5
418+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
411419
with:
412420
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
413421
key: ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -454,7 +462,7 @@ jobs:
454462
./python -m venv "$VENV_LOC" && "$VENV_PYTHON" -m pip install -r "${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt"
455463
- name: 'Restore Hypothesis database'
456464
id: cache-hypothesis-database
457-
uses: actions/cache@v5
465+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
458466
with:
459467
path: ${{ env.CPYTHON_BUILDDIR }}/.hypothesis/
460468
key: hypothesis-database-${{ github.head_ref || github.run_id }}
@@ -481,7 +489,7 @@ jobs:
481489
-x test_subprocess \
482490
-x test_signal \
483491
-x test_sysconfig
484-
- uses: actions/upload-artifact@v7
492+
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
485493
if: always()
486494
with:
487495
name: hypothesis-example-db
@@ -502,7 +510,7 @@ jobs:
502510
PYTHONSTRICTEXTENSIONBUILD: 1
503511
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
504512
steps:
505-
- uses: actions/checkout@v6
513+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
506514
with:
507515
persist-credentials: false
508516
- name: Runner image version
@@ -512,7 +520,7 @@ jobs:
512520
- name: Install dependencies
513521
run: sudo ./.github/workflows/posix-deps-apt.sh
514522
- name: Set up GCC-10 for ASAN
515-
uses: egor-tensin/setup-gcc@v2
523+
uses: egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0
516524
with:
517525
version: 10
518526
- name: Configure OpenSSL env vars
@@ -522,7 +530,7 @@ jobs:
522530
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
523531
- name: 'Restore OpenSSL build'
524532
id: cache-openssl
525-
uses: actions/cache@v5
533+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
526534
with:
527535
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
528536
key: ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -569,7 +577,7 @@ jobs:
569577
needs: build-context
570578
if: needs.build-context.outputs.run-ubuntu == 'true'
571579
steps:
572-
- uses: actions/checkout@v6
580+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
573581
with:
574582
persist-credentials: false
575583
- 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: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
runs-on: ubuntu-24.04
3333
timeout-minutes: 60
3434
steps:
35-
- uses: actions/checkout@v6
35+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3636
with:
3737
persist-credentials: false
3838
- name: Build tier two interpreter
@@ -69,10 +69,10 @@ jobs:
6969
architecture: ARM64
7070
runner: windows-11-arm
7171
steps:
72-
- uses: actions/checkout@v6
72+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
7373
with:
7474
persist-credentials: false
75-
- uses: actions/setup-python@v6
75+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
7676
with:
7777
python-version: '3.11'
7878
# PCbuild downloads LLVM automatically:
@@ -99,14 +99,14 @@ jobs:
9999
- false
100100
include:
101101
- target: x86_64-apple-darwin/clang
102-
runner: macos-15-intel
102+
runner: macos-26-intel
103103
- target: aarch64-apple-darwin/clang
104-
runner: macos-14
104+
runner: macos-26
105105
steps:
106-
- uses: actions/checkout@v6
106+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
107107
with:
108108
persist-credentials: false
109-
- uses: actions/setup-python@v6
109+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
110110
with:
111111
python-version: '3.11'
112112
- name: Install LLVM
@@ -146,10 +146,10 @@ jobs:
146146
- target: aarch64-unknown-linux-gnu/gcc
147147
runner: ubuntu-24.04-arm
148148
steps:
149-
- uses: actions/checkout@v6
149+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
150150
with:
151151
persist-credentials: false
152-
- uses: actions/setup-python@v6
152+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
153153
with:
154154
python-version: '3.11'
155155
- name: Build
@@ -182,10 +182,10 @@ jobs:
182182
use_clang: true
183183
run_tests: false
184184
steps:
185-
- uses: actions/checkout@v6
185+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
186186
with:
187187
persist-credentials: false
188-
- uses: actions/setup-python@v6
188+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
189189
with:
190190
python-version: '3.11'
191191
- name: Build

.github/workflows/lint.yml

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

2121
steps:
22-
- uses: actions/checkout@v6
22+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2323
with:
2424
persist-credentials: false
25-
- uses: j178/prek-action@v1
25+
- uses: j178/prek-action@0bb87d7f00b0c99306c8bcb8b8beba1eb581c037 # v1.1.1

.github/workflows/mypy.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ jobs:
6565
"Tools/peg_generator",
6666
]
6767
steps:
68-
- uses: actions/checkout@v6
68+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6969
with:
7070
persist-credentials: false
71-
- uses: actions/setup-python@v6
71+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
7272
with:
7373
python-version: "3.13"
7474
cache: pip

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ jobs:
1313
runs-on: ubuntu-latest
1414
timeout-minutes: 10
1515
steps:
16-
- uses: actions/setup-node@v6
16+
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
1717
with:
1818
node-version: 20
1919
- run: npm install mailgun.js form-data
2020
- name: Send notification
21-
uses: actions/github-script@v8
21+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
2222
env:
2323
MAILGUN_API_KEY: ${{ secrets.MAILGUN_PYTHON_ORG_MAILGUN_KEY }}
2424
with:

0 commit comments

Comments
 (0)