Commit Graph

869 Commits

Author SHA1 Message Date
Michael Halstead
384d37a957 scripts/release-parser: remove Dunfell from active releases
Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
2024-12-26 08:51:00 -10:00
Richard Purdie
e39db7b08e Revert "scripts/run-docs-build: update buildtools-docs url"
This reverts commit 440a0b2d8f.
2024-12-26 10:19:04 +00:00
Mathieu Dubois-Briand
78806a4f4c prepare-shared-repos: Allow to tag poky git
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-12-17 15:22:36 +00:00
Antonin Godard
440a0b2d8f scripts/run-docs-build: update buildtools-docs url
We were using this one temporarily to use the new Sphinx version and
rsvg-tools. Update the URL now that 5.1.1 is released.

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-12-16 15:34:33 +00:00
Richard Purdie
89d58d91af send_qa_email: Add directory to save logs too
The logs take up too much space in the git repo, save them separately.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-25 16:02:25 +00:00
Mathieu Dubois-Briand
a63dedc4e0 config: Add systemd distro feature to meta-virt builders
Starting from a recent update to meta-virt, systemd is required to build
xen-image-minimal. Add this to the autobuilder configuration.

Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-20 18:42:11 +00:00
Richard Purdie
001b65c6bd send_qa_email: Filter to specific revision to avoid OE-Core commits
Poky and OE-Core commits are being stored into the same branch of the test
results repo which causes confusion. Filter these to poky and ignore the
OE-Core result for now as the least bad option we have to avoid issues.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-14 11:45:32 +00:00
Richard Purdie
79abfc9a43 scripts/run-docs-build: Add support for multiple buildtools and add modified 5.1 option
Add a modified 5.1 buildtools tarball for docs builds which has support for svg -> png
conversion using rsvg-convert.

Older releases need older docs buildtools. Add support for this in the build
script for docs, installing both and choosing depending on how old the main
release branch is. For now I've put the changeover at scarthgap, it may be
possible to make it older. I know kirkstone fails with the new tools.

Bitbake doesn't need this since it's docs work fine with both versions.

The actual docs build is done in a subshell so we can choose the environment.
We may need to improve the selection logic in future since some branches may
start to build with the newer tools after backports.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-31 14:13:43 +00:00
Richard Purdie
b2f7653b8b scripts/run-docs-build: Add latexmk to tex install
Tweak the tex install command to include latexmk which is needed
by the docs build process.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-31 14:12:40 +00:00
Richard Purdie
33e9270998 scripts/run-docs-build: Fix missing fi typo
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-31 09:43:07 +00:00
Richard Purdie
bb8ba61312 scripts/run-docs-build: Add support for installing texlive for pdf generation
To build the latexpdf output for the docs, we need Xetex (which can handle
international characters). Rather than require it on all autobuilder workers,
along with dependencies, we install a copy onto NFS which the workers can
use. The full install is 6GB so just install the pieces we've found we
need via tlmgr on top of a small install. This script creates the install
if it isn't present.

