Skip to content

Commit e39646c

Browse files
authored
Merge branch 'main' into avoid-install-overlaps
2 parents c772271 + 9187484 commit e39646c

File tree

107 files changed

+4092
-2280
lines changed

Some content is hidden

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

107 files changed

+4092
-2280
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ Doc/c-api/stable.rst @encukou
214214
**/*idlelib* @terryjreedy
215215
/Doc/library/idle.rst @terryjreedy
216216

217+
**/*annotationlib* @JelleZijlstra
217218
**/*typing* @JelleZijlstra @AlexWaygood
218219

219220
**/*ftplib @giampaolo

.github/workflows/build.yml

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -249,27 +249,38 @@ jobs:
249249
arch: ${{ matrix.arch }}
250250

251251
build_macos:
252-
name: 'macOS'
253-
needs: check_source
254-
if: needs.check_source.outputs.run_tests == 'true'
255-
uses: ./.github/workflows/reusable-macos.yml
256-
with:
257-
config_hash: ${{ needs.check_source.outputs.config_hash }}
258-
# Cirrus and macos-14 are M1, macos-13 is default GHA Intel.
259-
# Cirrus used for upstream, macos-14 for forks.
260-
os-matrix: '["ghcr.io/cirruslabs/macos-runner:sonoma", "macos-14", "macos-13"]'
261-
262-
build_macos_free_threading:
263-
name: 'macOS (free-threading)'
252+
name: >-
253+
macOS
254+
${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
264255
needs: check_source
265256
if: needs.check_source.outputs.run_tests == 'true'
257+
strategy:
258+
fail-fast: false
259+
matrix:
260+
# Cirrus and macos-14 are M1, macos-13 is default GHA Intel.
261+
# macOS 13 only runs tests against the GIL-enabled CPython.
262+
# Cirrus used for upstream, macos-14 for forks.
263+
os:
264+
- ghcr.io/cirruslabs/macos-runner:sonoma
265+
- macos-14
266+
- macos-13
267+
is-fork: # only used for the exclusion trick
268+
- ${{ github.repository_owner != 'python' }}
269+
free-threading:
270+
- false
271+
- true
272+
exclude:
273+
- os: ghcr.io/cirruslabs/macos-runner:sonoma
274+
is-fork: true
275+
- os: macos-14
276+
is-fork: false
277+
- os: macos-13
278+
free-threading: true
266279
uses: ./.github/workflows/reusable-macos.yml
267280
with:
268281
config_hash: ${{ needs.check_source.outputs.config_hash }}
269-
free-threading: true
270-
# Cirrus and macos-14 are M1.
271-
# Cirrus used for upstream, macos-14 for forks.
272-
os-matrix: '["ghcr.io/cirruslabs/macos-runner:sonoma", "macos-14"]'
282+
free-threading: ${{ matrix.free-threading }}
283+
os: ${{ matrix.os }}
273284

274285
build_ubuntu:
275286
name: >-
@@ -337,7 +348,7 @@ jobs:
337348
with:
338349
save: false
339350
- name: Configure CPython
340-
run: ./configure --config-cache --enable-slower-safety --with-pydebug --with-openssl=$OPENSSL_DIR
351+
run: ./configure CFLAGS="-fdiagnostics-format=json" --config-cache --enable-slower-safety --with-pydebug --with-openssl=$OPENSSL_DIR
341352
- name: Build CPython
342353
run: make -j4
343354
- name: Display build info
@@ -596,7 +607,6 @@ jobs:
596607
- check-docs
597608
- check_generated_files
598609
- build_macos
599-
- build_macos_free_threading
600610
- build_ubuntu
601611
- build_ubuntu_ssltests
602612
- build_wasi
@@ -632,7 +642,6 @@ jobs:
632642
&& '
633643
check_generated_files,
634644
build_macos,
635-
build_macos_free_threading,
636645
build_ubuntu,
637646
build_ubuntu_ssltests,
638647
build_wasi,

.github/workflows/reusable-macos.yml

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@ on:
88
required: false
99
type: boolean
1010
default: false
11-
os-matrix:
12-
required: false
11+
os:
12+
description: OS to run the job
13+
required: true
1314
type: string
1415

1516
jobs:
1617
build_macos:
17-
name: build and test (${{ matrix.os }})
18+
name: build and test (${{ inputs.os }})
1819
timeout-minutes: 60
1920
env:
2021
HOMEBREW_NO_ANALYTICS: 1
@@ -23,18 +24,7 @@ jobs:
2324
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
2425
PYTHONSTRICTEXTENSIONBUILD: 1
2526
TERM: linux
26-
strategy:
27-
fail-fast: false
28-
matrix:
29-
os: ${{fromJson(inputs.os-matrix)}}
30-
is-fork:
31-
- ${{ github.repository_owner != 'python' }}
32-
exclude:
33-
- os: "ghcr.io/cirruslabs/macos-runner:sonoma"
34-
is-fork: true
35-
- os: "macos-14"
36-
is-fork: false
37-
runs-on: ${{ matrix.os }}
27+
runs-on: ${{ inputs.os }}
3828
steps:
3929
- uses: actions/checkout@v4
4030
- name: Runner image version
@@ -43,7 +33,7 @@ jobs:
4333
uses: actions/cache@v4
4434
with:
4535
path: config.cache
46-
key: ${{ github.job }}-${{ matrix.os }}-${{ env.IMAGE_VERSION }}-${{ inputs.config_hash }}
36+
key: ${{ github.job }}-${{ inputs.os }}-${{ env.IMAGE_VERSION }}-${{ inputs.config_hash }}
4737
- name: Install Homebrew dependencies
4838
run: brew install pkg-config [email protected] xz gdbm tcl-tk
4939
- name: Configure CPython

.github/workflows/reusable-ubuntu.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,17 +67,20 @@ jobs:
6767
working-directory: ${{ env.CPYTHON_BUILDDIR }}
6868
run: >-
6969
../cpython-ro-srcdir/configure
70+
CFLAGS="-fdiagnostics-format=json"
7071
--config-cache
7172
--with-pydebug
7273
--enable-slower-safety
7374
--with-openssl=$OPENSSL_DIR
7475
${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
7576
- name: Build CPython out-of-tree
7677
working-directory: ${{ env.CPYTHON_BUILDDIR }}
77-
run: make -j4
78+
run: make -j4 &> compiler_output.txt
7879
- name: Display build info
7980
working-directory: ${{ env.CPYTHON_BUILDDIR }}
8081
run: make pythoninfo
82+
- name: Check compiler warnings
83+
run: python Tools/build/check_warnings.py --compiler-output-file-path=${{ env.CPYTHON_BUILDDIR }}/compiler_output.txt --warning-ignore-file-path ${GITHUB_WORKSPACE}/Tools/build/.warningignore_ubuntu
8184
- name: Remount sources writable for tests
8285
# some tests write to srcdir, lack of pyc files slows down testing
8386
run: sudo mount $CPYTHON_RO_SRCDIR -oremount,rw

Doc/bugs.rst

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,16 @@ Documentation bugs
1616
==================
1717

1818
If you find a bug in this documentation or would like to propose an improvement,
19-
please submit a bug report on the :ref:`tracker <using-the-tracker>`. If you
19+
please submit a bug report on the :ref:`issue tracker <using-the-tracker>`. If you
2020
have a suggestion on how to fix it, include that as well.
2121

2222
You can also open a discussion item on our
2323
`Documentation Discourse forum <https://discuss.python.org/c/documentation/26>`_.
2424

2525
If you find a bug in the theme (HTML / CSS / JavaScript) of the
26-
documentation, please submit a bug report on the `python-doc-theme bug
26+
documentation, please submit a bug report on the `python-doc-theme issue
2727
tracker <https://github.com/python/python-docs-theme>`_.
2828

29-
If you're short on time, you can also email documentation bug reports to
30-
[email protected] (behavioral bugs can be sent to [email protected]).
31-
'docs@' is a mailing list run by volunteers; your request will be noticed,
32-
though it may take a while to be processed.
33-
3429
.. seealso::
3530

3631
`Documentation bugs`_

Doc/contents.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
installing/index.rst
1515
howto/index.rst
1616
faq/index.rst
17+
deprecations/index.rst
1718
glossary.rst
1819

1920
about.rst

Doc/deprecations/index.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Deprecations
2+
============
3+
4+
.. include:: pending-removal-in-3.14.rst
5+
6+
.. include:: pending-removal-in-3.15.rst
7+
8+
.. include:: pending-removal-in-3.16.rst
9+
10+
.. include:: pending-removal-in-future.rst
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
Pending Removal in Python 3.16
22
------------------------------
33

4-
* :class:`array.array` ``'u'`` type (:c:type:`wchar_t`):
4+
* :mod:`array`:
5+
:class:`array.array` ``'u'`` type (:c:type:`wchar_t`):
56
use the ``'w'`` type instead (``Py_UCS4``).
7+
8+
* :mod:`symtable`:
9+
Deprecate :meth:`symtable.Class.get_methods` due to the lack of interest.
10+
(Contributed by Bénédikt Tran in :gh:`119698`.)

Doc/deprecations/pending-removal-in-future.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ although there is currently no date scheduled for their removal.
3434
:class:`complex`: these methods will be required to return an instance of
3535
:class:`complex`.
3636
* Delegation of ``int()`` to ``__trunc__()`` method.
37+
* Passing a complex number as the *real* or *imag* argument in the
38+
:func:`complex` constructor is now deprecated; it should only be passed
39+
as a single positional argument.
40+
(Contributed by Serhiy Storchaka in :gh:`109218`.)
3741

3842
* :mod:`calendar`: ``calendar.January`` and ``calendar.February`` constants are
3943
deprecated and replaced by :data:`calendar.JANUARY` and

Doc/library/ast.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,9 @@ Literals
316316
args=[
317317
Name(id='a', ctx=Load())]),
318318
conversion=-1,
319-
format_spec=Constant(value='.3'))]))
319+
format_spec=JoinedStr(
320+
values=[
321+
Constant(value='.3')]))]))
320322

321323

322324
.. class:: List(elts, ctx)

0 commit comments

Comments
 (0)