diff --git a/.gitlab-ci.d/container-template.yml b/.gitlab-ci.d/container-template.yml index 4eec72f383..82c1b69e8d 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_CI_UPSTREAM && $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 db9b4d5e57..f7d3e7205d 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 3959d8a028..38467cca61 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)