Use our own base images for CI builds
Builds two CI images after tests are completed. One for the template itself and a second one for generated projects. Both images are alpine based and contain python3, pip and some support packages. The images are published to repository container registry and also to docker hub*. The images are built in CI (from default branches only). We will also set up a CI schedule which will keep the images up to date automatically.
This should shave off a bit of time from each CI job. For resulting projects the gains should be about 4 minutes per job (so for SPA it is 8 minutes since it has two stages).
* Docker hub publish will run only from protected branches. This is since the secret is configured
to be protected and masked.
Also:
- Install pipenv with '>=2020.6.2'
- Added editorconfig to root level and also set yml indent to 2 (matches existing code style)
- Enable DOCKER_BUILDKIT since it improves caching logic for image builds.
After it has been merged:
- remove
publish_ci_image
from theonly
list - port over to SPA branch
- set up a schedule which runs template CI every night
Edited by Jürno Ader