[ https://issues.apache.org/jira/browse/BEAM-3738?focusedWorklogId=83758&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-83758 ]
ASF GitHub Bot logged work on BEAM-3738: ---------------------------------------- Author: ASF GitHub Bot Created on: 23/Mar/18 18:49 Start Date: 23/Mar/18 18:49 Worklog Time Spent: 10m Work Description: udim commented on a change in pull request #4877: [BEAM-3738] Enable py3 lint and cleanup tox.ini. URL: https://github.com/apache/beam/pull/4877#discussion_r176833151 ########## File path: sdks/python/tox.ini ########## @@ -17,142 +17,107 @@ [tox] # new environments will be excluded by default unless explicitly added to envlist. -# TODO (after BEAM-3671) add lint_py3 back in. -envlist = py27,py27gcp,py27cython,lint_py2,docs +envlist = py27,py27-{gcp,cython2,lint},py3-lint,docs toxworkdir = {toxinidir}/target/.tox [pycodestyle] # Disable all errors and warnings except for the ones related to blank lines. # pylint does not check the number of blank lines. select = E3 +# Shared environment options. +[testenv] +# Set [] options for pip installation of apache-beam tarball. +extras = test +# Don't warn that these commands aren't installed. +whitelist_externals = + find + time + [testenv:py27] -# autocomplete_test depends on nose when invoked directly. -deps = - nose==1.3.7 - grpcio-tools==1.3.5 -whitelist_externals=find commands = python --version pip --version - # Clean up all previous python generated files. - - find apache_beam -type f -name '*.pyc' -delete - pip install -e .[test] + {toxinidir}/run_tox_cleanup.sh python apache_beam/examples/complete/autocomplete_test.py python setup.py test -passenv = TRAVIS* + {toxinidir}/run_tox_cleanup.sh -[testenv:py27cython] +# This environment will fail in Jenkins if named "py27-cython". +[testenv:py27-cython2] # cython tests are only expected to work in linux (2.x and 3.x) # If we want to add other platforms in the future, it should be: # `platform = linux2|darwin|...` # See https://docs.python.org/2/library/sys.html#sys.platform for platform codes platform = linux2 -# autocomplete_test depends on nose when invoked directly. deps = - nose==1.3.7 - grpcio-tools==1.3.5 - cython==0.25.2 -whitelist_externals= - find - time + cython==0.26.1 Review comment: pip-compile can generate requirements.txt from setup.py, and the docker image can pull that in. The only problem is that we have a different set of requirements depending on the extras specified (such as [test] and [gcp]), or whether cython is used. So the solution is probably to use a script to generate a set of requirements files, using pip-compile output as an intermediate step. setup.py will be used as the single source of truth for version pinning. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 83758) Time Spent: 12.5h (was: 12h 20m) > Enable Py3 linting in Jenkins > ----------------------------- > > Key: BEAM-3738 > URL: https://issues.apache.org/jira/browse/BEAM-3738 > Project: Beam > Issue Type: Bug > Components: sdk-py-core, testing > Reporter: holdenk > Assignee: Ahmet Altay > Priority: Major > Time Spent: 12.5h > Remaining Estimate: 0h > > After BEAM-3671 is finished enable linting. -- This message was sent by Atlassian JIRA (v7.6.3#76005)