Skip to content

CI Pipeline Reports Successful Linting Despite Notebook Linter Failing to Start #38

@iamwatchdogs

Description

@iamwatchdogs

The CI pipeline that performs linting checks is generating false positives, as the success code is 0 while the actual linting task for Jupyter Notebooks fails to start. This problem has existed for some time and was recently observed during the last PR merge.


Image

Analysis

  • During the step that lints Jupyter Notebook files, the workflow tries to run a command: pynblint <path>, which appears to use the typer library to create a CLI for linting notebook files.
  • The code seems to specify a secondary flag (short option) for a non-boolean parameter in the CLI definition, which is not allowed by click/Typer.
  • As a result, the pynblint tool fails to run, causing the workflow to error out for the linting step.

Other observation

Also, using linting tools like pynblint to perform linting on Jupyter Notebooks might not be the best choice, since pynblint never really throws a failed status code to fail the whole linting workflow.


Image

Well, it can be configured to throw an error status code to fail the linting jobs when a potential error is found. However, I believe there are many better tools to handle it properly with more flexibility.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions