From 0fda47c2ef7afbbb41aabd4006a656c33f4ff1a4 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 3 May 2024 16:29:19 +0100 Subject: [PATCH] Add script to push containers to registries Add script to push containers to registries, run the script at the end of the compose process to push the container manifests to the fedora container registries. Signed-off-by: Peter Robinson --- sync-bootc-base-containers.sh | 177 ++++++++++++++++++++++++++++++++++ twoweek-nightly.sh | 2 + 2 files changed, 179 insertions(+) create mode 100755 sync-bootc-base-containers.sh diff --git a/sync-bootc-base-containers.sh b/sync-bootc-base-containers.sh new file mode 100755 index 0000000..7e9b0e1 --- /dev/null +++ b/sync-bootc-base-containers.sh @@ -0,0 +1,177 @@ +#!/bin/bash + +set -x + +# +# Sync latest docker image +# +# Docs in the f_help function +f_ctrl_c() { + printf "\n*** Exiting ***\n" + exit $? +} +# trap int (ctrl-c) +trap f_ctrl_c SIGINT +f_help() { + cat < /dev/null + # Import the image + for arch in "${ARCHES[@]}"; do + local filename + filename="/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/bootc/${arch}/images/${basename}-${compose}.ociarchive" + copy_image ${format}:${filename} ${registry_name}:${release}-${arch} + done + + popd &> /dev/null + + generate_manifest_list ${registry_name} ${release} + printf "Removing temporary directory\n" + rm -rf $work_dir +} + +# +# Version should not be higher than rawhide +# Either there is a mistake or script is out of date +# +if [[ ${1} -gt "$current_rawhide" ]]; then + printf "ERROR: VERSION HIGHER THAN RAWHIDE" + exit 1 +fi + +# For fedora-bootc +if [[ -n ${base_build_nvr} ]]; then + find_and_copy_images ${base_build_nvr} fedora-bootc ${1} ${compose} +fi diff --git a/twoweek-nightly.sh b/twoweek-nightly.sh index 95a15fd..12b3f82 100755 --- a/twoweek-nightly.sh +++ b/twoweek-nightly.sh @@ -69,6 +69,8 @@ for dir in IoT metadata ; $RSYNCPREFIX rsync -avhH --delete-after $DESTDIR/compose/$dir/ "$RSYNCTARGET/$dir/" ; $RSYNCPREFIX ./releng/scripts/build_composeinfo "$RSYNCTARGET/" --name $NEWCOMPOSE_ID done +# Push containers +./sync-bootc-base-containers.sh ${RELEASE} ${LABEL} # Tell interested persons that the rsync is done. send_fedmsg "${fedmsg_json_done}" ${RELEASE} rsync.complete # Tell everyone by fedmsg about the compose