-
-
Notifications
You must be signed in to change notification settings - Fork 31.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bpo-40334: PEP 617: New PEG parser for CPython #19503
Changes from all commits
57f78dd
5c0c31f
eab06f3
91427a4
cccfd3d
51611b4
0c7a382
0cffa81
e960c15
89c2385
1d2b107
12f6175
59abf20
14ae717
bfa7445
4c4917b
479bd95
4410737
b984cad
919a669
55101cb
ca3eeca
33b77af
3aa1dd4
b8ce9a1
f3d8888
242114a
35bedc2
74736fe
4bc4e7c
6ba7869
ee7b2cf
c12c227
18743bc
3359dab
071df9c
b1f0bd8
0627990
f233194
1dcdc4b
8da51f1
494114e
99a8e2f
502dfb7
e43370e
a7f962d
9c36a0f
9952d03
b684233
45d6bf7
a54e89e
d386c70
1169db2
e764fb2
dad5249
6f6354f
b623006
1a03e3e
3af6081
e3c95c9
d7e4b5c
ffee25f
b625797
85f7400
a4c58b5
04062ed
f1afe08
b8899ec
975baa4
298650c
de6edfb
ef0f6fa
a9d309c
871cecb
ecef99b
443afb1
87460d2
14ab84b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,6 +13,7 @@ on: | |
- '**/*.rst' | ||
pull_request: | ||
branches: | ||
- pegen | ||
- master | ||
- 3.8 | ||
- 3.7 | ||
|
@@ -50,6 +51,22 @@ jobs: | |
build_macos: | ||
name: 'macOS' | ||
runs-on: macos-latest | ||
env: | ||
PYTHONOLDPARSER: old | ||
steps: | ||
- uses: actions/checkout@v1 | ||
- name: Configure CPython | ||
run: ./configure --with-pydebug --with-openssl=/usr/local/opt/openssl --prefix=/opt/python-dev | ||
- name: Build CPython | ||
run: make -j4 | ||
- name: Display build info | ||
run: make pythoninfo | ||
- name: Tests | ||
run: make buildbottest TESTOPTS="-j4 -uall,-cpu" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is it really worth it to slow down the pre-commit to test the old parser on different platforms? A single pre-commit job would be enough, no? (Pick your favorite platform.) Or maybe only post-commit buildbots would be enough. |
||
|
||
build_macos_pegen: | ||
name: 'macOS - Pegen' | ||
runs-on: macos-latest | ||
steps: | ||
- uses: actions/checkout@v1 | ||
- name: Configure CPython | ||
|
@@ -64,6 +81,34 @@ jobs: | |
build_ubuntu: | ||
name: 'Ubuntu' | ||
runs-on: ubuntu-latest | ||
env: | ||
OPENSSL_VER: 1.1.1f | ||
PYTHONOLDPARSER: old | ||
steps: | ||
- uses: actions/checkout@v1 | ||
- name: Install Dependencies | ||
run: sudo ./.github/workflows/posix-deps-apt.sh | ||
- name: 'Restore OpenSSL build' | ||
id: cache-openssl | ||
uses: actions/cache@v1 | ||
with: | ||
path: ./multissl/openssl/${{ env.OPENSSL_VER }} | ||
key: ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }} | ||
- name: Install OpenSSL | ||
if: steps.cache-openssl.outputs.cache-hit != 'true' | ||
run: python3 Tools/ssl/multissltests.py --steps=library --base-directory $PWD/multissl --openssl $OPENSSL_VER --system Linux | ||
- name: Configure CPython | ||
run: ./configure --with-pydebug --with-openssl=$PWD/multissl/openssl/$OPENSSL_VER | ||
- name: Build CPython | ||
run: make -j4 | ||
- name: Display build info | ||
run: make pythoninfo | ||
- name: Tests | ||
run: xvfb-run make buildbottest TESTOPTS="-j4 -uall,-cpu" | ||
|
||
build_ubuntu_pegen: | ||
name: 'Ubuntu - Pegen' | ||
runs-on: ubuntu-latest | ||
env: | ||
OPENSSL_VER: 1.1.1f | ||
steps: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
language: c | ||
dist: xenial | ||
dist: bionic | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would prefer to change the Travis CI base image in a separated PR. |
||
|
||
# To cache doc-building dependencies and C compiler output. | ||
cache: | ||
|
@@ -22,6 +22,7 @@ env: | |
branches: | ||
only: | ||
- master | ||
- pegen | ||
- /^\d\.\d+$/ | ||
- buildbot-custom | ||
|
||
|
@@ -157,7 +158,9 @@ install: | |
before_script: | ||
# -Og is much faster than -O0 | ||
- CFLAGS="${CFLAGS} -Og" ./configure --with-pydebug | ||
- make -j4 regen-all | ||
- eval "$(pyenv init -)" | ||
- pyenv global 3.8 | ||
- PYTHON_FOR_REGEN=python3.8 make -j4 regen-all | ||
- changes=`git status --porcelain` | ||
- | | ||
# Check for changes in regenerated files | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -426,6 +426,8 @@ Miscellaneous options | |
defines the following possible values: | ||
|
||
* ``-X faulthandler`` to enable :mod:`faulthandler`; | ||
* ``-X oldparser``: enable the traditional LL(1) parser. See also | ||
:envvar:`PYTHONOLDPARSER`. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe the PEP 617 should be mentioned here. I suggest to directly deprecate this option and announces its removal in 3.10 using a Moreover, the new option should be documented in the ".. versionchanged:: 3.9" below. Same remark for PYTHONOLDPARSER. |
||
* ``-X showrefcount`` to output the total reference count and number of used | ||
memory blocks when the program finishes or after each statement in the | ||
interactive interpreter. This only works on debug builds. | ||
|
@@ -574,6 +576,12 @@ conflict. | |
:option:`-d` multiple times. | ||
|
||
|
||
.. envvar:: PYTHONOLDPARSER | ||
|
||
If this is set it is equivalent to specifying the :option:`-X` | ||
``oldparser`` option. | ||
|
||
|
||
.. envvar:: PYTHONINSPECT | ||
|
||
If this is set to a non-empty string it is equivalent to specifying the | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change should be reverted, no?