Compare commits

...
Sign in to create a new pull request.

14 commits

Author SHA1 Message Date
9bb9230621 ref: fix path effected by releng repo refactoring
Signed-off-by: Anton Medvedev <amedvede@redhat.com>
2025-10-07 21:54:32 +02:00
Paul Whalen
45f138d382 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 <pwhalen@fedoraproject.org>
2025-04-28 17:40:42 -04:00
Paul Whalen
866a3c893d Remove IoT, only compose fedora-bootc container
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-04-10 16:54:56 -04:00
Paul Whalen
9fcbb8ee6b Move fedora-bootc image to f41-stable branch
See: https://pagure.io/fedora-iot/pungi-iot/issue/128

Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-03-03 10:34:23 -05:00
Paul Whalen
249f125c57 F41: Temporarily make all deliverables failable
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2024-11-22 14:35:25 -05:00
293581505f
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.
2024-10-31 11:36:28 -04:00
Paul Whalen
04b4a59383 F41: Use basearch in ostree sections
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2024-10-30 12:32:37 -04:00
Paul Whalen
dbf0e5004f F41: update current_stable to 41 in sync script
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2024-10-30 10:22:13 -04:00
Paul Whalen
beb275f8ec F41: Enable updates
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2024-10-29 09:17:56 -04:00
Paul Whalen
bde3e1d1c9 F41: Update for final
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2024-10-25 10:32:54 -04:00
Paul Whalen
c04e2d1119 F41: Add IoT base image to sync script
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2024-10-04 14:46:14 -04:00
Paul Whalen
f908bf5820 F41: drop tier-0 from the compose
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2024-10-04 10:55:53 -04:00
Paul Whalen
ed26acceef F41: Add iot base bootc image
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2024-09-27 15:22:20 -04:00
Paul Whalen
5bd816cb3d F-41: Update for branching
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2024-08-15 09:55:23 -04:00
5 changed files with 44 additions and 113 deletions

View file

@ -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 = ['bootc']
hashed_directories = True
# RUNROOT settings
@ -87,13 +87,6 @@ lorax_options = [
})
]
additional_packages = [
('^IoT$$', {
'*': [
'*',
],
}),
]
multilib = [
('^Everything$', {
'x86_64': ['devel', 'runtime'],
@ -203,93 +196,24 @@ 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
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/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"],
"ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/",
"ostree_ref": "fedora/rawhide/$arch/iot",
"subvariant": "IoT",
},
{
"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/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"],
"ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/",
"ostree_ref": "fedora/rawhide/$arch/iot",
"subvariant": "IoT",
"manifest_type": "dvd-ostree",
},
{
"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/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"],
"ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/",
"ostree_ref": "fedora/rawhide/$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": "main",
"repo": [
"IoT",
"https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"
]
"tag_ref": False,
"ostree_repo": "/mnt/koji/compose/iot/repo/",
"ostree_ref": "fedora/rawhide/${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",
"config_url": "https://pagure.io/fedora-iot/base-images",
"config_branch": "main",
"treefile": "fedora-bootc.yaml",
"repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/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",
"treefile": "fedora-tier-0.yaml",
"repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"],
"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/"],
"arches": ["x86_64", "aarch64", "ppc64le", "s390x"],
"failable": ['*'],
"subvariant": "base",
"name": "Fedora-base-bootc",
},
}

View file

@ -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")

View file

@ -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
@ -49,9 +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="40"
current_stable="42"
# Define the development release
#current_devel="41"
# Define what is rawhide so we know to push that tag
current_rawhide="41"
current_rawhide="43"
# Sanity checking
if ! [[ "${1}" =~ ^-?[0-9]+$ ]];
then
@ -69,7 +69,7 @@ if [[ "${3}" == "-s" ]]; then
stage="true"
fi
basename="Fedora-IoT-bootc"
BASENAMES=("Fedora-IoT-bootc")
format="oci-archive"
vers=${1}
compose=${2}
@ -81,14 +81,15 @@ 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"
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
@ -136,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"
@ -144,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)
@ -155,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
@ -177,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

View file

@ -18,7 +18,7 @@ TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX`
TOMAIL="iot@lists.fedoraproject.org"
FROM="Fedora IoT Report <rawhide@fedoraproject.org>"
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
@ -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"
@ -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'

View file

@ -7,6 +7,12 @@
<arch>x86_64</arch>
</arches>
</variant>
<variant id="bootc-base" name="bootc-base" type="variant" is_empty="true">
<arches>
<arch>aarch64</arch>
<arch>x86_64</arch>
</arches>
</variant>
<variant id="bootc" name="bootc" type="variant" is_empty="true">
<arches>
<arch>aarch64</arch>
@ -15,12 +21,4 @@
<arch>s390x</arch>
</arches>
</variant>
<variant id="bootc-tier0" name="bootc-tier0" type="variant" is_empty="true">
<arches>
<arch>aarch64</arch>
<arch>x86_64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
</arches>
</variant>
</variants>