Merge remote-tracking branch 'python/master' into fix-issue-4963 · python/cpython@32cd666 · GitHub
Skip to content

Commit 32cd666

Browse files
committed
Merge remote-tracking branch 'python/master' into fix-issue-4963
2 parents 384178c + b97d99c commit 32cd666

754 files changed

Lines changed: 62039 additions & 49956 deletions

File tree

Some content is hidden

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

.bzrignore

Lines changed: 0 additions & 42 deletions
This file was deleted.

.gitattributes

Lines changed: 39 additions & 6 deletions

.github/CODEOWNERS

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# See https://help.github.com/articles/about-codeowners/
2+
# for more info about CODEOWNERS file
3+
4+
# It uses the same pattern rule for gitignore file
5+
# https://git-scm.com/docs/gitignore#_pattern_format
6+
7+
# asyncio
8+
**/*asyncio* @1st1
9+
10+
# Core
11+
**/*genobject* @1st1
12+
13+
# Hashing
14+
**/*hashlib* @tiran
15+
**/*pyhash* @tiran
16+
17+
# Import (including importlib)
18+
**/*import* @python/import-team
19+
20+
# SSL
21+
**/*ssl* @tiran
22+
23+
# Email and related
24+
**/*mail* @bitdancer
25+
**/*smtp* @bitdancer
26+
**/*mime* @bitdancer
27+
**/*imap* @bitdancer
28+
**/*poplib* @bitdancer
29+
30+
# subprocess
31+
**/*subprocess* @gpshead

.github/appveyor.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
version: 3.7.0a0.{build}
22
clone_depth: 5
3+
branches:
4+
only:
5+
- master
6+
- /\d\.\d/
7+
- buildbot-custom
38
build_script:
49
- cmd: PCbuild\build.bat -e
510
test_script:
6-
- cmd: PCbuild\rt.bat -q -uall -rwW --slowest --timeout=1200 -j0
11+
- cmd: PCbuild\rt.bat -q -uall -u-cpu -rwW --slowest --timeout=1200 --fail-env-changed -j0
12+
environment:
13+
HOST_PYTHON: C:\Python36\python.exe
714

815
# Only trigger AppVeyor if actual code or its configuration changes
916
only_commits:

