Compare commits

..

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
6 changed files with 75 additions and 146 deletions

View file

@ -1,33 +1,33 @@
# PRODUCT INFO
release_name = 'Fedora-IoT'
release_short = 'Fedora-IoT'
release_version = '46'
release_version = '41'
# Let's not build install media during this run. For the image builds
# and OSTree installer we'll use inputs from other f45 runs.
# and OSTree installer we'll use inputs from other f41 runs.
skip_phases = ["buildinstall", "createrepo", "extra_files"]
# GENERAL SETTINGS
comps_file = {
'scm': 'git',
'repo': 'https://forge.fedoraproject.org/releng/fedora-comps.git',
'repo': 'https://pagure.io/fedora-comps.git',
'branch': 'main',
'file': 'comps-f46.xml',
'command': 'make comps-f46.xml'
'file': 'comps-f41.xml',
'command': 'make comps-f41.xml'
}
variants_file='variants-fedora.xml'
sigkeys = ['91211FCE']
sigkeys = ['e99d6ad1']
# limit tree architectures
# if undefined, all architectures from variants.xml will be included
tree_arches = ['aarch64', 'x86_64', "ppc64le", "s390x"]
# limit tree variants
# if undefined, all variants from variants.xml will be included
tree_variants = ['IoT']
tree_variants = ['bootc']
hashed_directories = True
# RUNROOT settings
runroot_channel = 'compose'
runroot_tag = 'f46-build'
runroot_tag = 'f41-build'
# PKGSET
pkgset_source = 'koji' # koji, repos
@ -37,7 +37,7 @@ pkgset_source = 'koji' # koji, repos
# pkgset_repos = {}
# PKGSET - KOJI
pkgset_koji_tag = 'f46-iot'
pkgset_koji_tag = 'f41-iot'
pkgset_koji_inherit = False
filter_system_release_packages = False
@ -87,13 +87,6 @@ lorax_options = [
})
]
additional_packages = [
('^IoT$$', {
'*': [
'*',
],
}),
]
multilib = [
('^Everything$', {
'x86_64': ['devel', 'runtime'],
@ -166,7 +159,7 @@ image_volid_layered_product_formats = []
# allow Pungi to tell it what volume ID to use. Note:
# https://fedoraproject.org/wiki/User:Adamwill/Draft_fedora_image_naming_policy
# '-Workstation-' is a temporary workaround. See
# https://forge.fedoraproject.org/releng/pungi-fedora/pulls/525
# https://pagure.io/pungi-fedora/pull-request/525
volume_id_substitutions = {
'Beta': 'B',
'Rawhide': 'rawh',
@ -183,7 +176,7 @@ volume_id_substitutions = {
'IoT': 'iot',
'Jam_KDE': 'Jam',
'MATE_Compiz': 'MATE',
# Note https://forge.fedoraproject.org/releng/pungi-fedora/issues/533
# Note https://pagure.io/pungi-fedora/issue/533
'Python-Classroom': 'Clss',
'Python_Classroom': 'Clss',
'Robotics': 'Robo',
@ -202,105 +195,26 @@ translate_paths = [
('/mnt/koji/compose/', 'https://kojipkgs.fedoraproject.org/compose/'),
]
# These may be inherited by various phases for creating Koji tasks
# These will be inherited by live_media, live_images and image_build
global_ksurl = 'git+https://pagure.io/fedora-kickstarts.git?#origin/f41'
global_release = '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN'
global_version = '46'
global_target = 'f46'
imagebuilder_target = 'f46-image-builder'
imagebuilder = {
"^IoT$": [
{
"name": "%s-raw" % release_name,
"types": ["iot-raw-xz"],
"arches": ["x86_64", "aarch64"],
"repos": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"],
"ostree": {
"url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/",
"ref": "fedora/rawhide/$arch/iot",
},
"subvariant": "IoT",
"failable": ["*"],
},
{
"name": "%s-ostree" % release_name,
"types": ["iot-installer"],
"arches": ["x86_64", "aarch64"],
"repos": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"],
"ostree": {
"url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/",
"ref": "fedora/rawhide/$arch/iot",
},
"subvariant": "IoT",
"manifest_type": "dvd-ostree",
"failable": ["*"],
},
{
"name": "%s-provisioner" % release_name,
"types": ["iot-simplified-installer"],
"arches": ["x86_64", "aarch64"],
"repos": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"],
"ostree": {
"url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/",
"ref": "fedora/rawhide/$arch/iot",
},
"blueprint": {
"customizations": {
"installation_device": "/dev/vda1",
},
},
"subvariant": "IoT_Simplified_Provisioner",
"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://forge.fedoraproject.org/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,
}
}
global_version = '41'
# live_images ignores this in favor of live_target
global_target = 'f41'
ostree_container = {
"^IoT$": [
{
"version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN",
"config_url": "https://forge.fedoraproject.org/iot/base-images.git",
"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": ['*'],
"subvariant": "base",
"name": "Fedora-base-bootc",
},
{
"version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN",
"config_url": "https://forge.fedoraproject.org/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": ['*'],
"name": "Fedora-IoT-bootc",
},
]
"^bootc$": {
"version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN",
"config_url": "https://pagure.io/fedora-iot/base-images",
"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",
},
}
koji_profile = 'compose_koji'

View file

@ -9,9 +9,9 @@ SKIP_PHASES="--skip-phase=productimg"
DEST=$(pwd)
DATE=$(date "+%Y%m%d")
SHORT="Fedora-IoT"
RELEASE="46"
RELEASE_TITLE="46"
COMPSFILE="comps-f46.xml"
RELEASE="41"
RELEASE_TITLE="41"
COMPSFILE="comps-f41.xml"
TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX`
TOMAIL="iot@lists.fedoraproject.org"
FROM="Fedora IoT Report <rawhide@fedoraproject.org>"
@ -30,20 +30,20 @@ if [ -d releng ]; then
git pull --rebase
popd
else
git clone https://forge.fedoraproject.org/releng/tooling.git releng
git clone https://pagure.io/releng.git
fi
# Set up our fedmsg function, using the releng repo definition
#FEDMSG_MODNAME="compose"
#FEDMSG_CERTPREFIX="releng"
. ./releng/infrastructure/messaging/fedora_messaging.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")
#send_fedmsg "${fedmsg_json_start}" ${RELEASE} start
#pushd $TMPDIR
#git clone https://forge.fedoraproject.org/releng/fedora-comps.git && {
#git clone https://pagure.io/fedora-comps.git && {
# pushd fedora-comps
# make "${COMPSFILE}"
# cp "${COMPSFILE}" $DEST/
@ -67,7 +67,7 @@ fi
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g')
./releng/builds/compose/build_composeinfo.py "$TARGET_DIR/$NEWCOMPOSE_ID/" --name "$NEWCOMPOSE_ID"
./releng/scripts/build_composeinfo "$TARGET_DIR/$NEWCOMPOSE_ID/" --name "$NEWCOMPOSE_ID"
# Set this to use later for a few items include depcheck
DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID

View file

@ -47,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="44"
current_stable="42"
# Define the development release
#current_devel="41"
# Define what is rawhide so we know to push that tag
current_rawhide="46"
current_rawhide="43"
# Sanity checking
if ! [[ "${1}" =~ ^-?[0-9]+$ ]];
then
@ -67,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}
@ -82,9 +84,10 @@ compdate=`echo ${compose} | cut -c 4-`
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
@ -142,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/${compose_type}/${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)
@ -153,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/${compose_type}/${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

View file

@ -12,14 +12,14 @@ DEST=$(pwd)
DATE=$(date "+%Y%m%d")
# the Pungi 'shortname', which we will include in fedmsgs for disambiguation
SHORT="Fedora-IoT"
RELEASE="46"
RELEASE_TITLE="46"
COMPSFILE="comps-f46.xml"
RELEASE="41"
RELEASE_TITLE="41"
COMPSFILE="comps-f41.xml"
TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX`
TOMAIL="iot@lists.fedoraproject.org"
FROM="Fedora IoT Report <branched@fedoraproject.org>"
RSYNCPREFIX="sudo -u ftpsync"
RSYNCTARGET="/pub/alt/iot/46/"
RSYNCTARGET="/pub/alt/iot/41/"
OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)

View file

@ -11,14 +11,14 @@ DEST=$(pwd)
DATE=$(date "+%Y%m%d")
# the Pungi 'shortname', which we will include in fedmsgs for disambiguation
SHORT="Fedora-IoT"
RELEASE="46"
RELEASE_TITLE="46"
COMPSFILE="comps-f46.xml"
RELEASE="41"
RELEASE_TITLE="41"
COMPSFILE="comps-f41.xml"
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
@ -28,13 +28,13 @@ if [ -d releng ]; then
git pull --rebase
popd
else
git clone https://forge.fedoraproject.org/releng/tooling.git releng
git clone https://pagure.io/releng.git
fi
# Set up our fedmsg function, using the releng repo definition
fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s", "short": "%s"}' "$RELEASE" "$ARCH" "$SHORT")
FEDMSG_MODNAME="compose"
FEDMSG_CERTPREFIX="releng"
. ./releng/infrastructure/messaging/fedora_messaging.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"
@ -52,7 +52,7 @@ ostree summary --update --repo=/mnt/koji/compose/iot/repo/
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g')
./releng/builds/compose/build_composeinfo.py "$TARGET_DIR/$NEWCOMPOSE_ID/" --name "$NEWCOMPOSE_ID"
./releng/scripts/build_composeinfo "$TARGET_DIR/$NEWCOMPOSE_ID/" --name "$NEWCOMPOSE_ID"
DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID
# Public URL the synced compose will wind up at, we put it in fedmsgs
@ -67,7 +67,7 @@ send_fedmsg "${fedmsg_json_start}" ${RELEASE} rsync.start
for dir in IoT metadata ;
do
$RSYNCPREFIX rsync -avhH --delete-after $DESTDIR/compose/$dir/ "$RSYNCTARGET/$dir/" ;
$RSYNCPREFIX ./releng/builds/compose/build_composeinfo.py "$RSYNCTARGET/" --name $NEWCOMPOSE_ID
$RSYNCPREFIX ./releng/scripts/build_composeinfo "$RSYNCTARGET/" --name $NEWCOMPOSE_ID
done
# Tell everyone by fedmsg about the compose
send_fedmsg "${fedmsg_json_done}" ${RELEASE} complete

View file

@ -4,9 +4,21 @@
<variant id="IoT" name="IoT" type="variant" is_empty="true">
<arches>
<arch>aarch64</arch>
<arch>x86_64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<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>
<arch>x86_64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
</arches>
</variant>
</variants>