Replace Pylint with Ruff for Python linting #1079
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Remove Pylint installation, configuration, and invocation from the Makefile.
Remove the GPL-licensed tarball: gpMgmt/bin/pythonSrc/ext/pylint-0.21.0.tar.gz
Remove the old Pylint configuration file (.rcfile) since it is no longer relevant.
Introduce Ruff installation via the official installation script.
Dynamically install Ruff instead of storing tarballs or source files.
Update checkcode target to run Ruff instead of Pylint.
Clean up references to Pylint tarballs in the clean/distclean target.
Update LICENSE and add license/LICENSE-ruff.txt
Add new pyproject.toml file to configure Ruff:
[tool.ruff] line-length = 88
[tool.ruff.lint] select = ["E", "F", "W"]
Note: Ruff installation requires internet access during the first run.
Note: The removal of the Pylint .rcfile requires eventual replacement with
corresponding Ruff configuration enhancements if more complex rules
are needed in the future.
This change only introduces Ruff into the workflow. It does not attempt to fix or address any issues that Ruff may report.