Skip to content

Request for proposals/comments: Contributing guidelines - linting #566

@nuclearcat

Description

@nuclearcat

Since i am working on contributing guidelines, probably it will be good idea to unify linting across the projects to follow some standards, because right now it is very hard to explain for contributors, why rules vary across the projects.
We can start on python:

AI-assisted summary:

• For Python-only projects, the strictness (from strongest to weakest in this summary) is:
  - kernelci-core: pycodestyle + pylint + mypy in CI.
  - dashboard backend: flake8 + black --check (max-complexity = 10, max-line-length = 110).
  - kci-dev: black + isort + tox checks.
  - kernelci-api: pycodestyle + pylint (no black/isort/mypy in the listed config).
  - kernelci-pipeline: pycodestyle only.
  - kcidb-ng: no Python lint jobs in listed workflows. (but i think after moving ingester and logspec to dashboard we wont have python there.

What i propose to take for reference kci-dev + dashboard derived rules:
black --check + isort --check --diff
then flake8:

      - max-line-length = 110
      - max-complexity = 10

with reasonable ignore list.
Also for sure we use appropriate way to run embedded tests.

Probably also tuxmake and other projects we will need to convert too.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions