Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd020f86

Browse files
authored
Merge branch 'python:main' into pprint_dict_view
2 parentsbca6f6f +e870c85 commitd020f86

File tree

1,007 files changed

+34056
-10838
lines changed

Some content is hidden

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

1,007 files changed

+34056
-10838
lines changed

‎.github/CODEOWNERS

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,18 @@ Lib/test/support/interpreters/ @ericsnowcurrently
243243
Modules/_xx*interp*module.c@ericsnowcurrently
244244
Lib/test/test_interpreters/@ericsnowcurrently
245245

246+
# Android
247+
**/*Android*@mhsmith
248+
**/*android*@mhsmith
249+
250+
# iOS (but not termios)
251+
**/iOS*@freakboy3742
252+
**/ios*@freakboy3742
253+
**/*_iOS*@freakboy3742
254+
**/*_ios*@freakboy3742
255+
**/*-iOS*@freakboy3742
256+
**/*-ios*@freakboy3742
257+
246258
# WebAssembly
247259
/Tools/wasm/@brettcannon
248260

‎.github/workflows/build.yml

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,11 @@ on:
88
push:
99
branches:
1010
-'main'
11-
-'3.12'
12-
-'3.11'
13-
-'3.10'
14-
-'3.9'
15-
-'3.8'
11+
-'3.*'
1612
pull_request:
1713
branches:
1814
-'main'
19-
-'3.12'
20-
-'3.11'
21-
-'3.10'
22-
-'3.9'
23-
-'3.8'
15+
-'3.*'
2416

2517
permissions:
2618
contents:read
@@ -218,7 +210,7 @@ jobs:
218210
with:
219211
config_hash:${{ needs.check_source.outputs.config_hash }}
220212
free-threading:true
221-
# macos-14 isM1
213+
# macos-14-large isIntel with 12 cores (most parallelism)
222214
os-matrix:'["macos-14"]'
223215

224216
build_ubuntu:
@@ -250,7 +242,7 @@ jobs:
250242
251243
build_ubuntu_ssltests:
252244
name:'Ubuntu SSL tests with OpenSSL'
253-
runs-on:ubuntu-20.04
245+
runs-on:ubuntu-22.04
254246
timeout-minutes:60
255247
needs:check_source
256248
if:needs.check_source.outputs.run_tests == 'true'
@@ -316,7 +308,7 @@ jobs:
316308

317309
test_hypothesis:
318310
name:"Hypothesis tests on Ubuntu"
319-
runs-on:ubuntu-20.04
311+
runs-on:ubuntu-22.04
320312
timeout-minutes:60
321313
needs:check_source
322314
if:needs.check_source.outputs.run_tests == 'true' && needs.check_source.outputs.run_hypothesis == 'true'
@@ -429,7 +421,7 @@ jobs:
429421

430422
build_asan:
431423
name:'Address sanitizer'
432-
runs-on:ubuntu-20.04
424+
runs-on:ubuntu-22.04
433425
timeout-minutes:60
434426
needs:check_source
435427
if:needs.check_source.outputs.run_tests == 'true'
@@ -494,6 +486,7 @@ jobs:
494486
config_hash:${{ needs.check_source.outputs.config_hash }}
495487
options:./configure --config-cache --with-thread-sanitizer --with-pydebug
496488
suppressions_path:Tools/tsan/supressions.txt
489+
tsan_logs_artifact_name:tsan-logs-default
497490

498491
build_tsan_free_threading:
499492
name:'Thread sanitizer (free-threading)'
@@ -504,6 +497,7 @@ jobs:
504497
config_hash:${{ needs.check_source.outputs.config_hash }}
505498
options:./configure --config-cache --disable-gil --with-thread-sanitizer --with-pydebug
506499
suppressions_path:Tools/tsan/suppressions_free_threading.txt
500+
tsan_logs_artifact_name:tsan-logs-free-threading
507501

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

‎.github/workflows/jit.yml

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,17 @@ on:
55
-'**jit**'
66
-'Python/bytecodes.c'
77
-'Python/optimizer*.c'
8+
-'!Python/perf_jit_trampoline.c'
9+
-'!**/*.md'
10+
-'!**/*.ini'
811
push:
912
paths:
1013
-'**jit**'
1114
-'Python/bytecodes.c'
1215
-'Python/optimizer*.c'
16+
-'!Python/perf_jit_trampoline.c'
17+
-'!**/*.md'
18+
-'!**/*.ini'
1319
workflow_dispatch:
1420