.codecov.yml renamed to .github/codecov.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
codecov:
2+
strict_yaml_branch: master
23
notify:
34
require_ci_to_pass: true
45
comment: off

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
/python
44
!/Python/
55
*.cover
6+
*.iml
67
*.o
78
*.orig
89
*.pyc
@@ -59,7 +60,7 @@ PCbuild/*.VC.opendb
5960
PCbuild/.vs/
6061
PCbuild/amd64/
6162
PCbuild/obj/
62-
PCBuild/win32/
63+
PCbuild/win32/
6364
.purify
6465
Parser/pgen
6566
Parser/pgen.exe
@@ -74,6 +75,7 @@ config.status.lineno
7475
core
7576
db_home
7677
.hg/
78+
.idea/
7779
ipch/
7880
libpython*.a
7981
libpython*.so*

.mention-bot

Lines changed: 0 additions & 20 deletions
This file was deleted.

.travis.yml

Lines changed: 42 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -11,44 +11,46 @@ branches:
1111
- master
1212
- /^\d\.\d$/
1313

14-
os:
15-
- linux
16-
# macOS builds are disabled as the machines are under-provisioned on Travis,
17-
# adding up to an extra hour completing a full CI run.
18-
19-
compiler:
20-
- clang
21-
# gcc also works, but to keep the # of concurrent builds down, we use one C
22-
# compiler here and the other to run the coverage build.
23-
24-
env:
25-
- TESTING=cpython
26-
2714
matrix:
2815
fast_finish: true
2916
allow_failures:
30-
- env:
31-
- TESTING=coverage
17+
- env: OPTIONAL=true
3218
include:
19+
- os: linux
20+
language: c
21+
compiler: clang
22+
# gcc also works, but to keep the # of concurrent builds down, we use one C
23+
# compiler here and the other to run the coverage build. Clang is preferred
24+
# in this instance for its better error messages.
25+
env: TESTING=cpython
26+
- os: osx
27+
language: c
28+
compiler: clang
29+
# Testing under macOS is optional until testing stability has been demonstrated.
30+
env: OPTIONAL=true
31+
before_install:
32+
- brew install openssl xz
33+
- export CPPFLAGS="-I$(brew --prefix openssl)/include"
34+
- export LDFLAGS="-L$(brew --prefix openssl)/lib"
3335
- os: linux
3436
language: python
3537
# Build the docs against a stable version of Python so code bugs don't hold up doc-related PRs.
3638
python: 3.6
37-
env:
38-
- TESTING=docs
39+
env: TESTING=docs
3940
before_script:
4041
- cd Doc
41-
- make venv
42+
# Sphinx is pinned so that new versions that introduce new warnings won't suddenly cause build failures.
43+
# (Updating the version is fine as long as no warnings are raised by doing so.)
44+
- python -m pip install sphinx~=1.6.1
4245
script:
43-
- make check suspicious html PYTHON="./venv/bin/python" SPHINXBUILD="./venv/bin/python -m sphinx" SPHINXOPTS="-q -W"
46+
- make check suspicious html SPHINXOPTS="-q -W -j4"
4447
- os: linux
4548
language: c
4649
compiler: gcc
47-
env:
48-
- TESTING=coverage
50+
env: OPTIONAL=true
4951
before_script:
5052
- |
51-
if ! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(\.(rst|yml)$)|(^Doc)|(^Misc)/'
53+
if ! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(\.rst$)|(^Doc)|(^Misc)'
5254
then
5355
echo "Only docs were updated, stopping build process."
5456
exit
@@ -60,26 +62,40 @@ matrix:
6062
./venv/bin/python -m pip install -U coverage
6163
script:
6264
# Skip tests that re-run the entire test suite.
63-
- ./venv/bin/python -m coverage run --pylib -m test -uall -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_spawn
65+
- ./venv/bin/python -m coverage run --pylib -m test -uall,-cpu -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_spawn
6466
after_script: # Probably should be after_success once test suite updated to run under coverage.py.
6567
# Make the `coverage` command available to Codecov w/ a version of Python that can parse all source files.
6668
- source ./venv/bin/activate
6769
- bash <(curl -s https://codecov.io/bash)
6870

69-
# Travis provides only 2 cores, so don't overdue the parallelism and waste memory.
71+
# Travis provides only 2 cores, so don't overdo the parallelism and waste memory.
7072
before_script:
7173
- |
72-
if ! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(\.(rst|yml)$)|(^Doc)|(^Misc)/'
74+
set -e
75+
if ! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(\.rst$)|(^Doc)|(^Misc)'
7376
then
7477
echo "Only docs were updated, stopping build process."
7578
exit
7679
fi
7780
./configure --with-pydebug
7881
make -j4
82+
make -j4 regen-all clinic
83+
changes=`git status --porcelain`
84+
if ! test -z "$changes"
85+
then
86+
echo "Generated files not up to date"
87+
echo "$changes"
88+
exit 1
89+
fi
7990
8091
script:
92+
# Using the built Python as patchcheck.py is built around the idea of using
93+
# a checkout-build of CPython to know things like what base branch the changes
94+
# should be compared against.
95+
# Only run on Linux as the check only needs to be run once.
96+
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./python Tools/scripts/patchcheck.py --travis $TRAVIS_PULL_REQUEST; fi
8197
# `-r -w` implicitly provided through `make buildbottest`.
82-
- make buildbottest TESTOPTS="-j4"
98+
- make buildbottest TESTOPTS="-j4 -uall,-cpu"
8399

84100
notifications:
85101
email: false

Doc/Makefile

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,15 +159,20 @@ serve:
159159
../Tools/scripts/serve.py build/html
160160

161161
# Targets for daily automated doc build
162+
# By default, Sphinx only rebuilds pages where the page content has changed.
163+
# This means it doesn't always pick up changes to preferred link targets, etc
164+
# To ensure such changes are picked up, we build the published docs with
165+
# `-E` (to ignore the cached environment) and `-a` (to ignore already existing
166+
# output files)
162167

163168
# for development releases: always build
164169
autobuild-dev:
165-
make dist SPHINXOPTS='$(SPHINXOPTS) -A daily=1 -A versionswitcher=1'
170+
make dist SPHINXOPTS='$(SPHINXOPTS) -Ea -A daily=1 -A switchers=1'
166171
-make suspicious
167172

168173
# for quick rebuilds (HTML only)
169174
autobuild-dev-html:
170-
make html SPHINXOPTS='$(SPHINXOPTS) -A daily=1 -A versionswitcher=1'
175+
make html SPHINXOPTS='$(SPHINXOPTS) -Ea -A daily=1 -A switchers=1'
171176

172177
# for stable releases: only build if not in pre-release stage (alpha, beta)
173178
# release candidate downloads are okay, since the stable tree can be in that stage

Doc/c-api/exceptions.rst

Lines changed: 4 additions & 4 deletions

0 commit comments

Comments
 (0)