From 5bd816cb3d86e4d30017703d6f6b3b7e0556a3c7 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Thu, 15 Aug 2024 09:55:23 -0400 Subject: [PATCH 01/14] F-41: Update for branching Signed-off-by: Paul Whalen --- fedora-iot.conf | 28 ++++++++++++++-------------- sync-bootc-base-containers.sh | 10 +++++++--- twoweek-nightly.sh | 2 +- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 99c08de..e1a5d3b 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -203,7 +203,7 @@ translate_paths = [ ] # These will be inherited by live_media, live_images and image_build -global_ksurl = 'git+https://pagure.io/fedora-kickstarts.git?#HEAD' +global_ksurl = 'git+https://pagure.io/fedora-kickstarts.git?#origin/f41' global_release = '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN' global_version = '41' # live_images ignores this in favor of live_target @@ -217,9 +217,9 @@ osbuild = { "image_types": ["iot-raw-image"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/rawhide/$arch/iot", + "ostree_ref": "fedora/devel/$arch/iot", "subvariant": "IoT", }, { @@ -228,9 +228,9 @@ osbuild = { "image_types": ["iot-installer"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/rawhide/$arch/iot", + "ostree_ref": "fedora/devel/$arch/iot", "subvariant": "IoT", "manifest_type": "dvd-ostree", }, @@ -240,9 +240,9 @@ osbuild = { "image_types": ["iot-simplified-installer"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/rawhide/$arch/iot", + "ostree_ref": "fedora/devel/$arch/iot", "subvariant": "IoT_Simplified_Provisioner", "customizations": {"installation_device": "/dev/vda"}, "failable": ["*"], @@ -258,14 +258,14 @@ ostree = { "unified_core": True, "treefile": "fedora-iot.yaml", "config_url": "https://pagure.io/fedora-iot/ostree.git", - "config_branch": "main", + "config_branch": "f41", "repo": [ "IoT", - "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/" + "https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$basearch/os/" ] "tag_ref": False, "ostree_repo": "/mnt/koji/compose/iot/repo/", - "ostree_ref": "fedora/rawhide/${basearch}/iot", + "ostree_ref": "fedora/devel/${basearch}/iot", "runroot_packages": ["selinux-policy-targeted"], "arches": ["x86_64", "aarch64"], "update_summary": True, @@ -276,18 +276,18 @@ ostree_container = { "^bootc$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", "config_url": "https://pagure.io/fedora-iot/base-images", - "config_branch": "main", + "config_branch": "f41", "treefile": "fedora-bootc.yaml", - "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64", "ppc64le", "s390x"], "failable": ['*'], }, "^bootc-tier0$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", "config_url": "https://pagure.io/fedora-iot/base-images", - "config_branch": "main", + "config_branch": "f41", "treefile": "fedora-tier-0.yaml", - "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64", "ppc64le", "s390x"], "failable": ['*'], }, diff --git a/sync-bootc-base-containers.sh b/sync-bootc-base-containers.sh index da29480..cfe8ce4 100755 --- a/sync-bootc-base-containers.sh +++ b/sync-bootc-base-containers.sh @@ -50,8 +50,10 @@ arch_to_goarch() { # This is the release of Fedora that is currently stable, it will define if we # need to move the fedora:latest tag current_stable="40" +# Define the development release +current_devel="41" # Define what is rawhide so we know to push that tag -current_rawhide="41" +current_rawhide="42" # Sanity checking if ! [[ "${1}" =~ ^-?[0-9]+$ ]]; then @@ -85,10 +87,12 @@ base_build_nvr=${basename}-${vers}-${compdate} if [[ ${1} -eq "$current_stable" ]]; then tagname="latest" -fi -if [[ ${1} -eq "$current_rawhide" ]]; then +elif [[ ${1} -eq "$current_rawhide" ]]; then tagname="rawhide" +elif [[ ${1} -eq "$current_devel" ]]; then + tagname="${current_devel}" fi + if [[ -z "$stage" ]]; then registries=("registry.fedoraproject.org" "candidate-registry.fedoraproject.org" "quay.io/fedora") else diff --git a/twoweek-nightly.sh b/twoweek-nightly.sh index 990268a..dd66c3f 100755 --- a/twoweek-nightly.sh +++ b/twoweek-nightly.sh @@ -18,7 +18,7 @@ TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX` TOMAIL="iot@lists.fedoraproject.org" FROM="Fedora IoT Report " RSYNCPREFIX="sudo -u ftpsync" -RSYNCTARGET="/pub/alt/iot/rawhide/" +RSYNCTARGET="/pub/alt/iot/branched/" OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID) # assume a releng dir is a git checkout of the releng repo From ed26acceef4a5c9fac010006be274f945dcedc20 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Fri, 27 Sep 2024 15:22:20 -0400 Subject: [PATCH 02/14] F41: Add iot base bootc image Signed-off-by: Paul Whalen --- fedora-iot.conf | 11 ++++++++++- variants-fedora.xml | 6 ++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index e1a5d3b..e3525ae 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -22,7 +22,7 @@ sigkeys = ['e99d6ad1'] tree_arches = ['aarch64', 'x86_64', "ppc64le", "s390x"] # limit tree variants # if undefined, all variants from variants.xml will be included -tree_variants = ['IoT', 'bootc', 'bootc-tier0'] +tree_variants = ['IoT', 'bootc', 'bootc-tier0', 'bootc-base'] hashed_directories = True # RUNROOT settings @@ -291,6 +291,15 @@ ostree_container = { "arches": ["x86_64", "aarch64", "ppc64le", "s390x"], "failable": ['*'], }, + "^bootc-base$": { + "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", + "config_url": "https://pagure.io/fedora-iot/ostree.git", + "config_branch": "f41", + "treefile": "fedora-iot-bootc.yaml", + "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$basearch/os/"], + "arches": ["x86_64", "aarch64"], + "failable": ['*'], + }, } koji_profile = 'compose_koji' diff --git a/variants-fedora.xml b/variants-fedora.xml index 462c3ea..0568bf8 100644 --- a/variants-fedora.xml +++ b/variants-fedora.xml @@ -7,6 +7,12 @@ x86_64 + + + aarch64 + x86_64 + + aarch64 From f908bf5820f540401c04acac36c47be445e8ac2c Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Fri, 4 Oct 2024 10:55:53 -0400 Subject: [PATCH 03/14] F41: drop tier-0 from the compose Signed-off-by: Paul Whalen --- fedora-iot.conf | 11 +---------- variants-fedora.xml | 8 -------- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index e3525ae..989d405 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -22,7 +22,7 @@ sigkeys = ['e99d6ad1'] tree_arches = ['aarch64', 'x86_64', "ppc64le", "s390x"] # limit tree variants # if undefined, all variants from variants.xml will be included -tree_variants = ['IoT', 'bootc', 'bootc-tier0', 'bootc-base'] +tree_variants = ['IoT', 'bootc', 'bootc-base'] hashed_directories = True # RUNROOT settings @@ -282,15 +282,6 @@ ostree_container = { "arches": ["x86_64", "aarch64", "ppc64le", "s390x"], "failable": ['*'], }, - "^bootc-tier0$": { - "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", - "config_url": "https://pagure.io/fedora-iot/base-images", - "config_branch": "f41", - "treefile": "fedora-tier-0.yaml", - "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$basearch/os/"], - "arches": ["x86_64", "aarch64", "ppc64le", "s390x"], - "failable": ['*'], - }, "^bootc-base$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", "config_url": "https://pagure.io/fedora-iot/ostree.git", diff --git a/variants-fedora.xml b/variants-fedora.xml index 0568bf8..9deb115 100644 --- a/variants-fedora.xml +++ b/variants-fedora.xml @@ -21,12 +21,4 @@ s390x - - - aarch64 - x86_64 - ppc64le - s390x - - From c04e2d111938ec4a292108616c4343ed929723b4 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Fri, 4 Oct 2024 14:46:14 -0400 Subject: [PATCH 04/14] F41: Add IoT base image to sync script Signed-off-by: Paul Whalen --- sync-bootc-base-containers.sh | 37 ++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/sync-bootc-base-containers.sh b/sync-bootc-base-containers.sh index cfe8ce4..8e44ace 100755 --- a/sync-bootc-base-containers.sh +++ b/sync-bootc-base-containers.sh @@ -33,8 +33,6 @@ EXAMPLE EOF } -ARCHES=("aarch64" "x86_64" "ppc64le" "s390x") - arch_to_goarch() { local a=$1; shift # See https://github.com/coreos/stream-metadata-go/blob/c5fe1b98ac1b1e6ab62a606b7580dc1f30703f83/arch/arch.go#L14 @@ -71,7 +69,7 @@ if [[ "${3}" == "-s" ]]; then stage="true" fi -basename="Fedora-IoT-bootc" +BASENAMES=("Fedora-IoT-bootc" "Fedora-IoT-bootc-base") format="oci-archive" vers=${1} compose=${2} @@ -83,7 +81,6 @@ compdate=`echo ${compose} | cut -c 4-` # Can't currently query koji for runroot tasks as they're not tagged # # base_build_nvr=$(koji -q latest-build --type=image f${1}-updates-candidate ${basename} | awk '{print $1}') -base_build_nvr=${basename}-${vers}-${compdate} if [[ ${1} -eq "$current_stable" ]]; then tagname="latest" @@ -140,7 +137,7 @@ find_and_copy_images() { local registry_name=$2 local release=$3 local name - if [[ ${registry_name} = "fedora-bootc" ]]; then + if [[ ${registry_name} = "fedora-bootc" ]] || [[ ${registry_name} = "fedora-iot" ]]; then name=${basename} else printf "Unexpected image type! If we added a new one, it needs mapping here" @@ -148,10 +145,10 @@ find_and_copy_images() { fi # Check that all architectures completed in the build else exit for arch in "${ARCHES[@]}"; do - if [ ! -f "/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/bootc/${arch}/images/${basename}-${release}.${compdate}.ociarchive" ]; then - echo "One of the expected images are missing, exiting." - exit 1 - fi + if [ ! -f "/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/${compose_type}/${arch}/images/${basename}-${release}.${compdate}.ociarchive" ]; then + echo "One of the expected images are missing, exiting." + exit 1 + fi done work_dir=$(mktemp -d) @@ -159,7 +156,7 @@ find_and_copy_images() { # Import the image for arch in "${ARCHES[@]}"; do local filename - filename="/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/bootc/${arch}/images/${basename}-${release}.${compdate}.ociarchive" + filename="/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/${compose_type}/${arch}/images/${basename}-${release}.${compdate}.ociarchive" copy_image ${format}:${filename} ${registry_name}:${release}-${arch} done @@ -181,7 +178,19 @@ fi printf "Syncing compose contailers: ${vers} : ${compose}\n" -# For fedora-bootc -if [[ -n ${base_build_nvr} ]]; then - find_and_copy_images ${base_build_nvr} fedora-bootc ${vers} ${compose} -fi +# For fedora-bootc and fedora-iot +for basename in "${BASENAMES[@]}"; do + if [[ ${basename} = "Fedora-IoT-bootc" ]]; then + registry_name="fedora-bootc" + compose_type="bootc" + ARCHES=("aarch64" "x86_64" "ppc64le" "s390x") + elif [[ ${basename} = "Fedora-IoT-bootc-base" ]]; then + registry_name="fedora-iot" + compose_type="bootc-base" + ARCHES=("aarch64" "x86_64") + fi + base_build_nvr=${basename}-${vers}-${compdate} + if [[ -n ${base_build_nvr} ]]; then + find_and_copy_images ${base_build_nvr} ${registry_name} ${vers} ${compose} + fi +done From bde3e1d1c90d255c935356b36fb489030df0a9c9 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Fri, 25 Oct 2024 10:32:54 -0400 Subject: [PATCH 05/14] F41: Update for final Signed-off-by: Paul Whalen --- fedora-iot.conf | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 989d405..13a0b0d 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -217,9 +217,9 @@ osbuild = { "image_types": ["iot-raw-image"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/devel/$arch/iot", + "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", }, { @@ -228,9 +228,9 @@ osbuild = { "image_types": ["iot-installer"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/devel/$arch/iot", + "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", "manifest_type": "dvd-ostree", }, @@ -240,9 +240,9 @@ osbuild = { "image_types": ["iot-simplified-installer"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/devel/$arch/iot", + "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT_Simplified_Provisioner", "customizations": {"installation_device": "/dev/vda"}, "failable": ["*"], @@ -261,11 +261,11 @@ ostree = { "config_branch": "f41", "repo": [ "IoT", - "https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$basearch/os/" + "https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/" ] "tag_ref": False, "ostree_repo": "/mnt/koji/compose/iot/repo/", - "ostree_ref": "fedora/devel/${basearch}/iot", + "ostree_ref": "fedora/stable/${basearch}/iot", "runroot_packages": ["selinux-policy-targeted"], "arches": ["x86_64", "aarch64"], "update_summary": True, @@ -278,7 +278,7 @@ ostree_container = { "config_url": "https://pagure.io/fedora-iot/base-images", "config_branch": "f41", "treefile": "fedora-bootc.yaml", - "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$basearch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64", "ppc64le", "s390x"], "failable": ['*'], }, @@ -287,7 +287,7 @@ ostree_container = { "config_url": "https://pagure.io/fedora-iot/ostree.git", "config_branch": "f41", "treefile": "fedora-iot-bootc.yaml", - "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-41/compose/Everything/$basearch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64"], "failable": ['*'], }, From beb275f8ec7419ce6080c13b8441eea73a26338a Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Tue, 29 Oct 2024 09:17:56 -0400 Subject: [PATCH 06/14] F41: Enable updates Signed-off-by: Paul Whalen --- fedora-iot.conf | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 13a0b0d..7f7333c 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -217,7 +217,8 @@ osbuild = { "image_types": ["iot-raw-image"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$arch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", @@ -228,7 +229,8 @@ osbuild = { "image_types": ["iot-installer"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$arch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", @@ -240,7 +242,8 @@ osbuild = { "image_types": ["iot-simplified-installer"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$arch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT_Simplified_Provisioner", @@ -261,8 +264,8 @@ ostree = { "config_branch": "f41", "repo": [ "IoT", - "https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/" - ] + "https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$arch/os/"], "tag_ref": False, "ostree_repo": "/mnt/koji/compose/iot/repo/", "ostree_ref": "fedora/stable/${basearch}/iot", @@ -278,7 +281,8 @@ ostree_container = { "config_url": "https://pagure.io/fedora-iot/base-images", "config_branch": "f41", "treefile": "fedora-bootc.yaml", - "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$arch/os/"], "arches": ["x86_64", "aarch64", "ppc64le", "s390x"], "failable": ['*'], }, @@ -287,7 +291,8 @@ ostree_container = { "config_url": "https://pagure.io/fedora-iot/ostree.git", "config_branch": "f41", "treefile": "fedora-iot-bootc.yaml", - "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$arch/os/"], "arches": ["x86_64", "aarch64"], "failable": ['*'], }, From dbf0e5004f04055fcbf67b55dc7b7a31bb34784b Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Wed, 30 Oct 2024 10:22:13 -0400 Subject: [PATCH 07/14] F41: update current_stable to 41 in sync script Signed-off-by: Paul Whalen --- sync-bootc-base-containers.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sync-bootc-base-containers.sh b/sync-bootc-base-containers.sh index 8e44ace..6554595 100755 --- a/sync-bootc-base-containers.sh +++ b/sync-bootc-base-containers.sh @@ -47,9 +47,9 @@ arch_to_goarch() { # This is the release of Fedora that is currently stable, it will define if we # need to move the fedora:latest tag -current_stable="40" +current_stable="41" # Define the development release -current_devel="41" +#current_devel="41" # Define what is rawhide so we know to push that tag current_rawhide="42" # Sanity checking From 04b4a59383d1394a97d822bd1ba434d5d299c967 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Wed, 30 Oct 2024 12:32:37 -0400 Subject: [PATCH 08/14] F41: Use basearch in ostree sections Signed-off-by: Paul Whalen --- fedora-iot.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 7f7333c..45c5c46 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -265,7 +265,7 @@ ostree = { "repo": [ "IoT", "https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/", - "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$arch/os/"], + "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$basearch/os/"], "tag_ref": False, "ostree_repo": "/mnt/koji/compose/iot/repo/", "ostree_ref": "fedora/stable/${basearch}/iot", @@ -282,7 +282,7 @@ ostree_container = { "config_branch": "f41", "treefile": "fedora-bootc.yaml", "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/", - "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$arch/os/"], + "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64", "ppc64le", "s390x"], "failable": ['*'], }, @@ -292,7 +292,7 @@ ostree_container = { "config_branch": "f41", "treefile": "fedora-iot-bootc.yaml", "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/", - "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$arch/os/"], + "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64"], "failable": ['*'], }, From 293581505f6ab351dbf676adb962e502b6eafb3b Mon Sep 17 00:00:00 2001 From: Jonathan Lebon Date: Thu, 31 Oct 2024 11:36:28 -0400 Subject: [PATCH 09/14] pungi: update treefile to use for f41 fedora-bootc As discussed in https://gitlab.com/fedora/bootc/tracker/-/issues/39, we will be maintaining all Fedora versions in the `main` branch going forward. The `fedora-bootc.yaml` file upstream is now version-less. To not break pungi, we need it to use the stub treefile we added that sets the releasever to 41. --- fedora-iot.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 45c5c46..dc09887 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -279,8 +279,8 @@ ostree_container = { "^bootc$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", "config_url": "https://pagure.io/fedora-iot/base-images", - "config_branch": "f41", - "treefile": "fedora-bootc.yaml", + "config_branch": "main", + "treefile": "fedora-41.yaml", "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/", "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64", "ppc64le", "s390x"], From 249f125c57db8b82e30400d8a9e4bfd8d3797738 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Fri, 22 Nov 2024 14:35:25 -0500 Subject: [PATCH 10/14] F41: Temporarily make all deliverables failable Signed-off-by: Paul Whalen --- fedora-iot.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fedora-iot.conf b/fedora-iot.conf index dc09887..ed28690 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -222,6 +222,7 @@ osbuild = { "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", + "failable": ["*"], }, { "name": "%s-ostree" % release_name, @@ -235,6 +236,7 @@ osbuild = { "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", "manifest_type": "dvd-ostree", + "failable": ["*"], }, { "name": "%s-provisioner" % release_name, From 9fcbb8ee6b05e9ed991d164e23aab5a96f26d7e7 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Mon, 3 Mar 2025 10:34:23 -0500 Subject: [PATCH 11/14] Move fedora-bootc image to f41-stable branch See: https://pagure.io/fedora-iot/pungi-iot/issue/128 Signed-off-by: Paul Whalen --- fedora-iot.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index ed28690..5d25622 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -281,7 +281,7 @@ ostree_container = { "^bootc$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", "config_url": "https://pagure.io/fedora-iot/base-images", - "config_branch": "main", + "config_branch": "f41-stable", "treefile": "fedora-41.yaml", "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/", "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$basearch/os/"], From 866a3c893da5a74f1b91555a87afeb9a6b3348b6 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Thu, 10 Apr 2025 16:54:56 -0400 Subject: [PATCH 12/14] Remove IoT, only compose fedora-bootc container Signed-off-by: Paul Whalen --- fedora-iot.conf | 87 +---------------------------------- sync-bootc-base-containers.sh | 6 +-- 2 files changed, 4 insertions(+), 89 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 5d25622..048c777 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -22,7 +22,7 @@ sigkeys = ['e99d6ad1'] tree_arches = ['aarch64', 'x86_64', "ppc64le", "s390x"] # limit tree variants # if undefined, all variants from variants.xml will be included -tree_variants = ['IoT', 'bootc', 'bootc-base'] +tree_variants = ['bootc'] hashed_directories = True # RUNROOT settings @@ -87,13 +87,6 @@ lorax_options = [ }) ] -additional_packages = [ - ('^IoT$$', { - '*': [ - '*', - ], - }), -] multilib = [ ('^Everything$', { 'x86_64': ['devel', 'runtime'], @@ -209,74 +202,6 @@ global_version = '41' # live_images ignores this in favor of live_target global_target = 'f41' -osbuild = { - "^IoT$": [ - { - "name": "%s-raw" % release_name, - "distro": "fedora-41", - "image_types": ["iot-raw-image"], - "target": "f%s-candidate" % release_version, - "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$arch/os/", - "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$arch/os/"], - "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/stable/$arch/iot", - "subvariant": "IoT", - "failable": ["*"], - }, - { - "name": "%s-ostree" % release_name, - "distro": "fedora-41", - "image_types": ["iot-installer"], - "target": "f%s-candidate" % release_version, - "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$arch/os/", - "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$arch/os/"], - "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/stable/$arch/iot", - "subvariant": "IoT", - "manifest_type": "dvd-ostree", - "failable": ["*"], - }, - { - "name": "%s-provisioner" % release_name, - "distro": "fedora-41", - "image_types": ["iot-simplified-installer"], - "target": "f%s-candidate" % release_version, - "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$arch/os/", - "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$arch/os/"], - "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/stable/$arch/iot", - "subvariant": "IoT_Simplified_Provisioner", - "customizations": {"installation_device": "/dev/vda"}, - "failable": ["*"], - "manifest_type": "dvd-ostree", - }, - ], -} - -ostree = { - "^IoT$": { - "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", - "force_new_commit": True, - "unified_core": True, - "treefile": "fedora-iot.yaml", - "config_url": "https://pagure.io/fedora-iot/ostree.git", - "config_branch": "f41", - "repo": [ - "IoT", - "https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/", - "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$basearch/os/"], - "tag_ref": False, - "ostree_repo": "/mnt/koji/compose/iot/repo/", - "ostree_ref": "fedora/stable/${basearch}/iot", - "runroot_packages": ["selinux-policy-targeted"], - "arches": ["x86_64", "aarch64"], - "update_summary": True, - } -} - ostree_container = { "^bootc$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", @@ -288,16 +213,6 @@ ostree_container = { "arches": ["x86_64", "aarch64", "ppc64le", "s390x"], "failable": ['*'], }, - "^bootc-base$": { - "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", - "config_url": "https://pagure.io/fedora-iot/ostree.git", - "config_branch": "f41", - "treefile": "fedora-iot-bootc.yaml", - "repo": ["https://kojipkgs.fedoraproject.org/compose/41/Fedora-41-20241024.0/compose/Everything/$basearch/os/", - "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$basearch/os/"], - "arches": ["x86_64", "aarch64"], - "failable": ['*'], - }, } koji_profile = 'compose_koji' diff --git a/sync-bootc-base-containers.sh b/sync-bootc-base-containers.sh index 6554595..2536caf 100755 --- a/sync-bootc-base-containers.sh +++ b/sync-bootc-base-containers.sh @@ -47,11 +47,11 @@ arch_to_goarch() { # This is the release of Fedora that is currently stable, it will define if we # need to move the fedora:latest tag -current_stable="41" +current_stable="42" # Define the development release #current_devel="41" # Define what is rawhide so we know to push that tag -current_rawhide="42" +current_rawhide="43" # Sanity checking if ! [[ "${1}" =~ ^-?[0-9]+$ ]]; then @@ -69,7 +69,7 @@ if [[ "${3}" == "-s" ]]; then stage="true" fi -BASENAMES=("Fedora-IoT-bootc" "Fedora-IoT-bootc-base") +BASENAMES=("Fedora-IoT-bootc") format="oci-archive" vers=${1} compose=${2} From 45f138d38222a5403ef9574c122ae206f67ca631 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Mon, 28 Apr 2025 17:40:42 -0400 Subject: [PATCH 13/14] Fix container names and stop running the container sync script This fixes the container name of the generic bootc image and aligns all branches. We no longer need to run the sync script for the containers. Signed-off-by: Paul Whalen --- fedora-iot.conf | 2 ++ twoweek-nightly.sh | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 048c777..0542960 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -212,6 +212,8 @@ ostree_container = { "https://kojipkgs.fedoraproject.org/compose/updates/f41-updates/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64", "ppc64le", "s390x"], "failable": ['*'], + "subvariant": "base", + "name": "Fedora-base-bootc", }, } diff --git a/twoweek-nightly.sh b/twoweek-nightly.sh index dd66c3f..094ea27 100755 --- a/twoweek-nightly.sh +++ b/twoweek-nightly.sh @@ -69,10 +69,6 @@ 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 send_fedmsg "${fedmsg_json_done}" ${RELEASE} complete SUBJECT='Fedora '$RELEASE' compose report: '$SHORTCOMPOSE_ID' changes' From 9bb9230621a446b123669d7d21e16bf47d8f64e7 Mon Sep 17 00:00:00 2001 From: Anton Medvedev Date: Tue, 7 Oct 2025 21:54:32 +0200 Subject: [PATCH 14/14] ref: fix path effected by releng repo refactoring Signed-off-by: Anton Medvedev --- nightly.sh | 2 +- twoweek-nightly.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nightly.sh b/nightly.sh index e42e037..84b0a99 100755 --- a/nightly.sh +++ b/nightly.sh @@ -36,7 +36,7 @@ fi # Set up our fedmsg function, using the releng repo definition #FEDMSG_MODNAME="compose" #FEDMSG_CERTPREFIX="releng" -. ./releng/scripts/fedmsg-functions.sh +. ./releng/scripts_new/infrastructure/messaging/fedora_messaging.sh # Announce that we are starting, even though we don't know the compose_id yet.. #fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s", "short": "%s"}' "$RELEASE" "$ARCH" "$SHORT") diff --git a/twoweek-nightly.sh b/twoweek-nightly.sh index 094ea27..ed9ead2 100755 --- a/twoweek-nightly.sh +++ b/twoweek-nightly.sh @@ -34,7 +34,7 @@ fi fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s", "short": "%s"}' "$RELEASE" "$ARCH" "$SHORT") FEDMSG_MODNAME="compose" FEDMSG_CERTPREFIX="releng" -. ./releng/scripts/fedmsg-functions.sh +. ./releng/scripts_new/infrastructure/messaging/fedora_messaging.sh # Announce that we are starting... send_fedmsg "${fedmsg_json_start}" ${RELEASE} start CMD="pungi-koji --notification-script=/usr/bin/pungi-fedmsg-notification --notification-script=pungi-wait-for-signed-ostree-handler --config=$CONFIG --old-composes=$TARGET_DIR $OLD_COMPOSES_DIR $NIGHTLY --label=$LABEL"