Compare commits

..

6 commits

Author SHA1 Message Date
6bed50c5c4 Set correct productmd image type for osbuild installer image
In the productmd metadata, these osbuild-built installer images
have their 'type' as "dvd". This is not correct: the "dvd" type
is meant to be a traditional RPM-based installer image, like the
old Everything DVD or the current Server DVD. The correct "type"
for an ostree installer image is "dvd-ostree" or
"dvd-ostree-osbuild".

This 'manifest_type' thing was added after the discussion in
https://pagure.io/pungi-fedora/pull-request/1190 , to let us
specify the productmd type for osbuild-built images correctly.
In this case we want to use "dvd-ostree-osbuild" because for
F39 the osbuild image is "experimental" and there still exists
an image built the older way which has the "dvd-ostree" type,
so we don't want to collide with it.

The practical consequence of this at present is the osbuild
images aren't getting openQA testing, because openQA relies
on this property to identify the image, and it's not expecting
to see "dvd". As of right now it also would not test an image
with "dvd-ostree-osbuild" type, but I can easily update it to
test those images the same way it tests "dvd-ostree" images.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-06 21:07:58 +00:00
Paul Whalen
e89230f284 Drop duplicated version in osbuild deliverables
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2024-01-31 14:40:23 -05:00
Paul Whalen
faf4c3899f F-39 IoT: enable updates repo
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2023-11-12 16:19:41 -05:00
Paul Whalen
0a07d39ede Update F39 to stable
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2023-11-01 15:57:29 -04:00
Paul Whalen
f96d7d2216 Fix comps url, there are no branches
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2023-08-16 14:07:41 -04:00
Paul Whalen
6d2199c6c5 F39: Update for branching
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2023-08-14 13:43:08 -04:00
6 changed files with 133 additions and 300 deletions

View file

