Skip to content

Commit 671e934

Browse files
Merge branch '3.14' into backport-32e1e06-3.14
2 parents 421f864 + a450151 commit 671e934

File tree

179 files changed

+5193
-2335
lines changed

Some content is hidden

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

179 files changed

+5193
-2335
lines changed

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,9 @@ Lib/concurrent/futures/interpreter.py @ericsnowcurrently
293293
**/*Android* @mhsmith @freakboy3742
294294
**/*android* @mhsmith @freakboy3742
295295

296+
# Apple
297+
/Apple @freakboy3742
298+
296299
# iOS (but not termios)
297300
**/iOS* @freakboy3742
298301
**/ios* @freakboy3742

.github/actionlint.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
self-hosted-runner:
22
# Pending https://github.com/rhysd/actionlint/issues/533
3-
labels: ["windows-11-arm"]
3+
# and https://github.com/rhysd/actionlint/issues/571
4+
labels: ["windows-11-arm", "macos-15-intel"]
45

56
config-variables: null
67

.github/workflows/build.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -249,13 +249,13 @@ jobs:
249249
strategy:
250250
fail-fast: false
251251
matrix:
252-
# Cirrus and macos-14 are M1, macos-13 is default GHA Intel.
252+
# Cirrus and macos-14 are M1, macos-15-intel is default GHA Intel.
253253
# macOS 13 only runs tests against the GIL-enabled CPython.
254254
# Cirrus used for upstream, macos-14 for forks.
255255
os:
256256
- ghcr.io/cirruslabs/macos-runner:sonoma
257257
- macos-14
258-
- macos-13
258+
- macos-15-intel
259259
is-fork: # only used for the exclusion trick
260260
- ${{ github.repository_owner != 'python' }}
261261
free-threading:
@@ -266,7 +266,7 @@ jobs:
266266
is-fork: true
267267
- os: macos-14
268268
is-fork: false
269-
- os: macos-13
269+
- os: macos-15-intel
270270
free-threading: true
271271
uses: ./.github/workflows/reusable-macos.yml
272272
with:
@@ -320,7 +320,7 @@ jobs:
320320
# Keep 1.1.1w in our list despite it being upstream EOL and otherwise
321321
# unsupported as it most resembles other 1.1.1-work-a-like ssl APIs
322322
# supported by important vendors such as AWS-LC.
323-
openssl_ver: [1.1.1w, 3.0.17, 3.2.5, 3.3.4, 3.4.2, 3.5.2]
323+
openssl_ver: [1.1.1w, 3.0.18, 3.2.6, 3.3.5, 3.4.3, 3.5.4]
324324
# See Tools/ssl/make_ssl_data.py for notes on adding a new version
325325
env:
326326
OPENSSL_VER: ${{ matrix.openssl_ver }}
@@ -410,7 +410,7 @@ jobs:
410410
needs: build-context
411411
if: needs.build-context.outputs.run-tests == 'true'
412412
env:
413-
OPENSSL_VER: 3.0.16
413+
OPENSSL_VER: 3.0.18
414414
PYTHONSTRICTEXTENSIONBUILD: 1
415415
steps:
416416
- uses: actions/checkout@v4
@@ -530,7 +530,7 @@ jobs:
530530
matrix:
531531
os: [ubuntu-24.04]
532532
env:
533-
OPENSSL_VER: 3.0.16
533+
OPENSSL_VER: 3.0.18
534534
PYTHONSTRICTEXTENSIONBUILD: 1
535535
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
536536
steps:

.github/workflows/jit.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ jobs:
7777
runner: windows-11-arm
7878
- target: x86_64-apple-darwin/clang
7979
architecture: x86_64
80-
runner: macos-13
80+
runner: macos-15-intel
8181
- target: aarch64-apple-darwin/clang
8282
architecture: aarch64
8383
runner: macos-14
@@ -102,15 +102,10 @@ jobs:
102102
./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
103103
./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
104104
105-
# The `find` line is required as a result of https://github.com/actions/runner-images/issues/9966.
106-
# This is a bug in the macOS runner image where the pre-installed Python is installed in the same
107-
# directory as the Homebrew Python, which causes the build to fail for macos-13. This line removes
108-
# the symlink to the pre-installed Python so that the Homebrew Python is used instead.
109105
- name: macOS
110106
if: runner.os == 'macOS'
111107
run: |
112108
brew update
113-
find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete
114109
brew install llvm@${{ matrix.llvm }}
115110
export SDKROOT="$(xcrun --show-sdk-path)"
116111
# Set MACOSX_DEPLOYMENT_TARGET and -Werror=unguarded-availability to

