On Tue, 19 Nov 2024, Anthony PERARD wrote:
> 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>

Reviewed-by: Stefano Stabellini <sstabell...@kernel.org>


> ---
> 
> 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
> 

Reply via email to