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.
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.
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.
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.
Analysis
pynblint <path>, which appears to use the typer library to create a CLI for linting notebook files.pynblinttool fails to run, causing the workflow to error out for the linting step.Other observation
Also, using linting tools like
pynblintto perform linting on Jupyter Notebooks might not be the best choice, sincepynblintnever really throws a failed status code to fail the whole linting workflow.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.