Skip to content

Commit 969db8b

Browse files
committed
Merge remote-tracking branch 'upstream/main' into winreg-setvalueex-doc
2 parents 8273644 + c4ab024 commit 969db8b

File tree

916 files changed

+114177
-25887
lines changed

Some content is hidden

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

916 files changed

+114177
-25887
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: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,9 @@ Doc/howto/clinic.rst @erlend-aasland @AA-Turner
126126
# C Analyser
127127
Tools/c-analyzer/ @ericsnowcurrently
128128

129+
# C API Documentation Checks
130+
Tools/check-c-api-docs/ @ZeroIntensity
131+
129132
# Fuzzing
130133
Modules/_xxtestfuzz/ @ammaraskar
131134

@@ -286,10 +289,10 @@ Tools/jit/ @brandtbucher @savannahostrowski @diegorusso
286289
InternalDocs/jit.md @brandtbucher @savannahostrowski @diegorusso @AA-Turner
287290

288291
# Micro-op / μop / Tier 2 Optimiser
289-
Python/optimizer.c @markshannon
292+
Python/optimizer.c @markshannon @Fidget-Spinner
290293
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner
291294
Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner
292-
Python/optimizer_symbols.c @markshannon @tomasr8
295+
Python/optimizer_symbols.c @markshannon @tomasr8 @Fidget-Spinner
293296

294297
# Parser, Lexer, and Grammar
295298
Grammar/python.gram @pablogsal @lysnikolaou
@@ -319,7 +322,7 @@ Tools/build/generate_global_objects.py @ericsnowcurrently
319322
# Remote Debugging
320323
Python/remote_debug.h @pablogsal
321324
Python/remote_debugging.c @pablogsal
322-
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1
325+
Modules/_remote_debugging/ @pablogsal
323326

324327
# Sub-Interpreters
325328
**/*crossinterp* @ericsnowcurrently
@@ -534,6 +537,11 @@ Lib/pydoc.py @AA-Turner
534537
Lib/pydoc_data/ @AA-Turner
535538
Lib/test/test_pydoc/ @AA-Turner
536539

540+
# Profiling (Sampling)
541+
Doc/library/profiling*.rst @pablogsal
542+
Lib/profiling/ @pablogsal
543+
Lib/test/test_profiling/ @pablogsal
544+
537545
# PyREPL
538546
Lib/_pyrepl/ @pablogsal @lysnikolaou @ambv
539547
Lib/test/test_pyrepl/ @pablogsal @lysnikolaou @ambv

.github/CONTRIBUTING.rst

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,12 @@ Please be aware that our workflow does deviate slightly from the typical GitHub
2828
project. Details on how to properly submit a pull request are covered in
2929
`Lifecycle of a Pull Request <https://devguide.python.org/getting-started/pull-request-lifecycle.html>`_.
3030
We utilize various bots and status checks to help with this, so do follow the
31-
comments they leave and their "Details" links, respectively. The key points of
32-
our workflow that are not covered by a bot or status check are:
31+
comments they leave and their "Details" links, respectively.
3332

34-
- All discussions that are not directly related to the code in the pull request
35-
should happen on `GitHub Issues <https://github.com/python/cpython/issues>`_.
36-
- Upon your first non-trivial pull request (which includes documentation changes),
37-
feel free to add yourself to ``Misc/ACKS``.
33+
The final key part of our workflow is that all discussions that are not
34+
directly related to the code in the pull request should happen on
35+
`GitHub Issues <https://github.com/python/cpython/issues>`__, generally in the
36+
pull request's parent issue.
3837

3938

4039
Setting Expectations

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,6 @@ contact_links:
55
- name: "Proposing new features"
66
about: "Submit major feature proposal (e.g. syntax changes) to an ideas forum first."
77
url: "https://discuss.python.org/c/ideas/6"
8+
- name: "Python Install Manager issues"
9+
about: "Report issues with the Python Install Manager (for Windows)"
10+
url: "https://github.com/python/pymanager/issues"

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,17 @@ updates:
1212
update-types:
1313
- "version-update:semver-minor"
1414
- "version-update:semver-patch"
15+
cooldown:
16+
# https://blog.yossarian.net/2025/11/21/We-should-all-be-using-dependency-cooldowns
17+
# Cooldowns protect against supply chain attacks by avoiding the
18+
# highest-risk window immediately after new releases.
19+
default-days: 14
1520
- package-ecosystem: "pip"
1621
directory: "/Tools/"
1722
schedule:
1823
interval: "monthly"
1924
labels:
2025
- "skip issue"
2126
- "skip news"
27+
cooldown:
28+
default-days: 14

.github/workflows/build.yml

Lines changed: 28 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ 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
147+
145148

146149
build-windows:
147150
name: >-
@@ -188,7 +191,7 @@ jobs:
188191
macOS
189192
${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
190193
needs: build-context
191-
if: needs.build-context.outputs.run-tests == 'true'
194+
if: needs.build-context.outputs.run-macos == 'true'
192195
strategy:
193196
fail-fast: false
194197
matrix:
@@ -205,7 +208,6 @@ jobs:
205208
free-threading: true
206209
uses: ./.github/workflows/reusable-macos.yml
207210
with:
208-
config_hash: ${{ needs.build-context.outputs.config-hash }}
209211
free-threading: ${{ matrix.free-threading }}
210212
os: ${{ matrix.os }}
211213

@@ -215,7 +217,7 @@ jobs:
215217
${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
216218
${{ fromJSON(matrix.bolt) && '(bolt)' || '' }}
217219
needs: build-context
218-
if: needs.build-context.outputs.run-tests == 'true'
220+
if: needs.build-context.outputs.run-ubuntu == 'true'
219221
strategy:
220222
fail-fast: false
221223
matrix:
@@ -237,7 +239,6 @@ jobs:
237239
bolt: true
238240
uses: ./.github/workflows/reusable-ubuntu.yml
239241
with:
240-
config_hash: ${{ needs.build-context.outputs.config-hash }}
241242
bolt-optimizations: ${{ matrix.bolt }}
242243
free-threading: ${{ matrix.free-threading }}
243244
os: ${{ matrix.os }}
@@ -247,7 +248,7 @@ jobs:
247248
runs-on: ${{ matrix.os }}
248249
timeout-minutes: 60
249250
needs: build-context
250-
if: needs.build-context.outputs.run-tests == 'true'
251+
if: needs.build-context.outputs.run-ubuntu == 'true'
251252
strategy:
252253
fail-fast: false
253254
matrix:
@@ -303,7 +304,7 @@ jobs:
303304
runs-on: ${{ matrix.os }}
304305
timeout-minutes: 60
305306
needs: build-context
306-
if: needs.build-context.outputs.run-tests == 'true'
307+
if: needs.build-context.outputs.run-ubuntu == 'true'
307308
strategy:
308309
fail-fast: false
309310
matrix:
@@ -367,7 +368,7 @@ jobs:
367368
build-android:
368369
name: Android (${{ matrix.arch }})
369370
needs: build-context
370-
if: needs.build-context.outputs.run-tests == 'true'
371+
if: needs.build-context.outputs.run-android == 'true'
371372
timeout-minutes: 60
372373
strategy:
373374
fail-fast: false
@@ -389,9 +390,9 @@ jobs:
389390
build-ios:
390391
name: iOS
391392
needs: build-context
392-
if: needs.build-context.outputs.run-tests == 'true'
393+
if: needs.build-context.outputs.run-ios == 'true'
393394
timeout-minutes: 60
394-
runs-on: macos-15
395+
runs-on: macos-14
395396
steps:
396397
- uses: actions/checkout@v4
397398
with:
@@ -404,25 +405,23 @@ jobs:
404405
# https://github.com/actions/runner-images/issues/12751.
405406
- name: Select Xcode version
406407
run: |
407-
sudo xcode-select --switch /Applications/Xcode_16.4.app
408+
sudo xcode-select --switch /Applications/Xcode_15.4.app
408409
409410
- name: Build and test
410-
run: python3 Apple ci iOS --fast-ci --simulator 'iPhone 16e,OS=18.5'
411+
run: python3 Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation),OS=17.5'
411412

412413
build-wasi:
413414
name: 'WASI'
414415
needs: build-context
415-
if: needs.build-context.outputs.run-tests == 'true'
416+
if: needs.build-context.outputs.run-wasi == 'true'
416417
uses: ./.github/workflows/reusable-wasi.yml
417-
with:
418-
config_hash: ${{ needs.build-context.outputs.config-hash }}
419418

420419
test-hypothesis:
421420
name: "Hypothesis tests on Ubuntu"
422421
runs-on: ubuntu-24.04
423422
timeout-minutes: 60
424423
needs: build-context
425-
if: needs.build-context.outputs.run-tests == 'true'
424+
if: needs.build-context.outputs.run-ubuntu == 'true'
426425
env:
427426
OPENSSL_VER: 3.0.18
428427
PYTHONSTRICTEXTENSIONBUILD: 1
@@ -529,7 +528,7 @@ jobs:
529528
runs-on: ${{ matrix.os }}
530529
timeout-minutes: 60
531530
needs: build-context
532-
if: needs.build-context.outputs.run-tests == 'true'
531+
if: needs.build-context.outputs.run-ubuntu == 'true'
533532
strategy:
534533
fail-fast: false
535534
matrix:
@@ -582,7 +581,7 @@ jobs:
582581
# ${{ '' } is a hack to nest jobs under the same sidebar category.
583582
name: Sanitizers${{ '' }} # zizmor: ignore[obfuscation]
584583
needs: build-context
585-
if: needs.build-context.outputs.run-tests == 'true'
584+
if: needs.build-context.outputs.run-ubuntu == 'true'
586585
strategy:
587586
fail-fast: false
588587
matrix:
@@ -600,15 +599,14 @@ jobs:
600599
uses: ./.github/workflows/reusable-san.yml
601600
with:
602601
sanitizer: ${{ matrix.sanitizer }}
603-
config_hash: ${{ needs.build-context.outputs.config-hash }}
604602
free-threading: ${{ matrix.free-threading }}
605603

606604
cross-build-linux:
607605
name: Cross build Linux
608606
runs-on: ubuntu-latest
609607
timeout-minutes: 60
610608
needs: build-context
611-
if: needs.build-context.outputs.run-tests == 'true'
609+
if: needs.build-context.outputs.run-ubuntu == 'true'
612610
steps:
613611
- uses: actions/checkout@v4
614612
with:
@@ -714,44 +712,32 @@ jobs:
714712
test-hypothesis,
715713
cifuzz,
716714
allowed-skips: >-
715+
${{ !fromJSON(needs.build-context.outputs.run-docs) && 'check-docs,' || '' }}
717716
${{
718-
!fromJSON(needs.build-context.outputs.run-docs)
717+
needs.build-context.outputs.run-tests != 'true'
719718
&& '
720-
check-docs,
719+
check-autoconf-regen,
720+
check-generated-files,
721721
'
722722
|| ''
723723
}}
724+
${{ !fromJSON(needs.build-context.outputs.run-windows-tests) && 'build-windows,' || '' }}
725+
${{ !fromJSON(needs.build-context.outputs.run-ci-fuzz) && 'cifuzz,' || '' }}
726+
${{ !fromJSON(needs.build-context.outputs.run-macos) && 'build-macos,' || '' }}
724727
${{
725-
needs.build-context.outputs.run-tests != 'true'
728+
!fromJSON(needs.build-context.outputs.run-ubuntu)
726729
&& '
727-
check-autoconf-regen,
728-
check-generated-files,
729-
build-macos,
730730
build-ubuntu,
731731
build-ubuntu-ssltests-awslc,
732732
build-ubuntu-ssltests-openssl,
733-
build-android,
734-
build-ios,
735-
build-wasi,
736733
test-hypothesis,
737734
build-asan,
738735
build-san,
739736
cross-build-linux,
740737
'
741738
|| ''
742739
}}
743-
${{
744-
!fromJSON(needs.build-context.outputs.run-windows-tests)
745-
&& '
746-
build-windows,
747-
'
748-
|| ''
749-
}}
750-
${{
751-
!fromJSON(needs.build-context.outputs.run-ci-fuzz)
752-
&& '
753-
cifuzz,
754-
'
755-
|| ''
756-
}}
740+
${{ !fromJSON(needs.build-context.outputs.run-android) && 'build-android,' || '' }}
741+
${{ !fromJSON(needs.build-context.outputs.run-ios) && 'build-ios,' || '' }}
742+
${{ !fromJSON(needs.build-context.outputs.run-wasi) && 'build-wasi,' || '' }}
757743
jobs: ${{ toJSON(needs) }}

.github/workflows/mypy.yml

Lines changed: 2 additions & 0 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,6 +59,7 @@ 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",

0 commit comments

Comments
 (0)