[CI] Improve cache performance and stage structure
Summary
- Creates a cache for each job (by name). Rather than creating one big global cache, which takes considerable time to download, this lets each job push and pull only what it needs.
- Uses fewer stages to improve parallelism and overall pipeline duration
- Removes unnecessary/duplicate jobs
Testing: overall pipeline length for MRs
Closes https://gitlab.com/gitlab-org/gl-openshift/gitlab-operator/-/issues/67.
Edited by Dustin Collins