For local docs builds, we assume the user has the tools available from
the host OS. It is unlikely most users using this script would have the
NAS path present so this seems like a reasonable compromise.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-30 16:35:15 +00:00
Richard Purdie
e9e67c7680 config.json: For the yocto-mirror target, use explicit test
This makes it match what meta-oe-mirror does.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-25 12:25:10 +01:00
Ross Burton
f2ff264492 scripts/abint: generalise autobuilder URL regex
The autobuilder isn't just autobuilder.yoctoproject.org, as the new
cluster is valkyrie.yoctoproject.org.  Generalise the regex to match on
any buildbot URLs with "yocto" in the hostname, as we also have machines
using *.yocto.io.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-23 11:38:22 +01:00
Michael Halstead
51d842b5e0 scripts/release-parser.py: Update for 5.1 release and Walnascar branch
Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
2024-10-16 15:30:17 -07:00
Mathieu Dubois-Briand
bcf51897f1 scripts/run-docs-build: Fix built branches list
Only build contrib branches when explicitly requested.

Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
2024-10-16 11:06:42 +01:00
Richard Purdie
fba49ff7fc ab-janitor: Avoid spamming the logs when files are really new
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-15 12:04:40 +01:00
Richard Purdie
637b12ae0c config.json: Add buildtools-docs build
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-14 15:47:40 +01:00
Richard Purdie
0304e040f0 config.json: auh - ensure output directory exists
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-10 11:00:55 +01:00
Richard Purdie
27196fdf41 scripts/run-patchmetrics: Avoid races over directory creation
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-09 23:20:46 +01:00
Richard Purdie
028cada341 auh: Update urls for new autobuilder address
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-09 23:14:08 +01:00
Richard Purdie
f7309f16f9 config.json: Use buildtools tarball for rocky8
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-09 23:12:58 +01:00
Richard Purdie
ace93a651b config.json: Use BASE_SHAREDIR in index job command
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-09 23:06:08 +01:00
Richard Purdie
bbdef0f11e config.json: Use 5.0.4 release tarballs or download urls for all artefacts
We should be pointing at released artefacts where at all possible.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-09 23:06:08 +01:00
Richard Purdie
cca455446c scripts/run-docs-build: Use the 'cluster-downloads-cache' location for cache files
The docs build uses some cached tarballs, use the standarised location for these.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-09 23:06:08 +01:00
Richard Purdie
c79cc99309 scripts/utils: Use a consistent 'cluster-downloads-cache' location for cache files
Cache files were getting spread all over. Use a more consistent directory
name to make it clear they are cache files.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-09 21:19:17 +01:00
Ross Burton
c62f7b4798 config.json: don't build core-image-ptest-all in arch-hw
When the target is real hardware there is no need to build the
core-image-ptest-all image (which expands to ~100 images) as this swamps
the release artifacts and they're not actually tested.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-12 21:59:40 +01:00
Ross Burton
7e07233bcd config.json: unify image list by adding full-cmdline to arch-hw
The poky-altcfg builds all build core-image-full-cmdline but the poky
builds do not. This causes confusion when someone is after a fully
featured but headless image and there are none available for poky, just
-minimal or -sato.

Also add core-image-full-cmdline:do_testimage to arch-hw-qemu.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-12 21:59:40 +01:00
Yoann Congal
3278a99ea0 config.json: remove BB_LOGCONFIG workaround
Since bug #15241 has been resolved, the
"BB_LOGCONFIG=$(readlink -f $BB_LOGCONFIG)" workaround is not needed
anymore.

This partially reverts commit 6f48f65c68 ("config.json: add a
workaround for the "autobuilderlog.json" error")

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-12 21:59:40 +01:00
Michael Halstead
b093850639 scripts/release-parser: Update release generator for 5.1
Comment out future stable branch for easy updating.

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
2024-08-22 06:09:56 -07:00
Richard Purdie
19f4fa0ac5 scripts/collect-results: Handle artefact collection/separation
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-17 14:44:51 +01:00
Richard Purdie
0646d5df44 scripts/archive_buildstats.py: Only create directories if we copy files
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-14 13:13:31 +01:00
Richard Purdie
faf9deb130 scripts/collect-results: Only create directories if we copy files
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-14 13:12:24 +01:00
Richard Purdie
7f3d6db499 config.json: Add meta-security for meta-webosose
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-14 09:24:30 +01:00
Richard Purdie
a31018625b config.json: Add non-release index generation to indexing builder
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-14 09:03:54 +01:00
Richard Purdie
3c44f8da3c collect-results: Fix dir creation and function indentation
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-13 23:49:10 +01:00
Richard Purdie
78ca7fb97b archive_buildstats: Only create dirs if we have data
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-13 11:42:30 +01:00
Richard Purdie
b1e2db6640 collect-results: Only create dirs if we have data
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-13 11:39:07 +01:00
Richard Purdie
9ada77ab57 scripts/generate-testresult-index.py: Add back data.json generation
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-12 23:11:51 +01:00
Richard Purdie
da2c03a6cb scripts/generate-ptest-logs: Fix typo
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-12 18:04:21 +01:00
Richard Purdie
9dc1462c0b scripts/generate-testresult-index: Add a cache and locking
Add a cache to improve performance and allow old index entries to be reused.

Also add locking so only one copy of the script can run at once.

Fix the path to the index template to be more stable in different execution environments.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-12 17:55:21 +01:00
Richard Purdie
a21238acab scripts: Split ptest log extraction to separate script
The ptest extraction should really happen separately to the index generation,
move it to do so.

Add code to only consider directories changed in the last 7 days to make
the script faster.

Add an indexing target to config.json to trigger the script.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-12 17:13:34 +01:00
Ross Burton
60e2011f34 scripts: rebase before pushing patch and CVE metrics
There's a chance that run-cvecheck and run-patchmetrics fail to push
because the remote repository has changed. Try to resolve this by pulling
and rebasing immediately before the push, and failing if we can't rebase.

[ YOCTO #15529 ]

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-12 12:41:54 +01:00
Richard Purdie
0e304514dd config.json: Allow AUTOBUILDER_HASHSERV to be more easily changed
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-10 19:53:56 +01:00
Richard Purdie
cfb0661023 config.json: OpenSUSE 15.5 and 15.6 have old python
We need buildtools on these distros as the python version is still 3.6.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-10 18:06:31 +01:00
Ross Burton
e37f202d6c config.json: add a builder for meta-webosose
Add a minimal (although still substantial) build of meta-webosose for LG.
Because meta-webosose has complex layer appends and dependencies we need
to manually set BBFILE_PRIORITY and rewrite bblayer.conf to match what
their custom build scripts currently do.

Builds against oe-core master are known to not work at present, but this
will be backported to kirkstone which is the latest supported release.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-10 13:09:48 +01:00
Alexis Lothoré
9852c7da33 scripts: send_qa_email: do not try to generate a regression report when missing base and/or target
Fixes [YOCTO 15503]

When running autobuilder onm a testing or stable branch, the following
exception may occur:

Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/a-full/yocto-autobuilder-helper/scripts/send_qa_email.py", line 278, in <module>
    send_qa_email()
  File "/home/pokybuild/yocto-worker/a-full/yocto-autobuilder-helper/scripts/send_qa_email.py", line 207, in send_qa_email
    generate_regression_report(querytool, targetrepodir, regression_base, regression_target, tempdir, args.results_dir, log)
  File "/home/pokybuild/yocto-worker/a-full/yocto-autobuilder-helper/scripts/send_qa_email.py", line 93, in generate_regression_report
    regreport = subprocess.check_output([querytool, "regression-report", base, target, '-t', resultdir])
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib64/python3.11/subprocess.py", line 1883, in _execute_child
    self.pid = _fork_exec(
               ^^^^^^^^^^^
TypeError: expected str, bytes or os.PathLike object, not NoneType

This issue is due to base and target revision being None, but subprocess
module do not tolerate arguments being None,

Prevent the script from even trying to generate a regression report if we
are missing some info about revisions to compare.

Cc: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-02 13:11:49 +01:00
Alexis Lothoré
9e961637ba scripts: test_send_qa_email: fix broken tests
Commit 1dc77f5908 ("scripts: send_qa_email: add dry-run mode") updated
the get_regression_base_and_target to allow it to receive a test result
url. Unfortunately, this function's tests have not been updated
accordingly, so they currently fail because of the missing parameter.

Add a default url in test case and update the function call with this
default value.

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-02 13:11:49 +01:00
Alexis Lothoré
dac3e4cc06 scripts: send_qa_email: fix invalid regex syntax warning
When send_qa_email is executed with python >= 3.12, the following warnings
are emitted:

/home/alexis/src/yocto_ci/yocto-autobuilder-helper/./scripts/send_qa_email.py:22: SyntaxWarning: invalid escape sequence '\d'
  p = re.compile('\d{8}-\d+')
/home/alexis/src/yocto_ci/yocto-autobuilder-helper/./scripts/send_qa_email.py:67: SyntaxWarning: invalid escape sequence '\/'
  tested_revision = re.match('refs\/tags\/.*\/\d+-g([a-f0-9]+)\/\d', latest_test_tag).group(1)

This warning has been introduced to replace the DeprecationWarning
initially raised on such escape code in string regex. Python 3.12 changelog
([1]) states that raw string must be used in this case. Update both
send_qa_email and its tests file.

[1] https://docs.python.org/dev/whatsnew/3.12.html#other-language-changes

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-02 13:11:49 +01:00
Alexander Kanavin
65b4cd2aae config.json: use private DL_DIR for AUH runs
AUH can produce broken recipes that can't complete do_fetch, and
this results in removal of files in DL_DIR, which races with
other builds, as seen here:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=15540

[YOCTO #15540]

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-02 11:11:36 +01:00
Alba Herrerías
ede8311127 scripts/generate-testresult-index.py: index of autobuilder test results improvements
- Added pico.css to make CSS improvements
- Added filters to the table for better readability of the test results. Filters were added for build type, branch and date
- Added pagination, which improved the performance of the website
- The html index template has been added as a separate file for better maintainability

Co-Authored-By: Ninette Adhikari <13760198+ninetteadhikari@users.noreply.github.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-07 17:00:11 +01:00