Rebuild rolling release containers when XEN_CI_REBUILD_CONTAINERS is set. This is to be use with a scheduled pipeline.
Signed-off-by: Anthony PERARD <anthony.per...@vates.tech> --- Notes: v2: - remove the logic to test containers once rebuilt. - only include the config with jobs for the "containers" stage wen XEN_CI_REBUILD_CONTAINERS is set. .gitlab-ci.yml | 16 ++++++++++++--- automation/gitlab-ci/containers.yaml | 29 ++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 automation/gitlab-ci/containers.yaml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 941e5822e8..5a9b8b7228 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,11 +8,21 @@ workflow: - when: always stages: + - containers - analyze - build - test include: - - 'automation/gitlab-ci/analyze.yaml' - - 'automation/gitlab-ci/build.yaml' - - 'automation/gitlab-ci/test.yaml' + - local: 'automation/gitlab-ci/containers.yaml' + rules: + - if: $XEN_CI_REBUILD_CONTAINERS + - local: 'automation/gitlab-ci/analyze.yaml' + rules: + - if: $XEN_CI_REBUILD_CONTAINERS == null + - local: 'automation/gitlab-ci/build.yaml' + rules: + - if: $XEN_CI_REBUILD_CONTAINERS == null + - local: 'automation/gitlab-ci/test.yaml' + rules: + - if: $XEN_CI_REBUILD_CONTAINERS == null diff --git a/automation/gitlab-ci/containers.yaml b/automation/gitlab-ci/containers.yaml new file mode 100644 index 0000000000..25e8bdc34b --- /dev/null +++ b/automation/gitlab-ci/containers.yaml @@ -0,0 +1,29 @@ +.container-build-tmpl: + stage: containers + image: docker:stable + tags: + - container-builder + rules: + - if: $XEN_CI_REBUILD_CONTAINERS + services: + - docker:dind + before_script: + - apk add make + - docker info + - docker login -u $CI_DEPLOY_USER -p $CI_DEPLOY_PASSWORD $CI_REGISTRY + script: + - make -C automation/build PUSH=1 REGISTRY=${XEN_REGISTRY} ${CONTAINER/:/\/} + after_script: + - docker logout + +container-archlinux-current: + extends: + - .container-build-tmpl + variables: + CONTAINER: "archlinux:current" + +container-opensuse-tumbleweed-x86_64: + extends: + - .container-build-tmpl + variables: + CONTAINER: "opensuse:tumbleweed-x86_64" -- Anthony Perard | Vates XCP-ng Developer XCP-ng & Xen Orchestra - Vates solutions web: https://vates.tech