aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2023-11-01weeklyjob.sh: DropHEADmasterRichard Purdie
We run AUH from the autobuilder and we don't need the cron script any more, we'd point people at the scripts there instead. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-01upgrade-helper: Drop layer_machinesRichard Purdie
We don't need the ability to change this per layer, drop the option and simplify the code. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-01upgrade-helper.py: Add layer command line optionDavid Pierret
- Layer options can be defined as command line arguments - multiple layers can be defined in a single command each layer is analyzed 1 by 1 to check if upgrades are available. Signed-off-by: David Pierret <david.pierret@smile.fr> Reviewed-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-01upgrade-helper.py: Fix indentationYoann Congal
Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-01upgrade-helper.py: extract the inner function of get_packages_to_upgradeYoann Congal
This is to prepare for the futur loop on layers. Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-01upgrade-helper.py: refactor _get_packages_to_upgrade to return a dictYoann Congal
Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-01upgrade-helper.py: simplify a conditionYoann Congal
Both branches contained the same code Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-26upgrade-helper.py: trim default build targets to just 64 bit x86 with glibc ↵Alexander Kanavin
and 32 bit arm with musl Everything else isn't really necessary and greatly lengthens AUH jobs. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2023-06-12upgrade-helper.py: add patches directly to AUH emails, in addition to ↵Alexander Kanavin
attaching them as files This utilizes the 'scissors' feature as described here https://git-scm.com/docs/git-mailinfo#Documentation/git-mailinfo.txt---scissors and allows easy handling of AUH emails with tools like b4, patchwork or even 'git am' directly, eliminating the need to get the attachment first. Signed-off-by: Alexander Kanavin <alex@linutronix.de>
2022-07-19upgrade-helper: attach a tarball with patches and other artefacts to summary ↵Alexander Kanavin
emails This is optional, enabled by default, and allows easy extraction of patches and other information to one's local disk (no need to go over individual maintainer emails). Signed-off-by: Alexander Kanavin <alex@linutronix.de>
2022-07-19emailhandler: correctly send binary attachmentsAlexander Kanavin
MIMEBase should not be used directly and results in sending raw binary data without encoding it with base64. Signed-off-by: Alexander Kanavin <alex@linutronix.de>
2022-03-01error.py: initialize stdout/stderr to empty stringsAlexander Kanavin
This avoids guarding them against NoneType everywhere Signed-off-by: Alexander Kanavin <alex@linutronix.de>
2022-01-18devtool: Verify that stderr is not None typeMarek Vasut
The stderr is only valid in newer versions of bitbake since bitbake commit 1ecc1d94 ("process: Do not mix stderr with stdout"), in older versions of bitbake (e.g. oe-core/dunfell), the stderr is None type and fails AUH updates as follows: ``` DEBUG:Running 'devtool upgrade libfoo -S 1234abcd' ERROR: libfoo: Failed(unknown error) Traceback (most recent call last): File "/oe/auto-upgrade-helper/upgrade-helper.py", line 481, in run step(self.devtool, self.bb, self.git, self.opts, pkg_ctx) File "/oe/auto-upgrade-helper/modules/steps.py", line 85, in devtool_upgrade devtool_output = devtool.upgrade(pkg_ctx['PN'], pkg_ctx['NPV'], pkg_ctx['NSRCREV']) File "/oe/auto-upgrade-helper/modules/utils/devtool.py", line 30, in upgrade return self._cmd(cmd) File "/oe/auto-upgrade-helper/modules/utils/devtool.py", line 22, in _cmd return stdout + stderr TypeError: can only concatenate str (not "NoneType") to str INFO: libfoo: Auto commit changes ... ``` Check whether stderr is None and if it is, only use stderr. Signed-off-by: Marek Vasut <marex@denx.de>
2022-01-02devtool: return both stdout and stderrAlexander Kanavin
At some point devtool started printing to stderr, which means patch rebase issues weren't anymore correctly caught, and bogus updates were being sent out. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2021-12-23bitbake: consider both stdout and stderr when checking or logging outputAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2020-12-21upgrade-helper.py: handle unassigned recipes correctlyAlexander Kanavin
Attempting to send to unassigned@yoctoproject.org bounces immediately, which means the CC recipients (such as oe-core list) won't get the email either. Instead, send to cc directly. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2020-09-15buildhistory: do not error on version-going-backwardsAlexander Kanavin
In some situation this may happen in initial builds and should not be treated as an error. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2020-09-15buildhistory: simplify the handling ofAlexander Kanavin
The module was doing a lot of things, none of which are necessary: - setting up a separate buildhistory repo for each recipe - running cleansstate before doing initial build - messing about with buildhisory revisions Instead just run buildhistory-diff on the defaults right after building the first target. This should also address the various buildhistory problems seen on the AB. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2020-08-16consistent naming for upgradehelper.pyQuentin Schulz
Rename upgradehelper.py into upgrade-helper.py since the conf file and the git repo are named with a dash to separate "upgrade" and "helper". The documentation in the README and upgradehelper.py were also already using upgrade-helper.py instead of upgradehelper.py. For all those reasons, let's be consistent and rename the python script. Signed-off-by: Quentin Schulz <foss@0leil.net>
2020-08-16README: update mailing list addressQuentin Schulz
Signed-off-by: Quentin Schulz <foss@0leil.net>
2020-08-16upgradehelper.py: merge dict.get() followed by if into dict.get with a defaultQuentin Schulz
Signed-off-by: Quentin Schulz <foss@0leil.net>
2020-08-16upgrade-helper.conf: update comments and default valuesQuentin Schulz
A few comments were misleading or incomplete and some defaults were incorrect. Signed-off-by: Quentin Schulz <foss@0leil.net>
2020-08-16modules: statistics: handle recipes without maintainersQuentin Schulz
Even though a recipe might not have a MAINTAINER set, one still might want to upgrade it. This makes it possible to upgrade said kind of recipes and still keep the stats meaningful by displaying one for all maintainerless recipes. Signed-off-by: Quentin Schulz <foss@0leil.net>
2020-06-30upgradehelper: use a separate setting for CCing recipe upgradesAlexander Kanavin
Previously it was same as status update recipients. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2020-06-30emailhandler: actually send messages to cc_list as wellAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2020-05-05upgradehelper.py: make the email header suitable for mailing listsAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2020-04-16upgradehelper.py: restore executable bitsAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2020-03-28modules/steps: do not report an error when machine/host is blacklisted by recipeAlexander
Signed-off-by: Alexander <alex.kanavin@gmail.com>
2019-10-22add SPDX Licence identifierYann CARDAILLAC
Signed-off-by: Yann CARDAILLAC <yann.cardaillac@smile.fr>
2019-05-17steps.py: set up AUH workdir before calling bitbake to get envAlexander Kanavin
Otherwise, if bitbake fails, there will be tracebacks later on. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2019-01-16README: remove mentions of distrodata, as AUH no longer uses itAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2018-12-18upgradehelper: Replace do_checkpkg usage with oe.recipeutils function callRichard Purdie
The code in distrodata.bbclass related to the do_checkpkg task is rather dated, has holes in it (ignoring some recipes) and has horrible locking and csv related issues. We should use modern APIs such as tinfoil to make the calls we need directly against bitbake, cutting out the middleman and clarifing the code. This change uses a lib/oe/recipeutils function call to remove the need to use checkpkg at all. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-21When 'devtool upgrade' fails to rebase patches, stop and report a failureAlexander Kanavin
Previously it would continue, which eventually resulted in an unhelpful, generic error message printed by 'devtool finish'. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2018-03-21Do not skip packages that were attempted recently.Alexander Kanavin
This was undocumented and made a number of hardcoded assumptions. The options were to make it configurable, or just remove the logic, and I chose the latter. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2018-03-16Add a commit_revert_policy configuration settingAlexander Kanavin
This helps in particular when a package upgrade builds fine, but then causes other packages to fail. Depending on how close to the root of dependency tree the failing packages are, this can badly subvert the unattended upgrade process. So for that case, the better approach is to revert every upgrade commit, so that each upgrade is effectively built against master, which makes it less likely to fail. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2018-03-01Do not hardcode the location of tmp directoryAlexander Kanavin
Get it from bitbake instead. [YOCTO #12566] Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2018-02-28weeklyjob.sh: also clean up the workspace source directoryAlexander Kanavin
As devtool does not always remove it. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2018-02-28upgradehelper.py: fix arguments to _pkg_upgradable()Alexander Kanavin
Maintainer whitelisting was broken, in particular. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2018-02-12Improve README and sample config file.Alexander Kanavin
Specifically, add more information about various config settings, add a few important points to README, and remove config file specifics from README, so that there's only one source for what the settings are (the sample config file). Also comment out everything from the config file, so that those in a hurry can take it into use immediately. Most settings are specific to a maintainer, and so can't be provided in a 'generic' way. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2018-02-12upgrade-helper.conf: add a template for easy deploymentChang Rebecca Swee Fun
Settings mentioned in the README have been ported over and now users are able to copy and start modifying for personal use cases. This file will served as a reference to minimize errors when users trying to create a new conf file by following the README. Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com>
2018-02-09README: fix typo on one of the settingsChang Rebecca Swee Fun
Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com>
2018-01-17upgradehelper.py: add a reference to License-Update: tag.Alexander Kanavin
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2018-01-15weeklyjob.sh: use -e with auh to actually send the emailsAlexander Kanavin
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2017-12-21testimage.py: collect and write out logs from bitbake and testimageAlexander Kanavin
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2017-12-21testimage.py: rewrite the logic for building and running testimagesAlexander Kanavin
Particularly: 1) determine per-package if ptest is supported, and add to the list of packages to install accordingly 2) remove broken code that finds image logs in the build directory; this will be replaced in the following commit 3) remove code that parses said logs for specific package failures; this is prone to mistmatches and is best left to a human. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2017-12-21testimage.py: remove all iterations (over machines, over failing recipes)Alexander Kanavin
This adds enormously to run time, and is not particularly necessary when running locally. If something fails, it's best to let the maintainer sort it out as soon as possible, rather than try to guess what needs to be excluded. Also, do not build a separate ptest image; ptests will be added to the standard integration testimage. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2017-12-21testimage.py: run even if no packages were upgradedAlexander Kanavin
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2017-12-21testimage.py: clarify what arguments are passed to class constructorAlexander Kanavin
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2017-12-21upgradehelper.py: do not include testimage information in maintainer email ↵Alexander Kanavin
messages There's some logic to ascribe failures to specific recipe upgrade commits; it's prone to mismatches and is lacking context about what else was upgraded. Let's make testimage support available for local maintainer use only - unattended mass-upgrades will not try to run testimages. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2017-12-21Do not require configuration options that aren't necessary for running ptestsAlexander Kanavin
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>