[libvirt PATCH v3 4/4] ci: Update build system integration

Andrea Bolognani abologna at redhat.com
Wed Jun 10 15:34:14 UTC 2020


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 <abologna at redhat.com>
---
 ci/Makefile       | 10 +++++-----
 ci/list-images.sh | 24 ++++++------------------
 2 files changed, 11 insertions(+), 23 deletions(-)

diff --git a/ci/Makefile b/ci/Makefile
index bc1dac11e3..dc8012f33b 100644
--- a/ci/Makefile
+++ b/ci/Makefile
@@ -50,11 +50,11 @@ 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
+# The default tag is ':master' but if the container
 # repo above uses different conventions this can override it
-CI_IMAGE_TAG = :latest
+CI_IMAGE_TAG = :master
 
 # We delete the virtual root after completion, set
 # to 0 if you need to keep it around for debugging
@@ -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
 
-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
+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_$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
-- 
2.25.4




More information about the libvir-list mailing list