1521
permissions:
@@ -23,7 +29,7 @@ jobs:
2329
jit:
2430
name:${{ matrix.target }} (${{ matrix.debug && 'Debug' || 'Release' }})
2531
runs-on:${{ matrix.runner }}
26-
timeout-minutes:75
32+
timeout-minutes:90
2733
strategy:
2834
fail-fast:false
2935
matrix:
@@ -41,7 +47,7 @@ jobs:
4147
-true
4248
-false
4349
llvm:
44-
-16
50+
-18
4551
include:
4652
-target:i686-pc-windows-msvc/msvc
4753
architecture:Win32
@@ -75,14 +81,10 @@ jobs:
7581
architecture:aarch64
7682
runner:ubuntu-latest
7783
compiler:gcc
78-
# These fail because of emulation, not because of the JIT:
79-
exclude:test_pathlib test_posixpath test_unix_events test_init test_process_pool test_shutdown test_multiprocessing_fork test_cmd_line test_faulthandler test_os test_perf_profiler test_posix test_signal test_socket test_subprocess test_threading test_venv test_external_inspection
8084
-target:aarch64-unknown-linux-gnu/clang
8185
architecture:aarch64
8286
runner:ubuntu-latest
8387
compiler:clang
84-
# These fail because of emulation, not because of the JIT:
85-
exclude:test_pathlib test_posixpath test_unix_events test_init test_process_pool test_shutdown test_multiprocessing_fork test_cmd_line test_faulthandler test_os test_perf_profiler test_posix test_signal test_socket test_subprocess test_threading test_venv test_external_inspection
8688
env:
8789
CC:${{ matrix.compiler }}
8890
steps:
@@ -94,37 +96,43 @@ jobs:
9496
-name:Native Windows
9597
if:runner.os == 'Windows' && matrix.architecture != 'ARM64'
9698
run:|
99+
choco upgrade llvm -y
97100
choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}
98101
./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '--pgo' }} -p ${{ matrix.architecture }}
99-
./PCbuild/rt.bat ${{ matrix.debug && '-d' }} -p ${{ matrix.architecture }} -q --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 4500 --verbose2 --verbose3
102+
./PCbuild/rt.bat ${{ matrix.debug && '-d'|| ''}} -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
100103
101104
# No PGO or tests (yet):
102105
-name:Emulated Windows
103106
if:runner.os == 'Windows' && matrix.architecture == 'ARM64'
104107
run:|
108+
choco upgrade llvm -y
105109
choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}
106110
./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
107111
108112
-name:Native macOS
109113
if:runner.os == 'macOS'
110114
run:|
115+
brew update
111116
brew install llvm@${{ matrix.llvm }}
112117
SDKROOT="$(xcrun --show-sdk-path)" \
113118
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }}
114119
make all --jobs 4
115-
./python.exe -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 4500 --verbose2 --verbose3
120+
./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
116121
122+
# --with-lto has been removed temporarily as a result of an open issue in LLVM 18 (see https://github.com/llvm/llvm-project/issues/87553)
117123
-name:Native Linux
118124
if:runner.os == 'Linux' && matrix.architecture == 'x86_64'
119125
run:|
120126
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
121127
export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
122-
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }}
128+
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations' }}
123129
make all --jobs 4
124-
./python -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 4500 --verbose2 --verbose3
130+
./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
125131
132+
# --with-lto has been removed temporarily as a result of an open issue in LLVM 18 (see https://github.com/llvm/llvm-project/issues/87553)
126133
-name:Emulated Linux
127134
if:runner.os == 'Linux' && matrix.architecture != 'x86_64'
135+
# The --ignorefile on ./python -m test is used to exclude tests known to fail when running on an emulated Linux.
128136
run:|
129137
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
130138
export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
@@ -139,6 +147,6 @@ jobs:
139147
CC="${{ matrix.compiler == 'clang' && 'clang --target=$HOST' || '$HOST-gcc' }}" \
140148
CPP="$CC --preprocess" \
141149
HOSTRUNNER=qemu-${{ matrix.architecture }} \
142-
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations--with-lto' }} --build=x86_64-linux-gnu --host="$HOST" --with-build-python=../build/bin/python3 --with-pkg-config=no ac_cv_buggy_getaddrinfo=no ac_cv_file__dev_ptc=no ac_cv_file__dev_ptmx=yes
150+
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations ' }} --build=x86_64-linux-gnu --host="$HOST" --with-build-python=../build/bin/python3 --with-pkg-config=no ac_cv_buggy_getaddrinfo=no ac_cv_file__dev_ptc=no ac_cv_file__dev_ptmx=yes
143151
make all --jobs 4
144-
./python -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 4500 --verbose2 --verbose3
152+
./python -m test --ignorefile=Tools/jit/ignore-tests-emulated-linux.txt --multiprocess 0 --timeout 4500 --verbose2 --verbose3

