From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Paul Durrant" <paul@xen.org>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Dmitry Osipenko" <dmitry.osipenko@collabora.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Sriram Yagnaraman" <sriram.yagnaraman@ericsson.com>,
"Gustavo Romero" <gustavo.romero@linaro.org>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Zhao Liu" <zhao1.liu@intel.com>,
"Kohei Tokunaga" <ktokunaga.mail@gmail.com>,
"Akihiko Odaki" <odaki@rsg.ci.i.u-tokyo.ac.jp>,
"Thomas Huth" <thuth@redhat.com>,
"BALATON Zoltan" <balaton@eik.bme.hu>,
"Peter Maydell" <peter.maydell@linaro.org>,
qemu-arm@nongnu.org, qemu-s390x@nongnu.org,
"Li-Wen Hsu" <lwhsu@freebsd.org>,
"David Woodhouse" <dwmw2@infradead.org>,
"Ed Maste" <emaste@freebsd.org>,
"Daniel P. Berrangé" <berrange@redhat.com>
Subject: [PATCH v2 18/18] gitlab: add a weekly container building job
Date: Thu, 13 Nov 2025 10:25:24 +0000 [thread overview]
Message-ID: <20251113102525.1255370-19-alex.bennee@linaro.org> (raw)
In-Reply-To: <20251113102525.1255370-1-alex.bennee@linaro.org>
This will hopefully catch containers that break because of upstream
changes as well as keep the container cache fresh.
As we have all the container jobs as dependants we tweaks the
container template to allow scheduled runs. Because we added a new
rules stanza we also need to make sure we catch the normal runs as
well.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v2
- add staging and QEMU_CI runs
---
.gitlab-ci.d/container-template.yml | 5 ++++
.gitlab-ci.d/containers.yml | 39 +++++++++++++++++++++++++++++
tests/docker/Makefile.include | 11 ++++++++
3 files changed, 55 insertions(+)
diff --git a/.gitlab-ci.d/container-template.yml b/.gitlab-ci.d/container-template.yml
index 4eec72f383d..a128a46469b 100644
--- a/.gitlab-ci.d/container-template.yml
+++ b/.gitlab-ci.d/container-template.yml
@@ -19,3 +19,8 @@
- docker push "$TAG"
after_script:
- docker logout
+ rules:
+ # because we want to enable this for scheduled runs we also have to replicate the normal rules
+ - if: '$CI_PIPELINE_SOURCE == "schedule"'
+ - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
+ - if: '$QEMU_CI && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM'
diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index db9b4d5e57f..f7d3e7205dc 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -33,3 +33,42 @@ amd64-fedora-rust-nightly-container:
variables:
NAME: fedora-rust-nightly
allow_failure: true
+
+# this scheduled job will trigger all the containers to build
+weekly-container-builds:
+ extends: .container_job_template
+ allow_failure: true
+ needs:
+ # core
+ - amd64-centos9-container
+ - amd64-fedora-container
+ # cross
+ - amd64-debian-cross-container
+ - amd64-debian-user-cross-container
+ - amd64-debian-legacy-cross-container
+ - arm64-debian-cross-container
+ - armhf-debian-cross-container
+ - hexagon-cross-container
+ - loongarch-debian-cross-container
+ - i686-debian-cross-container
+ - mips64el-debian-cross-container
+ - ppc64el-debian-cross-container
+ - riscv64-debian-cross-container
+ - s390x-debian-cross-container
+ - tricore-debian-cross-container
+ - xtensa-debian-cross-container
+ - win64-fedora-cross-container
+ - wasm-emsdk-cross-container
+ # containers
+ - amd64-alpine-container
+ - amd64-debian-container
+ - amd64-ubuntu2204-container
+ - amd64-opensuse-leap-container
+ - python-container
+ - amd64-fedora-rust-nightly-container
+ script:
+ - apk -U add make bash skopeo
+ - make docker-verify V=1 DOCKER_DEFAULT_REGISTRY=$CI_REGISTRY_IMAGE
+ rules:
+ # this only ever runes as a scheduled build
+ - if: '$CI_PIPELINE_SOURCE == "schedule"'
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 3959d8a028a..38467cca610 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -49,6 +49,15 @@ docker-image-%: $(DOCKER_FILES_DIR)/%.docker
-t qemu/$* - < $< $(if $V,,> /dev/null),\
"BUILD", $*)
+# General rule for inspecting registry images.
+docker-verify-%: $(DOCKER_FILES_DIR)/%.docker
+ $(call quiet-command, \
+ skopeo inspect \
+ --format '{{.Created}}' \
+ docker://$(DOCKER_REGISTRY)/qemu/$* \
+ $(if $V,,> /dev/null),\
+ "VERIFY", $*)
+
# Special rule for debootstraped binfmt linux-user images
docker-binfmt-image-debian-%: $(DOCKER_FILES_DIR)/debian-bootstrap.docker
$(if $(EXECUTABLE),,\
@@ -236,6 +245,8 @@ docker-run: docker-qemu-src
docker-image: ${DOCKER_IMAGES:%=docker-image-%}
+docker-verify: ${DOCKER_IMAGES:%=docker-verify-%}
+
docker-clean:
$(call quiet-command, $(DOCKER_SCRIPT) clean)
--
2.47.3
prev parent reply other threads:[~2025-11-13 10:34 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-13 10:25 [PATCH v2 00/18] testing/next cleanups (docker, functional) - pre-PR Alex Bennée
2025-11-13 10:25 ` [PATCH v2 01/18] tests/docker: drop --link from COPYs in emsdk docker Alex Bennée
2025-11-13 10:25 ` [PATCH v2 02/18] libvirt-ci: bump libvirt-ci to latest version Alex Bennée
2025-11-13 10:34 ` Daniel P. Berrangé
2025-11-13 11:23 ` Alex Bennée
2025-11-13 10:25 ` [PATCH v2 03/18] tests/lcitool: update ENV stazas outputted by refresh Alex Bennée
2025-11-13 10:25 ` [PATCH v2 04/18] tests/docker: add coreutils to the package list Alex Bennée
2025-11-13 10:25 ` [PATCH v2 05/18] gitlab: add initial ppc64le custom-runner test Alex Bennée
2025-11-13 10:25 ` [PATCH v2 06/18] docs/about/emulation: update assets for uftrace plugin documentation Alex Bennée
2025-11-13 10:25 ` [PATCH v2 07/18] tests: move test_xen assets to share.linaro.org Alex Bennée
2025-11-13 10:25 ` [PATCH v2 08/18] tests: move test_virt " Alex Bennée
2025-11-13 10:25 ` [PATCH v2 09/18] tests: move test_netdev_ethtool " Alex Bennée
2025-11-13 10:25 ` [PATCH v2 10/18] tests: move test_kvm_xen " Alex Bennée
2025-11-13 10:25 ` [PATCH v2 11/18] tests: move test_kvm " Alex Bennée
2025-11-13 10:51 ` Thomas Huth
2025-11-13 10:25 ` [PATCH v2 12/18] tests: move test_virt_gpu " Alex Bennée
2025-11-13 10:51 ` Thomas Huth
2025-11-13 10:25 ` [PATCH v2 13/18] gitlab: use template for ubuntu-24.04-s390x jobs Alex Bennée
2025-11-17 10:27 ` Daniel P. Berrangé
2025-11-13 10:25 ` [PATCH v2 14/18] gitlab: simplify the ubuntu-24.04-aarch64 rules Alex Bennée
2025-11-17 10:26 ` Daniel P. Berrangé
2025-11-13 10:25 ` [PATCH v2 15/18] gitlab: suppress custom runners being triggered by schedule Alex Bennée
2025-11-13 10:25 ` [PATCH v2 16/18] gitlab: make custom runners need QEMU_CI to run Alex Bennée
2025-11-17 10:22 ` Daniel P. Berrangé
2025-11-17 10:37 ` Alex Bennée
2025-11-13 10:25 ` [PATCH v2 17/18] gitlab: make the schedule rules a bit more general Alex Bennée
2025-11-13 10:25 ` Alex Bennée [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251113102525.1255370-19-alex.bennee@linaro.org \
--to=alex.bennee@linaro.org \
--cc=balaton@eik.bme.hu \
--cc=berrange@redhat.com \
--cc=dmitry.osipenko@collabora.com \
--cc=dwmw2@infradead.org \
--cc=emaste@freebsd.org \
--cc=gustavo.romero@linaro.org \
--cc=ktokunaga.mail@gmail.com \
--cc=lwhsu@freebsd.org \
--cc=odaki@rsg.ci.i.u-tokyo.ac.jp \
--cc=paul@xen.org \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=sriram.yagnaraman@ericsson.com \
--cc=thuth@redhat.com \
--cc=zhao1.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).