Skip to content

Commit 5ca1917

Browse files
authored
Merge branch 'main' into issue-99184
2 parents d0aad14 + 2cdc518 commit 5ca1917

File tree

1,300 files changed

+91918
-63251
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,300 files changed

+91918
-63251
lines changed

.azure-pipelines/ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
displayName: Pre-build checks
99

1010
pool:
11-
vmImage: ubuntu-20.04
11+
vmImage: ubuntu-22.04
1212

1313
steps:
1414
- template: ./prebuild-checks.yml
@@ -20,7 +20,7 @@ jobs:
2020
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['docs.run'], 'true'))
2121

2222
pool:
23-
vmImage: ubuntu-20.04
23+
vmImage: ubuntu-22.04
2424

2525
steps:
2626
- template: ./docs-steps.yml
@@ -52,12 +52,12 @@ jobs:
5252
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))
5353

5454
pool:
55-
vmImage: ubuntu-20.04
55+
vmImage: ubuntu-22.04
5656

5757
variables:
5858
testRunTitle: '$(build.sourceBranchName)-linux'
5959
testRunPlatform: linux
60-
openssl_version: 1.1.1q
60+
openssl_version: 1.1.1t
6161

6262
steps:
6363
- template: ./posix-steps.yml
@@ -78,12 +78,12 @@ jobs:
7878
)
7979
8080
pool:
81-
vmImage: ubuntu-20.04
81+
vmImage: ubuntu-22.04
8282

8383
variables:
8484
testRunTitle: '$(Build.SourceBranchName)-linux-coverage'
8585
testRunPlatform: linux-coverage
86-
openssl_version: 1.1.1q
86+
openssl_version: 1.1.1t
8787

8888
steps:
8989
- template: ./posix-steps.yml

.azure-pipelines/pr.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
displayName: Pre-build checks
99

1010
pool:
11-
vmImage: ubuntu-20.04
11+
vmImage: ubuntu-22.04
1212

1313
steps:
1414
- template: ./prebuild-checks.yml
@@ -20,7 +20,7 @@ jobs:
2020
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['docs.run'], 'true'))
2121

2222
pool:
23-
vmImage: ubuntu-20.04
23+
vmImage: ubuntu-22.04
2424

2525
steps:
2626
- template: ./docs-steps.yml
@@ -52,12 +52,12 @@ jobs:
5252
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))
5353

5454
pool:
55-
vmImage: ubuntu-20.04
55+
vmImage: ubuntu-22.04
5656

5757
variables:
5858
testRunTitle: '$(system.pullRequest.TargetBranch)-linux'
5959
testRunPlatform: linux
60-
openssl_version: 1.1.1q
60+
openssl_version: 1.1.1t
6161

6262
steps:
6363
- template: ./posix-steps.yml
@@ -78,12 +78,12 @@ jobs:
7878
)
7979
8080
pool:
81-
vmImage: ubuntu-20.04
81+
vmImage: ubuntu-22.04
8282

8383
variables:
8484
testRunTitle: '$(Build.SourceBranchName)-linux-coverage'
8585
testRunPlatform: linux-coverage
86-
openssl_version: 1.1.1q
86+
openssl_version: 1.1.1t
8787

8888
steps:
8989
- template: ./posix-steps.yml

.azure-pipelines/windows-layout-steps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ steps:
1212
displayName: Show layout info (${{ parameters.kind }})
1313

1414
- ${{ if eq(parameters.fulltest, 'true') }}:
15-
- script: .\python.exe -m test -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 --junit-xml="$(Build.BinariesDirectory)\test-results-${{ parameters.kind }}.xml" --tempdir "$(Build.BinariesDirectory)\tmp-${{ parameters.kind }}-$(arch)"
15+
- script: .\python.exe -m test -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 --junit-xml="$(Build.BinariesDirectory)\test-results-${{ parameters.kind }}.xml" --tempdir "$(Build.BinariesDirectory)\tmp-${{ parameters.kind }}-$(arch)" -i test_launcher
1616
workingDirectory: $(Build.BinariesDirectory)\layout-${{ parameters.kind }}-$(arch)
1717
displayName: ${{ parameters.kind }} Tests
1818
env:

.gitattributes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ Doc/library/token-list.inc generated
6969
Include/internal/pycore_ast.h generated
7070
Include/internal/pycore_ast_state.h generated
7171
Include/internal/pycore_opcode.h generated
72-
Include/internal/pycore_runtime_init_generated.h generated
72+
Include/internal/pycore_*_generated.h generated
7373
Include/opcode.h generated
7474
Include/token.h generated
7575
Lib/keyword.py generated

