From 2250a0b56f12e30d67210fd49d2123014bc73d2c Mon Sep 17 00:00:00 2001 From: Andrea Bolognani Date: Tue, 2 Jun 2020 17:28:58 +0200 Subject: [PATCH] ci: Update build system integration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ci-* targets need to know where our container images are stored and how they are called to work, so now that we use the GitLab container registry instead of Quay some changes are necessary. Signed-off-by: Andrea Bolognani Reviewed-by: Daniel P. Berrangé --- ci/Makefile | 6 +++--- ci/list-images.sh | 26 +++++++------------------- 2 files changed, 10 insertions(+), 22 deletions(-) diff --git a/ci/Makefile b/ci/Makefile index bc1dac11e3..a6a65bdc0f 100644 --- a/ci/Makefile +++ b/ci/Makefile @@ -50,7 +50,7 @@ CI_BUILD_SCRIPT = $(CI_ROOTDIR)/build.sh # Location of the container images we're going to pull # Can be useful to overridde to use a locally built # image instead -CI_IMAGE_PREFIX = quay.io/libvirt/buildenv-libvirt- +CI_IMAGE_PREFIX = registry.gitlab.com/libvirt/libvirt/ci- # The default tag is ':latest' but if the container # repo above uses different conventions this can override it @@ -243,11 +243,11 @@ ci-list-images: @echo @echo "Available x86 container images:" @echo - @sh list-images.sh "$(CI_ENGINE)" "$(CI_IMAGE_PREFIX)" | grep -v cross + @sh list-images.sh "$(CI_IMAGE_PREFIX)" | grep -v cross @echo @echo "Available cross-compiler container images:" @echo - @sh list-images.sh "$(CI_ENGINE)" "$(CI_IMAGE_PREFIX)" | grep cross + @sh list-images.sh "$(CI_IMAGE_PREFIX)" | grep cross @echo ci-help: diff --git a/ci/list-images.sh b/ci/list-images.sh index 35efdb6982..b85b132253 100644 --- a/ci/list-images.sh +++ b/ci/list-images.sh @@ -1,26 +1,14 @@ #!/bin/sh -engine="$1" -prefix="$2" +prefix="${1##registry.gitlab.com/}" -do_podman() { - # Podman freaks out if the search term ends with a dash, which ours - # by default does, so let's strip it. The repository name is the - # second field in the output, and it already starts with the registry - podman search --limit 100 "${prefix%-}" | while read _ repo _; do - echo "$repo" - done +PROJECT_ID=192693 + +all_repos() { + curl -s "https://gitlab.com/api/v4/projects/$PROJECT_ID/registry/repositories?per_page=100" \ + | tr , '\n' | grep '"path":' | sed 's,"path":",,g;s,"$,,g' } -do_docker() { - # Docker doesn't include the registry name in the output, so we have - # to add it. The repository name is the first field in the output - registry="${prefix%%/*}" - docker search --limit 100 "$prefix" | while read repo _; do - echo "$registry/$repo" - done -} - -"do_$engine" | grep "^$prefix" | sed "s,^$prefix,,g" | while read repo; do +all_repos | grep "^$prefix" | sed "s,^$prefix,,g" | while read repo; do echo " $repo" done | sort -u