Skip to content

Commit e041c2e

Browse files
authored
Merge branch 'master' into fix-issue-34788
2 parents af90771 + 62e3973 commit e041c2e

File tree

391 files changed

+7872
-4017
lines changed

Some content is hidden

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

391 files changed

+7872
-4017
lines changed

.azure-pipelines/windows-release/build-steps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ steps:
4343

4444
- powershell: |
4545
$env:SigningCertificate = $null
46-
python PC\layout -vv -b "$(Build.BinariesDirectory)\bin" -t "$(Build.BinariesDirectory)\catalog" --catalog "${env:CAT}.cdf" --preset-default --arch $(Arch)
46+
$(_HostPython) PC\layout -vv -b "$(Build.BinariesDirectory)\bin" -t "$(Build.BinariesDirectory)\catalog" --catalog "${env:CAT}.cdf" --preset-default --arch $(Arch)
4747
makecat "${env:CAT}.cdf"
4848
del "${env:CAT}.cdf"
4949
if (-not (Test-Path "${env:CAT}.cat")) {

.azure-pipelines/windows-release/stage-build.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,26 +57,31 @@ jobs:
5757
Arch: win32
5858
Platform: x86
5959
Configuration: Release
60+
_HostPython: .\python
6061
win32_d:
6162
Name: win32_d
6263
Arch: win32
6364
Platform: x86
6465
Configuration: Debug
66+
_HostPython: .\python
6567
amd64_d:
6668
Name: amd64_d
6769
Arch: amd64
6870
Platform: x64
6971
Configuration: Debug
72+
_HostPython: .\python
7073
arm64:
7174
Name: arm64
7275
Arch: arm64
7376
Platform: ARM64
7477
Configuration: Release
78+
_HostPython: python
7579
arm64_d:
7680
Name: arm64_d
7781
Arch: arm64
7882
Platform: ARM64
7983
Configuration: Debug
84+
_HostPython: python
8085

8186
steps:
8287
- template: ./build-steps.yml
@@ -98,6 +103,7 @@ jobs:
98103
Arch: amd64
99104
Platform: x64
100105
Configuration: Release
106+
_HostPython: .\python
101107

102108
steps:
103109
- template: ./build-steps.yml
@@ -123,6 +129,7 @@ jobs:
123129
Arch: amd64
124130
Platform: x64
125131
Configuration: Release
132+
_HostPython: .\python
126133

127134
steps:
128135
- template: ./build-steps.yml

.azure-pipelines/windows-release/stage-publish-nugetorg.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
buildVersionToDownload: specific
3232
buildId: $(BuildToPublish)
3333

34-
- powershell: gci pythonarm*.nupkg | %{ Write-Host "Not publishing: $($_.Name)"; gi $_ } | del
34+
- powershell: 'gci pythonarm*.nupkg | %{ Write-Host "Not publishing: $($_.Name)"; gi $_ } | del'
3535
displayName: 'Prevent publishing ARM/ARM64 packages'
3636
workingDirectory: '$(Build.BinariesDirectory)\nuget'
3737
condition: and(succeeded(), not(variables['PublishArmPackages']))

.azure-pipelines/windows-release/stage-publish-pythonorg.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
artifactName: embed
4040
downloadPath: $(Build.BinariesDirectory)
4141

42-
- powershell: gci *embed-arm*.zip | %{ Write-Host "Not publishing: $($_.Name)"; gi $_ } | del
42+
- powershell: 'gci *embed-arm*.zip | %{ Write-Host "Not publishing: $($_.Name)"; gi $_ } | del'
4343
displayName: 'Prevent publishing ARM/ARM64 packages'
4444
workingDirectory: '$(Build.BinariesDirectory)\embed'
4545
condition: and(succeeded(), not(variables['PublishArmPackages']))

.github/CODEOWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
**/*context* @1st1
1212
**/*genobject* @1st1
1313
**/*hamt* @1st1
14+
Objects/set* @rhettinger
1415
Objects/dict* @methane
1516

1617
# Hashing
@@ -116,6 +117,7 @@ Include/pytime.h @pganssle @abalkin
116117

117118
**/*enum* @ethanfurman
118119
**/*cgi* @ethanfurman
120+
**/*tarfile* @ethanfurman
119121

120122
# macOS
121123
/Mac/ @python/macos-team

.github/workflows/build.yml

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- 3.8
8+
- 3.7
9+
paths-ignore:
10+
- 'Doc/**'
11+
- 'Misc/**'
12+
- '**/*.md'
13+
- '**/*.rst'
14+
pull_request:
15+
branches:
16+
- master
17+
- 3.8
18+
- 3.7
19+
paths-ignore:
20+
- 'Doc/**'
21+
- 'Misc/**'
22+
- '**/*.md'
23+
- '**/*.rst'
24+
25+
jobs:
26+
build_win32:
27+
name: 'Windows (x86)'
28+
runs-on: windows-latest
29+
steps:
30+
- uses: actions/checkout@v1
31+
- name: Build CPython
32+
run: .\PCbuild\build.bat -e -p Win32
33+
- name: Display build info
34+
run: .\python.bat -m test.pythoninfo
35+
- name: Tests
36+
run: .\PCbuild\rt.bat -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0
37+
38+
build_win_amd64:
39+
name: 'Windows (x64)'
40+
runs-on: windows-latest
41+
steps:
42+
- uses: actions/checkout@v1
43+
- name: Build CPython
44+
run: .\PCbuild\build.bat -e -p x64
45+
- name: Display build info
46+
run: .\python.bat -m test.pythoninfo
47+
- name: Tests
48+
run: .\PCbuild\rt.bat -x64 -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0
49+
50+
build_macos:
51+
name: 'macOS'
52+
runs-on: macos-latest
53+
steps:
54+
- uses: actions/checkout@v1
55+
- name: Configure CPython
56+
run: ./configure --with-pydebug --with-openssl=/usr/local/opt/openssl --prefix=/opt/python-dev
57+
- name: Build CPython
58+
run: make -s -j4
59+
- name: Display build info
60+
run: make pythoninfo
61+
- name: Tests
62+
run: make buildbottest TESTOPTS="-j4 -uall,-cpu"
63+
64+
build_ubuntu:
65+
name: 'Ubuntu'
66+
runs-on: ubuntu-latest
67+
env:
68+
OPENSSL_VER: 1.1.1d
69+
steps:
70+
- uses: actions/checkout@v1
71+
- name: Install Dependencies
72+
run: sudo ./.github/workflows/posix-deps-apt.sh
73+
- name: 'Restore OpenSSL build'
74+
id: cache-openssl
75+
uses: actions/cache@v1
76+
with:
77+
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
78+
key: ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
79+
- name: Install OpenSSL
80+
if: steps.cache-openssl.outputs.cache-hit != 'true'
81+
run: python3 Tools/ssl/multissltests.py --steps=library --base-directory $PWD/multissl --openssl $OPENSSL_VER --system Linux
82+
- name: Configure CPython
83+
run: ./configure --with-pydebug --with-openssl=$PWD/multissl/openssl/$OPENSSL_VER
84+
- name: Build CPython
85+
run: make -s -j4
86+
- name: Display build info
87+
run: make pythoninfo
88+
- name: Tests
89+
run: xvfb-run make buildbottest TESTOPTS="-j4 -uall,-cpu"

.github/workflows/coverage.yml

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: Coverage
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- 3.8
8+
- 3.7
9+
paths-ignore:
10+
- 'Doc/**'
11+
- 'Misc/**'
12+
#pull_request:
13+
# branches:
14+
# - master
15+
# - 3.8
16+
# - 3.7
17+
# paths-ignore:
18+
# - 'Doc/**'
19+
# - 'Misc/**'
20+
21+
jobs:
22+
coverage_ubuntu:
23+
name: 'Ubuntu (Coverage)'
24+
runs-on: ubuntu-latest
25+
env:
26+
OPENSSL_VER: 1.1.1d
27+
steps:
28+
- uses: actions/checkout@v1
29+
- name: Install Dependencies
30+
run: sudo ./.github/workflows/posix-deps-apt.sh
31+
- name: 'Restore OpenSSL build'
32+
id: cache-openssl
33+
uses: actions/cache@v1
34+
with:
35+
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
36+
key: ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
37+
- name: Install OpenSSL
38+
if: steps.cache-openssl.outputs.cache-hit != 'true'
39+
run: python3 Tools/ssl/multissltests.py --steps=library --base-directory $PWD/multissl --openssl $OPENSSL_VER --system Linux
40+
- name: Configure CPython
41+
run: ./configure --with-openssl=$PWD/multissl/openssl/$OPENSSL_VER
42+
- name: Build CPython
43+
run: make -s -j4
44+
- name: Display build info
45+
run: make pythoninfo
46+
- name: 'Coverage Preparation'
47+
run: |
48+
./python -m venv .venv
49+
source ./.venv/bin/activate
50+
python -m pip install -U coverage
51+
python -m test.pythoninfo
52+
- name: 'Tests with coverage'
53+
run: >
54+
source ./.venv/bin/activate &&
55+
xvfb-run python -m coverage
56+
run --branch --pylib
57+
-m test
58+
--fail-env-changed
59+
-uall,-cpu
60+
-x test_multiprocessing_fork
61+
-x test_multiprocessing_forkserver
62+
-x test_multiprocessing_spawn
63+
-x test_concurrent_futures
64+
|| true
65+
- name: 'Publish code coverage results'
66+
run: |
67+
source ./.venv/bin/activate
68+
bash <(curl -s https://codecov.io/bash)
69+
env:
70+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
71+
72+
c_coverage_ubuntu:
73+
name: 'Ubuntu (C Coverage)'
74+
runs-on: ubuntu-latest
75+
steps:
76+
- uses: actions/checkout@v1
77+
- name: Install Dependencies
78+
run: sudo ./.github/workflows/posix-deps-apt.sh
79+
- name: Configure CPython
80+
run: ./configure
81+
- name: 'Build CPython and measure coverage'
82+
run: xvfb-run make -j4 coverage-report
83+
- name: 'Publish code coverage results'
84+
if: always()
85+
run: |
86+
make pythoninfo
87+
bash <(curl -s https://codecov.io/bash)
88+
env:
89+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/doc.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Docs
2+
3+
on:
4+
#push:
5+
# branches:
6+
# - master
7+
# - 3.8
8+
# - 3.7
9+
# paths:
10+
# - 'Doc/**'
11+
pull_request:
12+
branches:
13+
- master
14+
- 3.8
15+
- 3.7
16+
paths:
17+
- 'Doc/**'
18+
- 'Misc/**'
19+
20+
jobs:
21+
build_doc:
22+
name: 'Docs'
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@v1
26+
- uses: actions/setup-python@v1
27+
with:
28+
python-version: '3.7'
29+
architecture: 'x64'
30+
- name: 'Install build dependencies'
31+
run: python -m pip install sphinx==2.2.0 blurb python-docs-theme
32+
- name: 'Build documentation'
33+
run: |
34+
cd Doc
35+
make check suspicious html PYTHON=python
36+
- name: Upload
37+
uses: actions/upload-artifact@v1
38+
with:
39+
name: doc-html
40+
path: Doc/build/html

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/sh
2+
apt-get update
3+
4+
apt-get -yq install \
5+
build-essential \
6+
zlib1g-dev \
7+
libbz2-dev \
8+
liblzma-dev \
9+
libncurses5-dev \
10+
libreadline6-dev \
11+
libsqlite3-dev \
12+
libssl-dev \
13+
libgdbm-dev \
14+
tk-dev \
15+
lzma \
16+
lzma-dev \
17+
liblzma-dev \
18+
libffi-dev \
19+
uuid-dev \
20+
xvfb \
21+
lcov

.travis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
language: c
22
dist: xenial
3-
group: beta
43

54
# To cache doc-building dependencies and C compiler output.
65
cache:

Doc/c-api/code.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ bound into a function.
4242
4343
.. c:function:: PyCodeObject* PyCode_NewWithPosOnlyArgs(int argcount, int posonlyargcount, int kwonlyargcount, int nlocals, int stacksize, int flags, PyObject *code, PyObject *consts, PyObject *names, PyObject *varnames, PyObject *freevars, PyObject *cellvars, PyObject *filename, PyObject *name, int firstlineno, PyObject *lnotab)
4444
45-
Similar to :c:func:`PyCode_New`, but with an extra "posonlyargcount" for positonal-only arguments.
45+
Similar to :c:func:`PyCode_New`, but with an extra "posonlyargcount" for positional-only arguments.
4646
4747
.. versionadded:: 3.8
4848

0 commit comments

Comments
 (0)