Skip to content
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

[Epic] Fix and improve CI unit testing #269

Open
1 task done
jstourac opened this issue Oct 18, 2023 · 0 comments
Open
1 task done

[Epic] Fix and improve CI unit testing #269

jstourac opened this issue Oct 18, 2023 · 0 comments
Assignees

Comments

@jstourac
Copy link
Member

jstourac commented Oct 18, 2023

There are basic unit tests for various notebooks that are executed in our CI (prow) for each PR. At the moment, the CI happily continues and finish as passed even though some test fails.

Test execution output is saved into the ipynb output file but the content isn’t checked so even if the test fail we don’t know. This design expected that assertion returns non-zero code so the execution of the ipynb file will interrupt in case of a test failure. This doesn't seem to be true.

There are also some other smaller issues we should do as an improvement of this.

Current situation:

Main issues:

Possible other improvements:

  • We may want to use simple python script for simple tests, like package version assertion and use ipynb format only for functional tests like framework compute tasks
  • Regarding the *.ipynb script format, we need to run nbformat.normalize and nbformat.validate (docs) on these during the code validation check (PR CI) so these are formatted properly
  • We should unify the versions of the *.ipynb file format through all tests - I suppose that the version format should match the installed Jupyter notebook framework
  • Let's review our shell script in the Makefile that executes the test so that it's fail-fast; or we need to check the result at the end - the content of the output files (may not be necessary if JUnit is applied, see main issues)

Ideas for a test coverage (discussion):

  • Let’s have control on what all RPM packages are installed and in what versions?
  • Let’s have control on what all pip packages are installed and in what versions?
  • Set of scripts that utilize the installed packages and libraries in some basic functional manner - ideally hardware agnostic (not needing the necessary special hardware (e.g. GPU, HPU, etc.) at this time)
@github-project-automation github-project-automation bot moved this to 📋 Backlog in ODH IDE Planning Oct 18, 2023
@jstourac jstourac self-assigned this Oct 18, 2023
jiridanek pushed a commit to jiridanek/notebooks that referenced this issue Jun 18, 2024
[release-2023b] sync release-2023b branch with upstream 2023b branch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Status: No status
Status: 📋 Backlog
Development

No branches or pull requests

1 participant