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

Automatically test built image in CI #2953

Open
3 tasks
yuvipanda opened this issue Nov 2, 2021 · 7 comments
Open
3 tasks

Automatically test built image in CI #2953

yuvipanda opened this issue Nov 2, 2021 · 7 comments
Labels
automation Manual things that shouldn't be

Comments

@yuvipanda
Copy link
Contributor

yuvipanda commented Nov 2, 2021

#2950 could've been caught fairly easily in #2933 if we had some simple unit tests that check that otter imports/command line works properly. We should add that as part of our infrastructure to make it more resilient.

Tasks to be Completed:

  • All hub images are split into their own repository. Following Stat159 hub's precedence!
  • Test cases are developed for each image - Check whether the Jupyter/R Studio notebooks exist and install a package in the notebook
  • @yuvipanda to talk more about image building during a session!
@balajialg
Copy link
Contributor

@yuvipanda Scope this for spring 2022?

@yuvipanda
Copy link
Contributor Author

sure.

@balajialg balajialg added the automation Manual things that shouldn't be label Nov 2, 2021
@balajialg
Copy link
Contributor

balajialg commented Nov 4, 2021

Getting to a semester-level roadmap something on the lines of Github's roadmap will be an interesting milestone!

@ryanlovett
Copy link
Collaborator

@yuvipanda Are you thinking we can just start up a singleuser container within CI, start up jupyter inside it, then run those imports?

Would we do hub tests as well? Is this what would be needed to automate either as part of CI?

Client Side

  • create a service account user for each hub
  • generate a token for it on each hub and save it to a secret
  • use that secret token in CI to login to the hub, start a server, then run various tests

Hub Side

  • start up a test hub
  • start up a test user user server
  • run various client tests

@balajialg
Copy link
Contributor

balajialg commented Jan 22, 2022

*Listing the exhaustive manual test cases that can be checked when a major PR gets merged

  1. Users can successfully authenticate using Gmail/bcourses account to login to the hub
  2. Users can successfully check whether Jupyter notebook, lab, retro lab, and R studio start-up when clicked
  3. Users can successfully install R and Python Package in the respective interfaces
  4. Users can successfully access files stored previously in the home directory or the shared read-write directories
  5. Users can successfully upload/download a file to/from the tree
  6. Users can successfully kill and restart a server
  7. [For admin users] Admin users can successfully access nonadmin users server
  8. Users can successfully install an extension in JupyterLab and RetroLab

We can narrow down from this list the critical test cases that can be automated and can also highlight the status of hub!

@balajialg
Copy link
Contributor

Proof of concept for per image tests is already implemented by Yuvi here - jupyterhub/repo2docker-action#83

@balajialg
Copy link
Contributor

balajialg commented Mar 12, 2022

@yuvipanda to develop a proof of concept test suite for Stat 159 hub!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automation Manual things that shouldn't be
Projects
None yet
Development

No branches or pull requests

3 participants