@ -1,25 +1,26 @@
# PRODUCT INFO
release_name = 'Fedora-IoT'
release_short = 'Fedora-IoT'
release_version = '46'
release_version = '39'
# 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 f39 runs.
skip_phases = ["buildinstall", "createrepo", "extra_files"]
ostree_installer_overwrite = True
# 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-f39.xml',
'command': 'make comps-f39.xml'
}
variants_file='variants-fedora.xml'
sigkeys = ['91211FCE']
sigkeys = ['18B8e74c']
# limit tree architectures
# if undefined, all architectures from variants.xml will be included
tree_arches = ['aarch64', 'x86_64', "ppc64le", "s390x"]
tree_arches = ['aarch64', 'x86_64']
# limit tree variants
# if undefined, all variants from variants.xml will be included
tree_variants = ['IoT']
@ -27,7 +28,7 @@ hashed_directories = True
# RUNROOT settings
runroot_channel = 'compose'
runroot_tag = 'f46-build'
runroot_tag = 'f39-build'
# PKGSET
pkgset_source = 'koji' # koji, repos
@ -37,7 +38,7 @@ pkgset_source = 'koji' # koji, repos
# pkgset_repos = {}
# PKGSET - KOJI
pkgset_koji_tag = 'f46-iot'
pkgset_koji_tag = 'f39-iot'
pkgset_koji_inherit = False
filter_system_release_packages = False
@ -166,7 +167,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 +184,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 +203,127 @@ 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/f39'
global_release = '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN'
global_version = '46'
global_target = 'f46'
global_version = '39'
# live_images ignores this in favor of live_target
global_target = 'f39'
imagebuilder_target = 'f46-image-builder'
imagebuilder = {
osbuild = {
"^IoT$": [
{
"name": "%s-raw" % release_name,
"types": ["iot-raw-xz"],
"name": "%s" % release_name,
"distro": "fedora-39",
"image_types": ["iot-raw-image"],
"target": "f%s-candidate" % release_version,
"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",
},
"repo": ["https://kojipkgs.fedoraproject.org/compose/39/Fedora-39-20231031.1/compose/Everything/$arch/os/",
"https://kojipkgs.fedoraproject.org/compose/updates/f39-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,
"types": ["iot-installer"],
"distro": "fedora-39",
"image_types": ["iot-installer"],
"target": "f%s-candidate" % release_version,
"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",
},
"repo": ["https://kojipkgs.fedoraproject.org/compose/39/Fedora-39-20231031.1/compose/Everything/$arch/os/",
"https://kojipkgs.fedoraproject.org/compose/updates/f39-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,
"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",
"manifest_type": "dvd-ostree-osbuild",
},
],
}
ostree = {
"^IoT$": {
ostree = [
("^IoT$", {
"aarch64": {
"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",
"treefile": "fedora-iot.json",
"config_url": "https://pagure.io/fedora-iot/ostree.git",
"config_branch": "f39",
"repo": [
"IoT",
"https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"
"https://kojipkgs.fedoraproject.org/compose/39/Fedora-39-20231031.1/compose/Everything/$basearch/os/",
"https://kojipkgs.fedoraproject.org/compose/updates/f39-updates/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"],
"ostree_ref": "fedora/stable/${basearch}/iot",
"update_summary": True,
},
"x86_64": {
"version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN",
"force_new_commit": True,
"treefile": "fedora-iot.json",
"config_url": "https://pagure.io/fedora-iot/ostree.git",
"config_branch": "f39",
"repo": [
"IoT",
"https://kojipkgs.fedoraproject.org/compose/39/Fedora-39-20231031.1/compose/Everything/$basearch/os/",
"https://kojipkgs.fedoraproject.org/compose/updates/f39-updates/compose/Everything/$basearch/os/"
]
"tag_ref": False,
"ostree_repo": "/mnt/koji/compose/iot/repo/",
"ostree_ref": "fedora/stable/${basearch}/iot",
"update_summary": True,
}
}
})
]
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",
ostree_installer = [
("^IoT$", {
"aarch64": {
"repo": [
"IoT",
"https://kojipkgs.fedoraproject.org/compose/39/Fedora-39-20231031.1/compose/Everything/$arch/os/",
"https://kojipkgs.fedoraproject.org/compose/updates/f39-updates/compose/Everything/$arch/os/"
],
"release": None,
"rootfs_size": "4",
"add_template": ["ostree-based-installer/lorax-configure-repo.tmpl",
"ostree-based-installer/lorax-embed-repo.tmpl"],
"add_template_var": [
"ostree_install_repo=https://kojipkgs.fedoraproject.org/compose/iot/repo/",
"ostree_update_repo=https://ostree.fedoraproject.org/iot",
"ostree_osname=fedora-iot",
"ostree_oskey=fedora-39-primary",
"ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/iot/mirrorlist",
"ostree_install_ref=fedora/stable/aarch64/iot",
"ostree_update_ref=fedora/stable/aarch64/iot",
],
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'f39',
},
{
"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",
},
]
}
"x86_64": {
"repo": [
"IoT",
"https://kojipkgs.fedoraproject.org/compose/39/Fedora-39-20231031.1/compose/Everything/$arch/os/",
"https://kojipkgs.fedoraproject.org/compose/updates/f39-updates/compose/Everything/$arch/os/"
],
"release": None,
"rootfs_size": "4",
"add_template": ["ostree-based-installer/lorax-configure-repo.tmpl",
"ostree-based-installer/lorax-embed-repo.tmpl"],
"add_template_var": [
"ostree_install_repo=https://kojipkgs.fedoraproject.org/compose/iot/repo/",
"ostree_update_repo=https://ostree.fedoraproject.org/iot",
"ostree_osname=fedora-iot",
"ostree_oskey=fedora-39-primary",
"ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/iot/mirrorlist",
"ostree_install_ref=fedora/stable/x86_64/iot",
"ostree_update_ref=fedora/stable/x86_64/iot",
],
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'f39',
}
})
]
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="39"
RELEASE_TITLE="39"
COMPSFILE="comps-f39.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/fedmsg-functions.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

