From 2f94f34e05dab4a08ed96c440c0e906488fcb005 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Apr 22 2025 20:16:55 +0000 Subject: Build bootc images in IoT variant, tweak subvariants and names There's substantial history here, including https://pagure.io/fedora-infra/ansible/pull-request/2295 and the discussion in the PR for this commit - https://pagure.io/fedora-iot/pungi-iot/pull-request/102 . This is trying to make the metadata for these images accurate and informative. With this change, the variant for both images will be "IoT" and they will both appear in the IoT directory in the tree. The IoT image's subvariant will also be "IoT". The base image's subvariant will be "base". The format for both images will be "ociarchive", as it currently is. From tomorrow, the type for both images will be "bootable-container". The filename for the IoT image will start with "Fedora-IoT-bootc", and the filename for the base image will start with "Fedora-base-bootc". So we will have these basename - subvariant - type - formats: * Fedora-IoT-bootc - IoT - bootable-container - ociarchive * Fedora-base-bootc - base - bootable-container - ociarchive The base image can easily be moved into the main compose and maintain the same filename base, subvariant, type and format. It would have a different variant in that case, but in practice we do not use the variant for image identification purposes much anyway. Signed-off-by: Adam Williamson --- diff --git a/fedora-iot.conf b/fedora-iot.conf index 6084310..8deb7bc 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -22,7 +22,7 @@ sigkeys = ['31645531'] 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 = ['IoT'] hashed_directories = True # RUNROOT settings @@ -275,24 +275,29 @@ ostree = { } ostree_container = { - "^bootc$": { - "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", - "config_url": "https://pagure.io/fedora-iot/base-images", - "config_branch": "main", - "treefile": "fedora-rawhide.yaml", - "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/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/fedora-iot-bootc.git", - "config_branch": "main", - "treefile": "fedora-iot-rawhide.yaml", - "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"], - "arches": ["x86_64", "aarch64"], - "failable": ['*'], - }, + "^IoT$": [ + { + "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", + "config_url": "https://pagure.io/fedora-iot/base-images", + "config_branch": "main", + "treefile": "fedora-rawhide.yaml", + "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"], + "arches": ["x86_64", "aarch64", "ppc64le", "s390x"], + "failable": ['*'], + "name": "Fedora-IoT-bootc", + }, + { + "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", + "config_url": "https://pagure.io/fedora-iot/fedora-iot-bootc.git", + "config_branch": "main", + "treefile": "fedora-iot-rawhide.yaml", + "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"], + "arches": ["x86_64", "aarch64"], + "failable": ['*'], + "subvariant": "base", + "name": "Fedora-base-bootc", + }, + ] } koji_profile = 'compose_koji'