Remove separate gdk-base image, pin specific versions
What does this MR do and why?
-
Remove building separate gdk-base. Building 2 separate images is unreliable. Consider following scenario:
- A breaking change is introduced in master branch which rebuilds the base image and updates the rolling
master
tag - Mr's with older code either in
draft
state or targeting nonmaster
branch exist. Pipelines will start using newer gdk-base because bothdraft
state or not targetingmaster
branch will not make us use merged result pipeline. As a result, base is not compatible with local code anymore thus breaking pipeline just out of the blue
This mr introduces building single image every time which will always result in correct final image.
- A breaking change is introduced in master branch which rebuilds the base image and updates the rolling
-
Pins GDK sha, otherwise builds can break randomly if gdk introduces some bug or some change that requires an update on gitlab side
-
Mounts gem cache folder. Should slightly improve build times if there is some dependency overlap between different components builds
-
Run build on a beefier runner to improve speed
-
Expand .dockerignore patterns
Part of: #410241 (closed)
Closes: #423537 (closed)
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Andrejs Cunskis