@ -1,193 +0,0 @@
#!/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 <<EOF
NAME
${0}
SYNOPSIS
${0} FEDORA_RELEASE IMAGE_URL [-s]
OPTIONS
-s - Sync the stage registries instead of production
DESCRIPTION
This is a stop-gap solution to identify parent inheritance of container
images until the container release automation[0] is in place and we have
fully automated rebuilds[1] in OSBS.
This information should be used such that the images can be rebuilt and
released in the appropriate order using flr-koji.
[0] - https://pagure.io/releng-automation
[1] - https://osbs.readthedocs.io/en/latest/multiarch.html#chain-rebuilds
EXAMPLE
${0} 26
EOF
}
arch_to_goarch() {
local a=$1; shift
# See https://github.com/coreos/stream-metadata-go/blob/c5fe1b98ac1b1e6ab62a606b7580dc1f30703f83/arch/arch.go#L14
case "$a" in
aarch64) echo arm64 ;;
x86_64) echo amd64 ;;
ppc64le) echo ppc64le ;;
s390x) echo s390x ;;
*) echo $a ;;
esac
}
# 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"
# Define what is rawhide so we know to push that tag
current_rawhide="46"
# Sanity checking
if ! [[ "${1}" =~ ^-?[0-9]+$ ]];
then
printf "ERROR: FEDORA_RELEASE missing or invalid\n"
f_help
exit 1
fi
# Determine if we want stage or not (yes, I know this should be getops but I
# don't want this script to survive so we're doing quick and dirty.
#
# If ${stage} is a non-zero length string, then perform staging
stage=""
if [[ "${3}" == "-s" ]]; then
printf "INFO: PERFORMING STAGE SYNC\n"
stage="true"
fi
BASENAMES=("Fedora-IoT-bootc" "Fedora-IoT-bootc-base")
format="oci-archive"
vers=${1}
compose=${2}
compdate=`echo ${compose} | cut -c 4-`
# Obtain the latest build
#
# Need fXX-updates-canddiate to get actual latest nightly
# 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}')
if [[ ${1} -eq "$current_stable" ]]; then
tagname="latest"
fi
if [[ ${1} -eq "$current_rawhide" ]]; then
tagname="rawhide"
fi
if [[ -z "$stage" ]]; then
registries=("registry.fedoraproject.org" "candidate-registry.fedoraproject.org" "quay.io/fedora")
else
registries=("registry.stg.fedoraproject.org" "candidate-registry.stg.fedoraproject.org")
fi
# Copy a local image to all necessary remote registries
copy_image() {
local src=$1; shift
local name=$1; shift
for registry in ${registries[@]}; do
skopeo copy $src docker://${registry}/${name}
done
}
# From already uploaded architecture-specific images, generate a manifest listed image
# on all registries
generate_manifest_list() {
local name=$1; shift
local version=$1; shift
for registry in "${registries[@]}"
do
printf "Push manifest to ${registry}\n"
if [ -n "$tagname" ]
then
printf "tag is set: ${tagname}\n"
buildah rmi "${registry}/${name}:${tagname}" || true
buildah manifest create "${registry}/${name}:${tagname}"
for arch in "${ARCHES[@]}"; do
buildah manifest add --arch=$(arch_to_goarch ${arch}) "${registry}/${name}:${tagname}" "docker://${registry}/${name}:${version}-${arch}"
done
buildah manifest push "${registry}/${name}:${tagname}" "docker://${registry}/${name}:${tagname}" --all
fi
buildah rmi "${registry}/${name}:${version}" || true
buildah manifest create "${registry}/${name}:${version}"
for arch in "${ARCHES[@]}"; do
buildah manifest add --arch=$(arch_to_goarch ${arch}) "${registry}/${name}:${version}" "docker://${registry}/${name}:${version}-${arch}"
done
buildah manifest push "${registry}/${name}:${version}" "docker://${registry}/${name}:${version}" --all
done
}
find_and_copy_images() {
local nvr=$1
local registry_name=$2
local release=$3
local name
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"
exit 1
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
done
work_dir=$(mktemp -d)
pushd ${work_dir} &> /dev/null
# 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"
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
printf "Syncing compose contailers: ${vers} : ${compose}\n"
# 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

@ -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="39"
RELEASE_TITLE="39"
COMPSFILE="comps-f39.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/39/"
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="39"
RELEASE_TITLE="39"
COMPSFILE="comps-f39.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/fedmsg-functions.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"
@ -49,10 +49,13 @@ if [ "$?" != "0" ]; then
fi
ostree summary --update --repo=/mnt/koji/compose/iot/repo/
# Exit now we're post release
exit 1
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,8 +70,10 @@ 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 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

@ -4,9 +4,7 @@
<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>
</variants>