.github/CODEOWNERS

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@
77
# GitHub
88
.github/** @ezio-melotti
99

10+
# Build system
11+
configure* @erlend-aasland @corona10
12+
1013
# asyncio
11-
**/*asyncio* @1st1 @asvetlov @gvanrossum
14+
**/*asyncio* @1st1 @asvetlov @gvanrossum @kumaraditya303
1215

1316
# Core
1417
**/*context* @1st1
@@ -63,7 +66,7 @@ Python/traceback.c @iritkatriel
6366
# bytecode.
6467
**/*import*.c @brettcannon @encukou @ericsnowcurrently @ncoghlan @warsaw
6568
**/*import*.py @brettcannon @encukou @ericsnowcurrently @ncoghlan @warsaw
66-
**/*importlib/resources/* @jaraco @warsaw @brettcannon
69+
**/*importlib/resources/* @jaraco @warsaw @FFY00
6770
**/importlib/metadata/* @jaraco @warsaw
6871

6972
# Dates and times
@@ -137,20 +140,25 @@ Lib/ast.py @isidentical
137140

138141
**/*typing* @gvanrossum @Fidget-Spinner @JelleZijlstra @AlexWaygood
139142

140-
**/*asyncore @giampaolo
141-
**/*asynchat @giampaolo
142143
**/*ftplib @giampaolo
143144
**/*shutil @giampaolo
144145

145146
**/*enum* @ethanfurman
146147
**/*cgi* @ethanfurman
147148
**/*tarfile* @ethanfurman
148149

149-
**/*tomllib* @encukou
150+
**/*tomllib* @encukou @hauntsaninja
151+
152+
**/*sysconfig* @FFY00
153+
154+
**/*cjkcodecs* @corona10
150155

151156
# macOS
152157
/Mac/ @python/macos-team
153158
**/*osx_support* @python/macos-team
154159

