the-littlest-jupyterhub
the-littlest-jupyterhub copied to clipboard
Improve performance of integration test in our GitHub CI setup
Current status
Our integration test jobs take about ~16 minutes to complete at this point. A lot of that time is running the bootstrap.py script. We run the bootstrap.py script 1+3 times in a single job, each time starting from a freshly created container, where each time it takes just a bit more than two minutes.
1+3?
- The 1 is because the first time its run, its run via
integration-tests/test_bootstrap.pythat has logic of its own to build a container and run bootstrap.py within it. https://github.com/jupyterhub/the-littlest-jupyterhub/blob/e194a1a3c7241aa00945ebe5cc5c3d5e07263c24/integration-tests/test_bootstrap.py#L52-L58 - The 3 is because we run
.github/integration-test.pythree times, where each call will clear an existing container where bootstrap has run and restart it.
Performance optimization ideas
- [ ] Try to make the bootstrap.py script be tested to run only once per job