Split CI job for base image
Overview
Orka provides a base image 90GCatalinaSSH.img
for us to use, however it has the default username and password and also it doesn't have the latest macOS update.
Proposal
As suggested in point 6 and point 7 we should have our own base image that we use inside of CI to install all the software that we need in gitlab-org/gitlab-runner#6564 (closed).
We should split our CI jobs so that:
- we have a provisioning job per-layer of configuration:
- user creation/OS updates (based on top of
90GCatalinaSSH.img
) - package managers/toolchain
- GitLab Runner
- user creation/OS updates (based on top of
- each job will save its VM image under a unique name, which will serve as the base for the next layer. This way if one of the layers changes, we don't have to go through a full rebuild of the VM.
- Document this process
The process can be visualized in #1 (comment 405633556)