-
Notifications
You must be signed in to change notification settings - Fork 3.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
Pin pylint version 2.2.2 #2698
Pin pylint version 2.2.2 #2698
Conversation
These two commits need to land together because pylint expectation w.r.t indentation in this particular case changed somewhere between 1.9.6 and 2.2.2. The old pylint gripes about the new layout and the new pylint gripes about he old layout.... |
@tqchen I think this PR is self consistent, it fails in CI because the layout change necessary for pylint 2.2.2 is applied which fails for the current CI pylint==1.9.2 I had hoped that CI would pick up the change to Dockerfile.ci_lint automatically and install the new pylint, apparently that does not happen. When changes are made to the Dockerfile(s) and their dependent install scripts, how do the CI docker images get rebuilt? |
The docker files get built and updated manually in a periodical way, so that images can be cached and reused. Please keep the change to be only the DOCKER script. It is unfortunate to see that pylint gives non-backward compatible checks. We might need to find a way to get the files consistent to both pylint versions Can you try to consolidate the following PR into one set of DOCKER changes?
Thanks |
pylint is evolving, new version of pylint add new diagnostics. Pinning the pylint version ensures that the pylint behaviour in a build environment is consistent between developers and CI and the environment itself is recreatable. As pylint evolves the TVM project will need to periodically 'clean' the code base w.r.t a new current version of pylint and then update the pinned version.
This is merged, I will update the thread when the CI docker get updated |
@tqchen this revised version of the PR includes the pinning the pylint version in ubuntu_install_python_package.sh rather than removing the install completely. I've just realized this won't work because it pins a python2 and a python3 install of pylint, but pylint support in python 2 stopped at 1.9.4 Possible ways forward:
Unfortunately I don;t think we can pursue a direction in which python3 gets current pylint and python2 gets locked to 1.9.4 (with slighly more limited diagnostic capability) because we have already seen an instance of code layout where 1.9.4 and 2.2.2 are incompatible. Thoughts? |
Let us pin pylint to 1.9.4 for now then. The current lint info is relatively sufficient for most cases. We can also revive a python3 timeline discussion topic, but it will might a while |
New PR #2727 pins pylint to 1.9.4 |
pylint is evolving, new versions of pylint add new diagnostics.
Pinning the pylint version ensures that the pylint behaviour in a
build environment is consistent between developers and CI and the
environment itself is re-creatable.
As pylint evolves the TVM project will need to periodically 'clean'
the code base w.r.t a new current version of pylint and then update
the pinned version.