Skip to content
Snippets Groups Projects
Unverified Commit fcf91203 authored by Andrew Newdigate's avatar Andrew Newdigate
Browse files

ci: matrix build for images

parent 8d5becc9
No related branches found
No related tags found
No related merge requests found
Pipeline #15290483 passed
stages:
- container_builds
- validate
- release
- renovate_bot
Loading
Loading
@@ -7,135 +8,4 @@ include:
- local: .gitlab-ci-asdf-versions.yml
- local: templates/standard.yml
- local: kaniko.yml
#########################################
# Builds an image for running Renovate
#########################################
.container_builds_renovate:
stage: validate
variables:
KANIKO_BUILD_FILE: Dockerfile.renovate
KANIKO_EXTRA_ARGS: |
--build-arg GL_COMMON_CI_TASKS_DEFAULT_ASDF_GOLANG_VERSION
--build-arg GL_COMMON_CI_TASKS_DEFAULT_ASDF_JB_VERSION
--build-arg GL_COMMON_CI_TASKS_DEFAULT_ASDF_JSONNET_TOOL_VERSION
--build-arg GL_COMMON_CI_TASKS_DEFAULT_ASDF_YQ_VERSION
extends:
- .kaniko_base
container_image_build_renovate:
variables:
KANIKO_DESTINATION: $CI_REGISTRY_IMAGE/renovate:${CI_COMMIT_REF_SLUG}
extends:
- .container_builds_renovate
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
container_image_test_renovate:
stage: validate
image:
name: $CI_REGISTRY_IMAGE/renovate:${CI_COMMIT_REF_SLUG}
entrypoint: [""]
needs:
- container_image_build_renovate
script:
- bash ./test/validate-container-image.sh renovate
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# Tags use the git tag, not the slug
container_image_tagged_renovate:
variables:
KANIKO_DESTINATION: $CI_REGISTRY_IMAGE/renovate:${CI_COMMIT_TAG}
extends:
- .container_builds_renovate
rules:
- if: '$CI_COMMIT_TAG'
#########################################
# Builds an image for running shellcheck
#########################################
.container_builds_shellcheck:
stage: validate
variables:
KANIKO_BUILD_FILE: Dockerfile.shellcheck
KANIKO_EXTRA_ARGS: |
--build-arg GL_COMMON_CI_TASKS_DEFAULT_ASDF_SHELLCHECK_VERSION
extends:
- .kaniko_base
container_image_build_shellcheck:
variables:
KANIKO_DESTINATION: $CI_REGISTRY_IMAGE/shellcheck:${CI_COMMIT_REF_SLUG}
extends:
- .container_builds_shellcheck
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
container_image_test_shellcheck:
stage: validate
image:
name: $CI_REGISTRY_IMAGE/shellcheck:${CI_COMMIT_REF_SLUG}
entrypoint: [""]
needs:
- container_image_build_shellcheck
script:
- bash ./test/validate-container-image.sh shellcheck
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# Tags use the tool version when git tag is set
container_image_tagged_shellcheck:
variables:
KANIKO_DESTINATION: $CI_REGISTRY_IMAGE/shellcheck:v${GL_COMMON_CI_TASKS_DEFAULT_ASDF_SHELLCHECK_VERSION}
extends:
- .container_builds_shellcheck
rules:
- if: '$CI_COMMIT_TAG'
#########################################
# Builds an image for running shfmt
#########################################
.container_builds_shfmt:
stage: validate
variables:
KANIKO_BUILD_FILE: Dockerfile.shfmt
KANIKO_EXTRA_ARGS: |
--build-arg GL_COMMON_CI_TASKS_DEFAULT_ASDF_SHFMT_VERSION
extends:
- .kaniko_base
container_image_build_shfmt:
variables:
KANIKO_DESTINATION: $CI_REGISTRY_IMAGE/shfmt:${CI_COMMIT_REF_SLUG}
extends:
- .container_builds_shfmt
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
container_image_test_shfmt:
stage: validate
image:
name: $CI_REGISTRY_IMAGE/shfmt:${CI_COMMIT_REF_SLUG}
entrypoint: [""]
needs:
- container_image_build_shfmt
script:
- bash ./test/validate-container-image.sh shfmt
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# Tags use the tool version when git tag is set
container_image_tagged_shfmt:
variables:
KANIKO_DESTINATION: $CI_REGISTRY_IMAGE/shfmt:v${GL_COMMON_CI_TASKS_DEFAULT_ASDF_SHFMT_VERSION}
extends:
- .container_builds_shfmt
rules:
- if: '$CI_COMMIT_TAG'
- local: .gitlab/ci/container-images.yml
#########################################
# Builds images
#########################################
.container_builds:
stage: container_builds
variables:
KANIKO_EXTRA_ARGS: |
--build-arg GL_COMMON_CI_TASKS_DEFAULT_ASDF_GOLANG_VERSION
--build-arg GL_COMMON_CI_TASKS_DEFAULT_ASDF_JB_VERSION
--build-arg GL_COMMON_CI_TASKS_DEFAULT_ASDF_JSONNET_TOOL_VERSION
--build-arg GL_COMMON_CI_TASKS_DEFAULT_ASDF_SHELLCHECK_VERSION
--build-arg GL_COMMON_CI_TASKS_DEFAULT_ASDF_SHFMT_VERSION
--build-arg GL_COMMON_CI_TASKS_DEFAULT_ASDF_YQ_VERSION
extends:
- .kaniko_base
# Add additional builds here
parallel:
matrix:
- KANIKO_BUILD_FILE: Dockerfile.renovate
BUILD_NAME: renovate
container_image_build:
variables:
KANIKO_DESTINATION: $CI_REGISTRY_IMAGE/${BUILD_NAME}:${CI_COMMIT_REF_SLUG}
extends:
- .container_builds
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
container_image_test:
stage: validate
image:
name: $CI_REGISTRY_IMAGE/${BUILD_NAME}:${CI_COMMIT_REF_SLUG}
entrypoint: [""]
# needs:
# - container_builds
script:
- bash ./test/validate-container-image.sh renovate
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# Tags use the git tag, not the slug
container_image_tagged:
variables:
KANIKO_DESTINATION: $CI_REGISTRY_IMAGE/${BUILD_NAME}:${CI_COMMIT_TAG}
extends:
- .container_builds
rules:
- if: '$CI_COMMIT_TAG'
# #########################################
# # Builds an image for running shellcheck
# #########################################
# .container_builds_shellcheck:
# stage: validate
# variables:
# KANIKO_BUILD_FILE: Dockerfile.shellcheck
# KANIKO_EXTRA_ARGS: |
# extends:
# - .kaniko_base
# container_image_build_shellcheck:
# variables:
# KANIKO_DESTINATION: $CI_REGISTRY_IMAGE/shellcheck:${CI_COMMIT_REF_SLUG}
# extends:
# - .container_builds_shellcheck
# rules:
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# container_image_test_shellcheck:
# stage: validate
# image:
# name: $CI_REGISTRY_IMAGE/shellcheck:${CI_COMMIT_REF_SLUG}
# entrypoint: [""]
# needs:
# - container_image_build_shellcheck
# script:
# - bash ./test/validate-container-image.sh shellcheck
# rules:
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# # Tags use the tool version when git tag is set
# container_image_tagged_shellcheck:
# variables:
# KANIKO_DESTINATION: $CI_REGISTRY_IMAGE/shellcheck:v${GL_COMMON_CI_TASKS_DEFAULT_ASDF_SHELLCHECK_VERSION}
# extends:
# - .container_builds_shellcheck
# rules:
# - if: '$CI_COMMIT_TAG'
# #########################################
# # Builds an image for running shfmt
# #########################################
# .container_builds_shfmt:
# stage: validate
# variables:
# KANIKO_BUILD_FILE: Dockerfile.shfmt
# KANIKO_EXTRA_ARGS: |
# extends:
# - .kaniko_base
# container_image_build_shfmt:
# variables:
# KANIKO_DESTINATION: $CI_REGISTRY_IMAGE/shfmt:${CI_COMMIT_REF_SLUG}
# extends:
# - .container_builds_shfmt
# rules:
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# container_image_test_shfmt:
# stage: validate
# image:
# name: $CI_REGISTRY_IMAGE/shfmt:${CI_COMMIT_REF_SLUG}
# entrypoint: [""]
# needs:
# - container_image_build_shfmt
# script:
# - bash ./test/validate-container-image.sh shfmt
# rules:
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# # Tags use the tool version when git tag is set
# container_image_tagged_shfmt:
# variables:
# KANIKO_DESTINATION: $CI_REGISTRY_IMAGE/shfmt:v${GL_COMMON_CI_TASKS_DEFAULT_ASDF_SHFMT_VERSION}
# extends:
# - .container_builds_shfmt
# rules:
# - if: '$CI_COMMIT_TAG'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment