text: Title: CI improvements and speedups
  Body: There are a few things that might be improved / changed and everyone is welcome to implement these ideas:
  
  1. Get rid of upload/download artifact and use a registry server. This would mean much less uploads (most layers will be already uploaded). It might be a good idea to use [service containers](https://docs.github.com/en/actions/using-containerized-services/about-service-containers) here.
  2. Execute several steps inside one runner. For example, `docker-stacks-foundation`, `base-notebook` and `minimal-notebook` can be built together, and while one image is uploading as artefact, another can already start building. This doesn't look very clean though, as it will introduce complexity.
  3. Use [Autoscaling with self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/autoscaling-with-self-hosted-runners). This will allow to create aarch64 runners automatically and only when needed. It will save resources and my money 😆
  
  To be honest, I'm pretty happy with the way CI works currently, so I don't think these are essential to implement, but I might give these ideas a try.