Optimize CI jobs
This MR optimizes the CI jobs. The full CI pipeline now takes 3-4 minutes instead of 5+ minutes.
- Adds a
test.Dockerfilespecifically designed for running CI jobs. - Adds a new manual job
build-imagethat updates this test image by installing all conda packages and node modules. - No longer updates conda environment in CI, since it was quite slow.
- Removes the CI cache for node modules as it is quite slow, the docker image acts like the cache now.
The test image is for the entire repository, so when a dependency is added just start the manual job for that branch. Node modules are still updated during CI (for all non Python jobs), but if you add a lot of node modules it is wise to also run build-image to save time.