Welcome to the matrix

This refactors our custom image building to utilize GitLab parallel jobs
with a matrix.

This makes it easier to parse what kind of matrix we are going to build
in our docker images. Furthermore instead of splitting the image name,
we can simply pull the versions of the tools from the environment
variables.

The ultimative reason: Dogfooding
This commit is contained in:
Lukas Eipert 2021-11-26 17:06:29 +01:00
parent 32d1908296
commit a9cf88c469
11 changed files with 325 additions and 292 deletions

View file

@ -0,0 +1,46 @@
# Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml
.gitlab-matrix:
variables:
GOLANG: '1.16'
LFS: '2.9'
CHROME: '89'
NODE: '14.15'
YARN: '1.22'
GRAPHICSMAGICK: '1.3.36'
parallel:
matrix:
- RUBY: ['2.7.patched', '3.0.patched']
GIT: ['2.31', '2.33']
POSTGRESQL: ['11', '12', '13']
gitlab test:
extends:
- .gitlab-matrix
- .test_custom
gitlab push:
extends:
- .gitlab-matrix
- .build_and_deploy_custom
# Used by GitLab's compile-production-assets and compile-test-assets jobs
.gitlab-assets-matrix:
variables:
LFS: '2.9'
NODE: '14.15'
YARN: '1.22'
GRAPHICSMAGICK: '1.3.36'
parallel:
matrix:
- RUBY: ['2.7', '3.0']
GIT: ['2.31', '2.33']
gitlab-assets test:
extends:
- .gitlab-assets-matrix
- .test_custom
gitlab-assets push:
extends:
- .gitlab-assets-matrix
- .build_and_deploy_custom