This is an automated email from the ASF dual-hosted git repository. vatamane pushed a commit to branch improve-pull-all in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git
commit d4c43176b445afdc72f6a619dd13e3479da0aa0f Author: Nick Vatamaniuc <[email protected]> AuthorDate: Tue Mar 10 22:50:05 2026 -0400 Improve "Update Docker Containers" cleanup Simplify and move more logic from Jenkins config into this script. Previously we did two prune operations: in one Jenkins, and then we wget and ran this script aswell. Now do the pruning just in this script to reduce reliance on the Jenkins config. Simplify the logic a bit as well: just prune any images older than 720h (30days) and then pull all the known ones we expect to have cached. The Jenkins config now only has: ``` wget -N https://raw.githubusercontent.com/apache/couchdb-ci/main/pull-all-couchdbdev-docker bash ./pull-all-couchdbdev-docker ``` --- pull-all-couchdbdev-docker | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/pull-all-couchdbdev-docker b/pull-all-couchdbdev-docker index 1cb7b78..3bd7e3c 100644 --- a/pull-all-couchdbdev-docker +++ b/pull-all-couchdbdev-docker @@ -2,7 +2,11 @@ DOCKER_ORG="apache" -# These are the images that are currently being used, so don't `docker rmi` them on cleanup. +# These are the images that are currently being used. Make sure we pull them to +# prefill the local docker images so CI runs a bit quicker. The buildkit image +# is from docker buildx so that the worker nodes can be used as part of docker +# buildx multiarch setup. It should match what `docker buildx inspect multiarch +# --bootstrap` pulls. PULL_IMAGES=( couchdbci-debian:bookworm-erlang:28.3.2 @@ -15,26 +19,12 @@ couchdbci-ubuntu:jammy-erlang-26.2.5.17 couchdbci-centos:10-erlang-26.2.5.17 couchdbci-centos:9-erlang-26.2.5.17 couchdbci-centos:8-erlang-26.2.5.17 +moby/buildkit:buildx-stable-1 ) -# The buildkit one is from docker buildx so that the vm can be used as -# architecture-specific builders. We don't pull this one it's added as -# part of multiarch --bootstrap via ssh - -KEEP_IMAGES=( - "${PULL_IMAGES[@]}" - buildkit:buildx-stable-1 -) - +docker system prune -af --filter "until=720h" for image in ${PULL_IMAGES[*]} do echo docker pull ${DOCKER_ORG}/${image} docker pull ${DOCKER_ORG}/${image} - # We don't want to delete the current working set of images. - if ! printf '%s\n' "${KEEP_IMAGES[@]}" | grep -q -P "^${image}$"; then - echo docker rmi ${DOCKER_ORG}/$image - docker rmi ${DOCKER_ORG}/$image - fi done - -docker system prune -f