.github/workflows/reusable-macos.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,15 @@ jobs:
6060
--prefix=/opt/python-dev \
6161
--with-openssl="$(brew --prefix [email protected])"
6262
- name: Build CPython
63-
if : ${{ inputs.free-threading || inputs.os != 'macos-13' }}
63+
if : ${{ inputs.free-threading || inputs.os != 'macos-15-intel' }}
6464
run: gmake -j8
6565
- name: Build CPython for compiler warning check
66-
if : ${{ !inputs.free-threading && inputs.os == 'macos-13' }}
66+
if : ${{ !inputs.free-threading && inputs.os == 'macos-15-intel' }}
6767
run: set -o pipefail; gmake -j8 --output-sync 2>&1 | tee compiler_output_macos.txt
6868
- name: Display build info
6969
run: make pythoninfo
7070
- name: Check compiler warnings
71-
if : ${{ !inputs.free-threading && inputs.os == 'macos-13' }}
71+
if : ${{ !inputs.free-threading && inputs.os == 'macos-15-intel' }}
7272
run: >-
7373
python3 Tools/build/check_warnings.py
7474
--compiler-output-file-path=compiler_output_macos.txt

.github/workflows/reusable-ubuntu.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
runs-on: ${{ inputs.os }}
3131
timeout-minutes: 60
3232
env:
33-
OPENSSL_VER: 3.0.15
33+
OPENSSL_VER: 3.0.18
3434
PYTHONSTRICTEXTENSIONBUILD: 1
3535
TERM: linux
3636
steps:

.github/workflows/tail-call.yml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
# runner: windows-2022
5959
- target: x86_64-apple-darwin/clang
6060
architecture: x86_64
61-
runner: macos-13
61+
runner: macos-15-intel
6262
- target: aarch64-apple-darwin/clang
6363
architecture: aarch64
6464
runner: macos-14
@@ -101,17 +101,10 @@ jobs:
101101
set LLVMInstallDir=C:\Program Files\LLVM
102102
./PCbuild/build.bat --tail-call-interp -p ${{ matrix.architecture }}
103103
104-
# The `find` line is required as a result of https://github.com/actions/runner-images/issues/9966.
105-
# This is a bug in the macOS runner image where the pre-installed Python is installed in the same
106-
# directory as the Homebrew Python, which causes the build to fail for macos-13. This line removes
107-
# the symlink to the pre-installed Python so that the Homebrew Python is used instead.
108-
# Note: when a new LLVM is released, the homebrew installation directory changes, so the builds will fail.
109-
# We either need to upgrade LLVM or change the directory being pointed to.
110104
- name: Native macOS (release)
111105
if: runner.os == 'macOS'
112106
run: |
113107
brew update
114-
find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete
115108
brew install llvm@${{ matrix.llvm }}
116109
export SDKROOT="$(xcrun --show-sdk-path)"
117110
export PATH="/usr/local/opt/llvm@${{ matrix.llvm }}/bin:$PATH"

.gitignore

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,15 @@ Lib/test/data/*
7171
/Makefile
7272
/Makefile.pre
7373
/iOSTestbed.*
74-
iOS/Frameworks/
75-
iOS/Resources/Info.plist
76-
iOS/testbed/build
77-
iOS/testbed/Python.xcframework/ios-*/bin
78-
iOS/testbed/Python.xcframework/ios-*/include
79-
iOS/testbed/Python.xcframework/ios-*/lib
80-
iOS/testbed/Python.xcframework/ios-*/Python.framework
81-
iOS/testbed/iOSTestbed.xcodeproj/project.xcworkspace
82-
iOS/testbed/iOSTestbed.xcodeproj/xcuserdata
74+
Apple/iOS/Frameworks/
75+
Apple/iOS/Resources/Info.plist
76+
Apple/testbed/build
77+
Apple/testbed/Python.xcframework/*/bin
78+
Apple/testbed/Python.xcframework/*/include
79+
Apple/testbed/Python.xcframework/*/lib
80+
Apple/testbed/Python.xcframework/*/Python.framework
81+
Apple/testbed/*Testbed.xcodeproj/project.xcworkspace
82+
Apple/testbed/*Testbed.xcodeproj/xcuserdata
8383
Mac/Makefile
8484
Mac/PythonLauncher/Info.plist
8585
Mac/PythonLauncher/Makefile

Android/android.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,10 +184,16 @@ def make_build_python(context):
184184
run(["make", "-j", str(os.cpu_count())])
185185

186186

187+
# To create new builds of these dependencies, usually all that's necessary is to
188+
# push a tag to the cpython-android-source-deps repository, and GitHub Actions
189+
# will do the rest.
190+
#
191+
# If you're a member of the Python core team, and you'd like to be able to push
192+
# these tags yourself, please contact Malcolm Smith or Russell Keith-Magee.
187193
def unpack_deps(host, prefix_dir):
188194
os.chdir(prefix_dir)
189195
deps_url = "https://github.com/beeware/cpython-android-source-deps/releases/download"
190-
for name_ver in ["bzip2-1.0.8-3", "libffi-3.4.4-3", "openssl-3.0.15-4",
196+
for name_ver in ["bzip2-1.0.8-3", "libffi-3.4.4-3", "openssl-3.0.18-0",
191197
"sqlite-3.50.4-0", "xz-5.4.6-1", "zstd-1.5.7-1"]:
192198
filename = f"{name_ver}-{host}.tar.gz"
193199
download(f"{deps_url}/{name_ver}/{filename}")

0 commit comments

Comments
 (0)