Skip to content

Commit e302112

Browse files
committed
Merge branch 'main' into jit_float_truediv
2 parents 44ee7f0 + cb76ab3 commit e302112

File tree

229 files changed

+7276
-2539
lines changed

Some content is hidden

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

229 files changed

+7276
-2539
lines changed

.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: 27 additions & 19 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-26 is Apple Silicon, macos-26-intel is Intel.
202-
# macos-26-intel only runs tests against the GIL-enabled CPython.
209+
# macos-26 is Apple Silicon, macos-15-intel is Intel.
210+
# macos-15-intel only runs tests against the GIL-enabled CPython.
203211
os:
204212
- macos-26
205-
- macos-26-intel
213+
- macos-15-intel
206214
free-threading:
207215
- false
208216
- true
209217
exclude:
210-
- os: macos-26-intel
218+
- os: macos-15-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 }}
@@ -342,7 +350,7 @@ jobs:
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

@@ -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: 9 additions & 9 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:
@@ -103,10 +103,10 @@ jobs:
103103
- target: aarch64-apple-darwin/clang
104104
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:

.github/workflows/require-pr-label.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515

1616
steps:
1717
- name: Check there's no DO-NOT-MERGE
18-
uses: mheap/github-action-required-labels@v5
18+
uses: mheap/github-action-required-labels@0ac283b4e65c1fb28ce6079dea5546ceca98ccbe # v5.5.2
1919
with:
2020
mode: exactly
2121
count: 0
@@ -33,7 +33,7 @@ jobs:
3333
steps:
3434
# Check that the PR is not awaiting changes from the author due to previous review.
3535
- name: Check there's no required changes
36-
uses: mheap/github-action-required-labels@v5
36+
uses: mheap/github-action-required-labels@0ac283b4e65c1fb28ce6079dea5546ceca98ccbe # v5.5.2
3737
with:
3838
mode: exactly
3939
count: 0
@@ -42,7 +42,7 @@ jobs:
4242
awaiting change review
4343
- id: is-feature
4444
name: Check whether this PR is a feature (contains a "type-feature" label)
45-
uses: mheap/github-action-required-labels@v5
45+
uses: mheap/github-action-required-labels@0ac283b4e65c1fb28ce6079dea5546ceca98ccbe # v5.5.2
4646
with:
4747
mode: exactly
4848
count: 1
@@ -53,7 +53,7 @@ jobs:
5353
- id: awaiting-merge
5454
if: steps.is-feature.outputs.status == 'success'
5555
name: Check for complete review
56-
uses: mheap/github-action-required-labels@v5
56+
uses: mheap/github-action-required-labels@0ac283b4e65c1fb28ce6079dea5546ceca98ccbe # v5.5.2
5757
with:
5858
mode: exactly
5959
count: 1

.github/workflows/reusable-check-c-api-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ jobs:
1515
runs-on: ubuntu-latest
1616
timeout-minutes: 5
1717
steps:
18-
- uses: actions/checkout@v6
18+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1919
with:
2020
persist-credentials: false
21-
- uses: actions/setup-python@v6
21+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
2222
with:
2323
python-version: '3.x'
2424
- name: Check for undocumented C APIs

0 commit comments

Comments
 (0)