On 5/20/21 7:42 PM, Alex Bennée wrote:
> The hexagon container is always manually built but of course not
> everyone will be building it themselves and pushing to their
> registries. We still need to create a "local" registry copy for the
> actual gitlab tests to run. We don't build it in this case, just pull
> it across from the upstream registry. We disable this rule from
> running on the qemu-project itself so it doesn't accidentally wipe out
> our master copy.
>
> Fixes: 910c40ee94 ("gitlab: add build-user-hexagon test")
> Signed-off-by: Alex Bennée <[email protected]>
> Tested-by: Cornelia Huck <[email protected]>
> Reviewed-by: Willian Rampazzo <[email protected]>
> Cc: Cornelia Huck <[email protected]>
>
> ---
> v2
> - fix silly typo
> ---
> .gitlab-ci.d/containers.yml | 27 +++++++++++++++++++++++++++
> .gitlab-ci.yml | 2 ++
> 2 files changed, 29 insertions(+)
>
> diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
> index 3fb3c14f06..088c7e68c3 100644
> --- a/.gitlab-ci.d/containers.yml
> +++ b/.gitlab-ci.d/containers.yml
> @@ -101,6 +101,33 @@ armhf-debian-cross-container:
> variables:
> NAME: debian-armhf-cross
>
> +# We never want to build hexagon in the CI system and by default we
> +# always want to refer to the master registry where it lives.
> +hexagon-cross-container:
> + image: docker:stable
> + stage: containers
> + except:
> + variables:
> + - $CI_PROJECT_NAMESPACE == 'qemu-project'
FYI Daniel said we should be consistent and use the 'rules:' syntax:
https://lists.gnu.org/archive/html/qemu-devel/2021-05/msg07308.html
> + variables:
> + NAME: debian-hexagon-cross
> + GIT_DEPTH: 1
> + services:
> + - docker:dind
> + before_script:
> + - export TAG="$CI_REGISTRY_IMAGE/qemu/$NAME:latest"
> + - export COMMON_TAG="$CI_REGISTRY/qemu-project/qemu/qemu/$NAME:latest"
> + - docker info
> + - docker login $CI_REGISTRY -u "$CI_REGISTRY_USER" -p
> "$CI_REGISTRY_PASSWORD"
> + script:
> + - echo "TAG:$TAG"
> + - echo "COMMON_TAG:$COMMON_TAG"
> + - docker pull $COMMON_TAG
> + - docker tag $COMMON_TAG $TAG
> + - docker push "$TAG"
> + after_script:
> + - docker logout
> +
> hppa-debian-cross-container:
> extends: .container_job_template
> stage: containers-layer2
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index f718b61fa7..b2f929c758 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -421,6 +421,8 @@ build-user-static:
> # declared. The image is manually uploaded.
> build-user-hexagon:
> extends: .native_build_job_template
> + needs:
> + job: hexagon-cross-container
> variables:
> IMAGE: debian-hexagon-cross
> TARGETS: hexagon-linux-user
>