Skip to content

Commit ece0e7f

Browse files
Merge branch 'master' into posix_spawn-file_actions
2 parents 09cb834 + ac0b3c2 commit ece0e7f

File tree

921 files changed

+74297
-43673
lines changed

Some content is hidden

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

921 files changed

+74297
-43673
lines changed

.gitattributes

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,20 @@ Lib/test/test_importlib/data01/* -text
3737
*.proj text eol=crlf
3838
PCbuild/readme.txt text eol=crlf
3939
PC/readme.txt text eol=crlf
40+
41+
# Generated files
42+
# https://github.com/github/linguist#generated-code
43+
Include/graminit.h linguist-generated=true
44+
Python/graminit.h linguist-generated=true
45+
Modules/clinic/*.h linguist-generated=true
46+
Objects/clinic/*.h linguist-generated=true
47+
PC/clinic/*.h linguist-generated=true
48+
Python/clinic/*.h linguist-generated=true
49+
Python/importlib.h linguist-generated=true
50+
Python/importlib_external.h linguist-generated=true
51+
Include/Python-ast.h linguist-generated=true
52+
Python/Python-ast.c linguist-generated=true
53+
Include/opcode.h linguist-generated=true
54+
Python/opcode_targets.h linguist-generated=true
55+
Objects/typeslots.inc linguist-generated=true
56+
Modules/unicodedata_db.h linguist-generated=true

.github/CONTRIBUTING.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ Build Status
88

99
+ `Stable buildbots <http://buildbot.python.org/3.x.stable/>`_
1010

11+
- 3.7
12+
13+
+ `Stable buildbots <http://buildbot.python.org/3.7.stable/>`_
14+
1115
- 3.6
1216

1317
+ `Stable buildbots <http://buildbot.python.org/3.6.stable/>`_

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ Please read this comment in its entirety. It's quite important.
55
# Pull Request title
66
77
It should be in the following format:
8+
89
```
910
bpo-NNNN: Summary of the changes made
1011
```
12+
1113
Where: bpo-NNNN refers to the issue number in the https://bugs.python.org.
1214
1315
Most PRs will require an issue number. Trivial changes, like fixing a typo, do not need an issue.
@@ -16,9 +18,11 @@ Most PRs will require an issue number. Trivial changes, like fixing a typo, do n
1618
1719
If this is a backport PR (PR made against branches other than `master`),
1820
please ensure that the PR title is in the following format:
21+
1922
```
2023
[X.Y] <title from the original PR> (GH-NNNN)
2124
```
25+
2226
Where: [X.Y] is the branch name, e.g. [3.6].
2327
2428
GH-NNNN refers to the PR number from `master`.

.github/appveyor.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,19 @@ before_build:
2020
If (!$changes) {
2121
echo 'Only docs were updated, stopping build process.'
2222
Exit-AppveyorBuild
23+
} else {
24+
echo 'Doing full build due to non-doc changes in these files:'
25+
echo $changes
2326
}
24-
echo 'Doing full build due to non-doc changes in these files:'
25-
echo $changes
2627
}
2728
2829
2930
build_script:
30-
- cmd: PCbuild\build.bat -e
31-
- cmd: PCbuild\win32\python.exe -m test.pythoninfo
31+
- cmd: PCbuild\build.bat -e -p x64
32+
- cmd: PCbuild\amd64\python.exe -m test.pythoninfo
3233
test_script:
33-
- cmd: PCbuild\rt.bat -q -uall -u-cpu -rwW --slowest --timeout=1200 --fail-env-changed -j0
34+
- cmd: PCbuild\rt.bat -x64 -q -uall -u-cpu -u-largefile -rwW --slowest --timeout=1200 --fail-env-changed -j0
3435
environment:
3536
HOST_PYTHON: C:\Python36\python.exe
3637
image:
37-
- Visual Studio 2017
38+
- Visual Studio 2017

.travis.yml

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ cache:
1212

1313
env:
1414
global:
15-
- OPENSSL=1.1.0g
15+
- OPENSSL=1.1.0h
1616
- OPENSSL_DIR="$HOME/multissl/openssl/${OPENSSL}"
1717
- PATH="${OPENSSL_DIR}/bin:$PATH"
1818
# Use -O3 because we don't use debugger on Travis-CI
@@ -40,6 +40,10 @@ matrix:
4040
# compiler here and the other to run the coverage build. Clang is preferred
4141
# in this instance for its better error messages.
4242
env: TESTING=cpython
43+
addons:
44+
apt:
45+
packages:
46+
- xvfb
4347
- os: linux
4448
language: python
4549
# Build the docs against a stable version of Python so code bugs don't hold up doc-related PRs.
@@ -60,25 +64,31 @@ matrix:
6064
env: OPTIONAL=true
6165
before_install:
6266
# Python 3 is needed for Argument Clinic and multissl
63-
- brew install xz python3
67+
- HOMEBREW_NO_AUTO_UPDATE=1 brew install xz python3
6468
- export PATH=$(brew --prefix)/bin:$(brew --prefix)/sbin:$PATH
6569
- os: linux
6670
language: c
6771
compiler: gcc
6872
env: OPTIONAL=true
73+
addons:
74+
apt:
75+
packages:
76+
- lcov
77+
- xvfb
6978
before_script:
7079
- ./configure
71-
- make -s -j4
80+
- make coverage -s -j4
7281
# Need a venv that can parse covered code.
7382
- ./python -m venv venv
7483
- ./venv/bin/python -m pip install -U coverage
7584
- ./venv/bin/python -m test.pythoninfo
7685
script:
7786
# Skip tests that re-run the entire test suite.
78-
- ./venv/bin/python -m coverage run --pylib -m test --fail-env-changed -uall,-cpu -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_spawn -x test_concurrent_futures
87+
- xvfb-run ./venv/bin/python -m coverage run --pylib -m test --fail-env-changed -uall,-cpu -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_spawn -x test_concurrent_futures
7988
after_script: # Probably should be after_success once test suite updated to run under coverage.py.
8089
# Make the `coverage` command available to Codecov w/ a version of Python that can parse all source files.
8190
- source ./venv/bin/activate
91+
- make coverage-lcov
8292
- bash <(curl -s https://codecov.io/bash)
8393

8494

@@ -145,7 +155,7 @@ script:
145155
# Check that all symbols exported by libpython start with "Py" or "_Py"
146156
- make smelly
147157
# `-r -w` implicitly provided through `make buildbottest`.
148-
- make buildbottest TESTOPTS="-j4 -uall,-cpu"
158+
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then XVFB_RUN=xvfb-run; fi; $XVFB_RUN make buildbottest TESTOPTS="-j4 -uall,-cpu"
149159

150160
notifications:
151161
email: false

.vsts/docs-release.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Current docs for the syntax of this file are at:
2+
# https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted.md
3+
4+
name: $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.rr)
5+
6+
queue:
7+
name: Hosted Linux Preview
8+
9+
#variables:
10+
11+
steps:
12+
- checkout: self
13+
clean: true
14+
fetchDepth: 5
15+
16+
- script: sudo apt-get update && sudo apt-get install -qy --force-yes texlive-full
17+
displayName: 'Install LaTeX'
18+
19+
- task: UsePythonVersion@0
20+
displayName: 'Use Python 3.6 or later'
21+
inputs:
22+
versionSpec: '>=3.6'
23+
24+
- script: python -m pip install sphinx blurb python-docs-theme
25+
displayName: 'Install build dependencies'
26+
27+
- script: make dist PYTHON=python SPHINXBUILD='python -m sphinx' BLURB='python -m blurb'
28+
workingDirectory: '$(build.sourcesDirectory)/Doc'
29+
displayName: 'Build documentation'
30+
31+
- task: PublishBuildArtifacts@1
32+
displayName: 'Publish build'
33+
inputs:
34+
PathToPublish: '$(build.sourcesDirectory)/Doc/build'
35+
ArtifactName: build
36+
publishLocation: Container
37+
38+
- task: PublishBuildArtifacts@1
39+
displayName: 'Publish dist'
40+
inputs:
41+
PathToPublish: '$(build.sourcesDirectory)/Doc/dist'
42+
ArtifactName: dist
43+
publishLocation: Container

.vsts/docs.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Current docs for the syntax of this file are at:
2+
# https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted.md
3+
4+
name: $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.rr)
5+
6+
queue:
7+
name: Hosted Linux Preview
8+
9+
trigger:
10+
branches:
11+
include:
12+
- master
13+
- 3.7
14+
- 3.6
15+
paths:
16+
include:
17+
- Doc/*
18+
19+
#variables:
20+
21+
steps:
22+
- checkout: self
23+
clean: true
24+
fetchDepth: 5
25+
26+
- task: UsePythonVersion@0
27+
displayName: 'Use Python 3.6 or later'
28+
inputs:
29+
versionSpec: '>=3.6'
30+
31+
- script: python -m pip install sphinx~=1.6.1 blurb python-docs-theme
32+
displayName: 'Install build dependencies'
33+
34+
- script: make check suspicious html PYTHON=python
35+
workingDirectory: '$(build.sourcesDirectory)/Doc'
36+
displayName: 'Build documentation'
37+
38+
- task: PublishBuildArtifacts@1
39+
displayName: 'Publish build'
40+
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
41+
inputs:
42+
PathToPublish: '$(build.sourcesDirectory)/Doc/build'
43+
ArtifactName: build
44+
publishLocation: Container

.vsts/linux-buildbot.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Current docs for the syntax of this file are at:
2+
# https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted.md
3+
4+
name: $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.rr)
5+
6+
queue:
7+
name: Hosted Linux Preview
8+
9+
trigger:
10+
branches:
11+
include:
12+
- master
13+
- 3.7
14+
- 3.6
15+
paths:
16+
exclude:
17+
- Doc/*
18+
- Tools/*
19+
20+
variables:
21+
# Copy-pasted from linux-deps.yml until template support arrives
22+
OPENSSL: 1.1.0g
23+
OPENSSL_DIR: "$(build.sourcesDirectory)/multissl/openssl/$(OPENSSL)"
24+
25+
26+
steps:
27+
- checkout: self
28+
clean: true
29+
fetchDepth: 5
30+
31+
#- template: linux-deps.yml
32+
33+
# See https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted-templates.md
34+
# For now, we copy/paste the steps
35+
- script: echo "deb-src http://archive.ubuntu.com/ubuntu/ xenial main" > /etc/apt/sources.list.d/python.list && sudo apt-get update
36+
displayName: 'Update apt-get lists'
37+
38+
- script: echo ##vso[task.prependpath]$(OPENSSL_DIR)
39+
displayName: 'Add $(OPENSSL_DIR) to PATH'
40+
- script: >
41+
sudo apt-get -yq install
42+
build-essential
43+
zlib1g-dev
44+
libbz2-dev
45+
liblzma-dev
46+
libncurses5-dev
47+
libreadline6-dev
48+
libsqlite3-dev
49+
libssl-dev
50+
libgdbm-dev
51+
tk-dev
52+
lzma
53+
lzma-dev
54+
liblzma-dev
55+
libffi-dev
56+
uuid-dev
57+
xvfb
58+
displayName: 'Install dependencies'
59+
- script: python3 Tools/ssl/multissltests.py --steps=library --base-directory $(build.sourcesDirectory)/multissl --openssl $(OPENSSL) --system Linux
60+
displayName: 'python multissltests.py'
61+
62+
- script: ./configure --with-pydebug
63+
displayName: 'Configure CPython (debug)'
64+
65+
- script: make -s -j4
66+
displayName: 'Build CPython'
67+
68+
- script: make pythoninfo
69+
displayName: 'Display build info'
70+
71+
- script: xvfb-run make buildbottest TESTOPTS="-j4 -uall,-cpu"
72+
displayName: 'Tests'

.vsts/linux-coverage.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# Current docs for the syntax of this file are at:
2+
# https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted.md
3+
4+
name: $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.rr)
5+
6+
queue:
7+
name: Hosted Linux Preview
8+
9+
trigger:
10+
branches:
11+
include:
12+
- master
13+
- 3.7
14+
- 3.6
15+
paths:
16+
exclude:
17+
- Doc/*
18+
- Tools/*
19+
20+
variables:
21+
# Copy-pasted from linux-deps.yml until template support arrives
22+
OPENSSL: 1.1.0g
23+
OPENSSL_DIR: "$(build.sourcesDirectory)/multissl/openssl/$(OPENSSL)"
24+
25+
steps:
26+
- checkout: self
27+
clean: true
28+
fetchDepth: 5
29+
30+
#- template: linux-deps.yml
31+
32+
# See https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted-templates.md
33+
# For now, we copy/paste the steps
34+
- script: echo "deb-src http://archive.ubuntu.com/ubuntu/ xenial main" > /etc/apt/sources.list.d/python.list && sudo apt-get update
35+
displayName: 'Update apt-get lists'
36+
37+
- script: echo ##vso[task.prependpath]$(OPENSSL_DIR)
38+
displayName: 'Add $(OPENSSL_DIR) to PATH'
39+
- script: >
40+
sudo apt-get -yq install
41+
build-essential
42+
zlib1g-dev
43+
libbz2-dev
44+
liblzma-dev
45+
libncurses5-dev
46+
libreadline6-dev
47+
libsqlite3-dev
48+
libssl-dev
49+
libgdbm-dev
50+
tk-dev
51+
lzma
52+
lzma-dev
53+
liblzma-dev
54+
libffi-dev
55+
uuid-dev
56+
xvfb
57+
displayName: 'Install dependencies'
58+
- script: python3 Tools/ssl/multissltests.py --steps=library --base-directory $(build.sourcesDirectory)/multissl --openssl $(OPENSSL) --system Linux
59+
displayName: 'python multissltests.py'
60+
61+
62+
- script: ./configure --with-pydebug
63+
displayName: 'Configure CPython (debug)'
64+
65+
- script: make -s -j4
66+
displayName: 'Build CPython'
67+
68+
- script: ./python -m venv venv && ./venv/bin/python -m pip install -U coverage
69+
displayName: 'Set up virtual environment'
70+
71+
- script: ./venv/bin/python -m test.pythoninfo
72+
displayName: 'Display build info'
73+
74+
- script: xvfb-run ./venv/bin/python -m coverage run --pylib -m test --fail-env-changed -uall,-cpu -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_spawn -x test_concurrent_futures
75+
displayName: 'Tests with coverage'
76+
77+
- script: source ./venv/bin/activate && bash <(curl -s https://codecov.io/bash)
78+
displayName: 'Publish code coverage results'

0 commit comments

Comments
 (0)