‎.github/workflows/mypy.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
pull_request:
99
paths:
1010
-".github/workflows/mypy.yml"
11+
-"Lib/_pyrepl/**"
1112
-"Lib/test/libregrtest/**"
1213
-"Tools/build/generate_sbom.py"
1314
-"Tools/cases_generator/**"
@@ -35,8 +36,9 @@ jobs:
3536
strategy:
3637
matrix:
3738
target:[
39+
"Lib/_pyrepl",
3840
"Lib/test/libregrtest",
39-
"Tools/build/",
41+
"Tools/build",
4042
"Tools/cases_generator",
4143
"Tools/clinic",
4244
"Tools/jit",

‎.github/workflows/posix-deps-apt.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ apt-get -yq install \
1515
libgdbm-dev \
1616
libgdbm-compat-dev \
1717
liblzma-dev \
18+
libmpdec-dev \
1819
libncurses5-dev \
1920
libreadline6-dev \
2021
libsqlite3-dev \

‎.github/workflows/reusable-docs.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ jobs:
6262
python Doc/tools/check-warnings.py \
6363
--annotate-diff '${{ env.branch_base }}' '${{ env.branch_pr }}' \
6464
--fail-if-regression \
65-
--fail-if-improved
65+
--fail-if-improved \
66+
--fail-if-new-news-nit
6667
6768
# This build doesn't use problem matchers or check annotations
6869
build_doc_oldest_supported_sphinx:

‎.github/workflows/reusable-macos.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
HOMEBREW_NO_INSTALL_CLEANUP:1
2323
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK:1
2424
PYTHONSTRICTEXTENSIONBUILD:1
25+
TERM:linux
2526
strategy:
2627
fail-fast:false
2728
matrix:
@@ -49,7 +50,7 @@ jobs:
4950
--prefix=/opt/python-dev \
5051
--with-openssl="$(brew --prefix openssl@3.0)"
5152
-name:Build CPython
52-
run:make -j4
53+
run:make -j8
5354
-name:Display build info
5455
run:make pythoninfo
5556
-name:Tests

‎.github/workflows/reusable-tsan.yml

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ on:
1111
description:'A repo relative path to the suppressions file'
1212
required:true
1313
type:string
14+
tsan_logs_artifact_name:
15+
description:'Name of the TSAN logs artifact. Must be unique for each job.'
16+
required:true
17+
type:string
1418

1519
jobs:
1620
build_tsan_reusable:
@@ -29,12 +33,19 @@ jobs:
2933
-name:Install Dependencies
3034
run:|
3135
sudo ./.github/workflows/posix-deps-apt.sh
32-
sudo apt install -y clang
36+
# Install clang-18
37+
wget https://apt.llvm.org/llvm.sh
38+
chmod +x llvm.sh
39+
sudo ./llvm.sh 18
40+
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 100
41+
sudo update-alternatives --set clang /usr/bin/clang-18
42+
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 100
43+
sudo update-alternatives --set clang++ /usr/bin/clang++-18
3344
# Reduce ASLR to avoid TSAN crashing
3445
sudo sysctl -w vm.mmap_rnd_bits=28
3546
-name:TSAN Option Setup
3647
run:|
37-
echo "TSAN_OPTIONS=suppressions=${GITHUB_WORKSPACE}/${{ inputs.suppressions_path }}" >> $GITHUB_ENV
48+
echo "TSAN_OPTIONS=log_path=${GITHUB_WORKSPACE}/tsan_logsuppressions=${GITHUB_WORKSPACE}/${{ inputs.suppressions_path }} handle_segv=0" >> $GITHUB_ENV
3849
echo "CC=clang" >> $GITHUB_ENV
3950
echo "CXX=clang++" >> $GITHUB_ENV
4051
-name:Add ccache to PATH
@@ -53,3 +64,13 @@ jobs:
5364
run:make pythoninfo
5465
-name:Tests
5566
run:./python -m test --tsan -j4
67+
-name:Display TSAN logs
68+
if:always()
69+
run:find ${GITHUB_WORKSPACE} -name 'tsan_log.*' | xargs head -n 1000
70+
-name:Archive TSAN logs
71+
if:always()
72+
uses:actions/upload-artifact@v4
73+
with:
74+
name:${{ inputs.tsan_logs_artifact_name }}
75+
path:tsan_log.*
76+
if-no-files-found:ignore

‎.github/workflows/reusable-ubuntu.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@ jobs:
1212
build_ubuntu_reusable:
1313
name:'build and test'
1414
timeout-minutes:60
15-
runs-on:ubuntu-20.04
15+
runs-on:ubuntu-22.04
1616
env:
1717
FORCE_COLOR:1
1818
OPENSSL_VER:3.0.13
1919
PYTHONSTRICTEXTENSIONBUILD:1
20+
TERM:linux
2021
steps:
2122
-uses:actions/checkout@v4
2223
-name:Register gcc problem matcher

‎.github/workflows/reusable-wasi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
build_wasi_reusable:
1010
name:'build and test'
1111
timeout-minutes:60
12-
runs-on:ubuntu-20.04
12+
runs-on:ubuntu-22.04
1313
env:
1414
WASMTIME_VERSION:18.0.3
1515
WASI_SDK_VERSION:21

‎.pre-commit-config.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ repos:
1111
args:[--exit-non-zero-on-fix, --config=Tools/clinic/.ruff.toml]
1212
files:^Tools/clinic/|Lib/test/test_clinic.py
1313

14+
-repo:https://github.com/psf/black-pre-commit-mirror
15+
rev:24.4.2
16+
hooks:
17+
-id:black
18+
name:Run Black on Tools/jit/
19+
files:^Tools/jit/
20+
language_version:python3.12
21+
1422
-repo:https://github.com/pre-commit/pre-commit-hooks
1523
rev:v4.5.0
1624
hooks:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp