@@ -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
new file mode 100644
@@ -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"
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.perard@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