155160
# pathlib
156-
**/*pathlib* @brettcannon
161+
**/*pathlib* @barneygale
162+
163+
# zipfile.Path
164+
**/*zipfile/*_path.py @jaraco

.github/workflows/build.yml

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ jobs:
111111
run: make smelly
112112
- name: Check limited ABI symbols
113113
run: make check-limited-abi
114+
- name: Check for unsupported C global variables
115+
if: github.event_name == 'pull_request' # $GITHUB_EVENT_NAME
116+
run: make check-c-globals
114117

115118
build_win32:
116119
name: 'Windows (x86)'
@@ -154,15 +157,23 @@ jobs:
154157
needs: check_source
155158
if: needs.check_source.outputs.run_tests == 'true'
156159
env:
160+
HOMEBREW_NO_ANALYTICS: 1
161+
HOMEBREW_NO_AUTO_UPDATE: 1
162+
HOMEBREW_NO_INSTALL_CLEANUP: 1
157163
PYTHONSTRICTEXTENSIONBUILD: 1
158164
steps:
159165
- uses: actions/checkout@v3
160-
- name: Prepare homebrew environment variables
161-
run: |
162-
echo "LDFLAGS=-L$(brew --prefix tcl-tk)/lib" >> $GITHUB_ENV
163-
echo "PKG_CONFIG_PATH=$(brew --prefix openssl@1.1)/lib/pkgconfig:$(brew --prefix tcl-tk)/lib/pkgconfig" >> $GITHUB_ENV
166+
- name: Install Homebrew dependencies
167+
run: brew install pkg-config openssl@1.1 xz gdbm tcl-tk
164168
- name: Configure CPython
165-
run: ./configure --with-pydebug --prefix=/opt/python-dev
169+
run: |
170+
CFLAGS="-I$(brew --prefix gdbm)/include -I$(brew --prefix xz)/include" \
171+
LDFLAGS="-L$(brew --prefix gdbm)/lib -I$(brew --prefix xz)/lib" \
172+
PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig" \
173+
./configure \
174+
--with-pydebug \
175+
--prefix=/opt/python-dev \
176+
--with-openssl="$(brew --prefix openssl@1.1)"
166177
- name: Build CPython
167178
run: make -j4
168179
- name: Display build info
@@ -176,7 +187,7 @@ jobs:
176187
needs: check_source
177188
if: needs.check_source.outputs.run_tests == 'true'
178189
env:
179-
OPENSSL_VER: 1.1.1q
190+
OPENSSL_VER: 1.1.1t
180191
PYTHONSTRICTEXTENSIONBUILD: 1
181192
steps:
182193
- uses: actions/checkout@v3
@@ -235,7 +246,7 @@ jobs:
235246
strategy:
236247
fail-fast: false
237248
matrix:
238-
openssl_ver: [1.1.1q, 3.0.5]
249+
openssl_ver: [1.1.1t, 3.0.8, 3.1.0-beta1]
239250
env:
240251
OPENSSL_VER: ${{ matrix.openssl_ver }}
241252
MULTISSL_DIR: ${{ github.workspace }}/multissl
@@ -282,7 +293,7 @@ jobs:
282293
needs: check_source
283294
if: needs.check_source.outputs.run_tests == 'true'
284295
env:
285-
OPENSSL_VER: 1.1.1q
296+
OPENSSL_VER: 1.1.1t
286297
PYTHONSTRICTEXTENSIONBUILD: 1
287298
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
288299
steps:

.github/workflows/doc.yml

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,30 @@ jobs:
5252
run: make -C Doc/ check
5353
- name: 'Build HTML documentation'
5454
run: make -C Doc/ SPHINXOPTS="-q" SPHINXERRORHANDLING="-W --keep-going" html
55-
- name: 'Upload'
56-
uses: actions/upload-artifact@v3
55+
56+
# Add pull request annotations for Sphinx nitpicks (missing references)
57+
- name: 'Get list of changed files'
58+
id: changed_files
59+
uses: Ana06/get-changed-files@v2.2.0
5760
with:
58-
name: doc-html
59-
path: Doc/build/html
61+
filter: "Doc/**"
62+
- name: 'Build changed files in nit-picky mode'
63+
continue-on-error: true
64+
run: |
65+
# Mark files the pull request modified
66+
touch ${{ steps.changed_files.outputs.added_modified }}
67+
# Build docs with the '-n' (nit-picky) option; convert warnings to annotations
68+
make -C Doc/ PYTHON=../python SPHINXOPTS="-q -n --keep-going" html 2>&1 |
69+
python Doc/tools/warnings-to-gh-actions.py
70+
71+
# Ensure some files always pass Sphinx nit-picky mode (no missing references)
72+
- name: 'Build known-good files in nit-picky mode'
73+
run: |
74+
# Mark files that must pass nit-picky
75+
touch Doc/whatsnew/3.12.rst
76+
touch Doc/library/sqlite3.rst
77+
# Build docs with the '-n' (nit-picky) option, convert warnings to errors (-W)
78+
make -C Doc/ PYTHON=../python SPHINXOPTS="-q -n -W --keep-going" html 2>&1
6079
6180
# Run "doctest" on HEAD as new syntax doesn't exist in the latest stable release
6281
doctest:

.github/workflows/new-bugs-announce-notifier.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ jobs:
1919
- name: Send notification
2020
uses: actions/github-script@v6
2121
env:
22-
MAILGUN_API_KEY: ${{ secrets.PSF_MAILGUN_KEY }}
22+
MAILGUN_API_KEY: ${{ secrets.MAILGUN_PYTHON_ORG_MAILGUN_KEY }}
2323
with:
2424
script: |
2525
const Mailgun = require("mailgun.js");
2626
const formData = require('form-data');
2727
const mailgun = new Mailgun(formData);
28-
const DOMAIN = "mg.python.org";
28+
const DOMAIN = "mailgun.python.org";
2929
const mg = mailgun.client({username: 'api', key: process.env.MAILGUN_API_KEY});
3030
github.rest.issues.get({
3131
issue_number: context.issue.number,
@@ -44,7 +44,7 @@ jobs:
4444
};
4545
4646
const data = {
47-
from: "CPython Issues <github@mg.python.org>",
47+
from: "CPython Issues <github@mailgun.python.org>",
4848
to: "new-bugs-announce@python.org",
4949
subject: `[Issue ${issue.data.number}] ${issue.data.title}`,
5050
template: "new-github-issue",

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515

1616
steps:
1717
- name: "Check PRs"
18-
uses: actions/stale@v6
18+
uses: actions/stale@v7
1919
with:
2020
repo-token: ${{ secrets.GITHUB_TOKEN }}
2121
stale-pr-message: 'This PR is stale because it has been open for 30 days with no activity.'

0 commit comments

Comments
 (0)