This looks basically ok, but how can this be tested if needed changes to AUH are still in review?
Running auh over meta-oe layers shouldn't be defined as steps that are run one after the other, but as separate parallelizable jobs, e.g. "auh-meta-oe" : { ... "auh-meta-python" : { ... etc. They could use a job template so you only need to set the varying parameters (config.json has examples). Alex On Thu, 26 Oct 2023 at 15:06, David Pierret <david.pier...@smile.fr> wrote: > > - Modify the setup-auh to use repositories cloned by the auto-builder. > Manage the case where meta-openembedded is not used. > > - Modify the run-auh to manage the optional additional layer. > Only 1 layer can be provided. > > - Add auh-meta-openembedded job with 1 step per layer. > > Signed-off-by: David Pierret <david.pier...@smile.fr> > --- > config.json | 102 ++++++++++++++++++++++++++++++++++++++++++++-- > scripts/run-auh | 39 ++++++++++++------ > scripts/setup-auh | 34 ++++++++++------ > 3 files changed, 146 insertions(+), 29 deletions(-) > > diff --git a/config.json b/config.json > index 3acb710..a168e48 100644 > --- a/config.json > +++ b/config.json > @@ -1416,9 +1416,99 @@ > "TEMPLATE" : "buildperf" > }, > "auh" : { > - "EXTRAPLAINCMDS" : [ > - "${SCRIPTSDIR}/setup-auh ${HELPERBUILDDIR}; > ${SCRIPTSDIR}/run-auh ${HELPERBUILDDIR} ${WEBPUBLISH_DIR}/pub/auh/" > - ] > + "NEEDREPOS" : ["poky", "auto-upgrade-helper"], > + "step1" : { > + "shortname" : "setup AUH", > + "EXTRAPLAINCMDS" : [ > + "${SCRIPTSDIR}/setup-auh ${HELPERBUILDDIR}" > + ] > + }, > + "step2" : { > + "shortname" : "run AUH poky", > + "EXTRAPLAINCMDS" : [ > + "${SCRIPTSDIR}/run-auh ${HELPERBUILDDIR} > ${WEBPUBLISH_DIR}/pub/auh/" > + ] > + } > + }, > + "auh-meta-openembedded" : { > + "NEEDREPOS" : ["poky", "meta-openembedded", > "auto-upgrade-helper"], > + "step1" : { > + "shortname" : "setup AUH", > + "EXTRAPLAINCMDS" : [ > + "${SCRIPTSDIR}/setup-auh ${HELPERBUILDDIR}" > + ] > + }, > + "step2" : { > + "shortname" : "run AUH for layer meta-oe", > + > + "ADDLAYER" : ["${BUILDDIR}/../meta-openembedded/meta-oe"], > + "EXTRAPLAINCMDS" : [ > + "${SCRIPTSDIR}/run-auh ${HELPERBUILDDIR} > ${WEBPUBLISH_DIR}/pub/auh/ ${HELPERBUILDDIR}/meta-openembedded meta-oe" > + ] > + }, > + "step3" : { > + "shortname" : "run AUH for layer meta-python", > + "ADDLAYER" : > ["${BUILDDIR}/../meta-openembedded/meta-python"], > + "EXTRAPLAINCMDS" : [ > + "${SCRIPTSDIR}/run-auh ${HELPERBUILDDIR} > ${WEBPUBLISH_DIR}/pub/auh/ ${HELPERBUILDDIR}/meta-openembedded meta-python" > + ] > + }, > + "step4" : { > + "shortname" : "run AUH for layer meta-perl", > + "ADDLAYER" : ["${BUILDDIR}/../meta-openembedded/meta-perl"], > + "EXTRAPLAINCMDS" : [ > + "${SCRIPTSDIR}/run-auh ${HELPERBUILDDIR} > ${WEBPUBLISH_DIR}/pub/auh/ ${HELPERBUILDDIR}/meta-openembedded meta-perl" > + ] > + }, > + "step5" : { > + "shortname" : "run AUH for layer meta-networking", > + "ADDLAYER" : > ["${BUILDDIR}/../meta-openembedded/meta-networking"], > + "EXTRAPLAINCMDS" : [ > + "${SCRIPTSDIR}/run-auh ${HELPERBUILDDIR} > ${WEBPUBLISH_DIR}/pub/auh/ ${HELPERBUILDDIR}/meta-openembedded > meta-networking" > + ] > + }, > + "step6" : { > + "shortname" : "run AUH for layer meta-multimedia", > + "ADDLAYER" : > ["${BUILDDIR}/../meta-openembedded/meta-multimedia"], > + "EXTRAPLAINCMDS" : [ > + "${SCRIPTSDIR}/run-auh ${HELPERBUILDDIR} > ${WEBPUBLISH_DIR}/pub/auh/ ${HELPERBUILDDIR}/meta-openembedded > meta-multimedia" > + ] > + }, > + "step7" : { > + "shortname" : "run AUH for layer meta-gnome", > + "ADDLAYER" : ["${BUILDDIR}/../meta-openembedded/meta-gnome"], > + "EXTRAPLAINCMDS" : [ > + "${SCRIPTSDIR}/run-auh ${HELPERBUILDDIR} > ${WEBPUBLISH_DIR}/pub/auh/ ${HELPERBUILDDIR}/meta-openembedded meta-gnome" > + ] > + }, > + "step8" : { > + "shortname" : "run AUH for layer meta-xfce", > + "ADDLAYER" : ["${BUILDDIR}/../meta-openembedded/meta-xfce"], > + "EXTRAPLAINCMDS" : [ > + "${SCRIPTSDIR}/run-auh ${HELPERBUILDDIR} > ${WEBPUBLISH_DIR}/pub/auh/ ${HELPERBUILDDIR}/meta-openembedded meta-xfce" > + ] > + }, > + "step9" : { > + "shortname" : "run AUH for layer meta-filesystems", > + "ADDLAYER" : > ["${BUILDDIR}/../meta-openembedded/meta-filesystems"], > + "EXTRAPLAINCMDS" : [ > + "${SCRIPTSDIR}/run-auh ${HELPERBUILDDIR} > ${WEBPUBLISH_DIR}/pub/auh/ ${HELPERBUILDDIR}/meta-openembedded > meta-filesystems" > + ] > + }, > + "step10" : { > + "shortname" : "run AUH for layer meta-initramfs", > + "ADDLAYER" : > ["${BUILDDIR}/../meta-openembedded/meta-initramfs"], > + "EXTRAPLAINCMDS" : [ > + "${SCRIPTSDIR}/run-auh ${HELPERBUILDDIR} > ${WEBPUBLISH_DIR}/pub/auh/ ${HELPERBUILDDIR}/meta-openembedded meta-initramfs" > + ] > + }, > + "step11" : { > + "shortname" : "run AUH for layer meta-webserver", > + "ADDLAYER" : > ["${BUILDDIR}/../meta-openembedded/meta-webserver"], > + "EXTRAPLAINCMDS" : [ > + "${SCRIPTSDIR}/run-auh ${HELPERBUILDDIR} > ${WEBPUBLISH_DIR}/pub/auh/ ${HELPERBUILDDIR}/meta-openembedded meta-webserver" > + ] > + } > }, > "a-quick" : { > "TEMPLATE" : "trigger-build" > @@ -1531,6 +1621,12 @@ > "branch" : "master", > "revision" : "HEAD", > "no-layer-add" : true > + }, > + "auto-upgrade-helper" : { > + "url" : "git://git.yoctoproject.org/auto-upgrade-helper", > + "branch" : "master", > + "revision" : "HEAD", > + "no-layer-add" : true > } > }, > "buildtools" : { > diff --git a/scripts/run-auh b/scripts/run-auh > index 0419dd1..f59c561 100755 > --- a/scripts/run-auh > +++ b/scripts/run-auh > @@ -7,28 +7,41 @@ > # Called with $1 - the directory where the setup was created > > if [ -z $1 ]; then > - echo "Use: $0 auh_setup_dir [publish_dir]" > + echo "Use: $0 [auh_setup_dir] [publish_dir] [meta_dir] [meta_list]" > exit 1 > fi > > -full_dir=$(readlink -e $1) > +build_dir=$(readlink -e $1) > > -auh_dir=$full_dir/auto-upgrade-helper > -poky_dir=$full_dir/poky > -build_dir=$full_dir/build > -sstate_dir=$full_dir/build/sstate-cache > +auh_dir=$build_dir/../auto-upgrade-helper > +poky_dir=$build_dir/../poky > +sstate_dir=$build_dir/sstate-cache > > pushd $poky_dir > + # Base the upgrades on poky master > + git fetch origin > + git checkout -B tmp-auh-upgrades origin/master > +popd > + > +LAYERS_ARGS='' > +# if layer arguments are provided > +if [ ! -z $3 ]; then > + meta_dir=$3 > + meta_layer=$4 > + machine_list="qemux86 qemux86-64 qemuarm qemumips qemuppc qemux86_musl" > + > + pushd $meta_dir || exit 1 > + # Base the upgrades on master branch > + git fetch origin > + git checkout -B tmp-auh-upgrades origin/main > + popd > > -# Base the upgrades on poky master > -git fetch origin > -git checkout -B tmp-auh-upgrades origin/master > + LAYERS_ARGS="--layer-dir ${meta_dir} --layer-names ${meta_layer} > --layer-machines ${machine_list}" > +fi > > -source $poky_dir/oe-init-build-env $build_dir > -$auh_dir/upgrade-helper.py -e all > +# execute upgrade-helper script on all recipes > +$auh_dir/upgrade-helper.py -e ${LAYERS_ARGS} -- all > > if [ -n $2 ]; then > cp -rf $build_dir/upgrade-helper/* $2 > fi > - > -popd > diff --git a/scripts/setup-auh b/scripts/setup-auh > index d6b83fe..f8bd8fd 100755 > --- a/scripts/setup-auh > +++ b/scripts/setup-auh > @@ -4,26 +4,34 @@ > # > # Initialize Auto Upgrade Helper in a directory. > # > -# Called with $1 - the directory to place the setup > +# Called with $1 - the build directory > CONFIG_DIR=`dirname $0`/auh-config > > if [ -z $1 ]; then > - echo "Use: $0 target_dir" > + echo "Use: $0 build_dir" > exit 1 > fi > > -mkdir -p $1 > -pushd $1 > - > -git clone git://git.yoctoproject.org/poky > -pushd poky > +# Setup git repository with name and email to be able to commit > +# the upgrade patch. > +# Assume repositories are cloned on ${build_dir}/../ > +pushd $1/../poky > git config user.email a...@yoctoproject.org > git config user.name "Auto Upgrade Helper" > popd > -git clone git://git.yoctoproject.org/auto-upgrade-helper > -source poky/oe-init-build-env build > -mkdir -p upgrade-helper > -popd > +# handle the case where meta-openembedded repository is used > +# todo: detect any layer ? > +if [ -d $1/../meta-openembedded ]; then > + pushd $1/../meta-openembedded > + git config user.email a...@yoctoproject.org > + git config user.name "Auto Upgrade Helper" > + popd > +fi > + > +# auto-upgrade-helper doesn't need to be configured. > > -cp $CONFIG_DIR/upgrade-helper.conf $1/build/upgrade-helper > -cat $CONFIG_DIR/local.conf.append >> $1/build/conf/local.conf > +# create and copy the upgrade helper configuration file > +mkdir -p $1/upgrade-helper > +cp $CONFIG_DIR/upgrade-helper.conf $1/upgrade-helper > +# amend the local.conf > +cat $CONFIG_DIR/local.conf.append >> $1/conf/local.conf > -- > 2.39.2 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#61492): https://lists.yoctoproject.org/g/yocto/message/61492 Mute This Topic: https://lists.yoctoproject.org/mt/102199062/21656 Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-