Commit Graph

550 Commits

Author SHA1 Message Date
Alexis Lothoré
a07dc3b832 scripts/test_utils: test master nightly build case
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-23 16:06:37 +00:00
Alexis Lothoré
61a1289e50 scripts/test_send_qa_email.py: add tests for base/target pair guessing
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-20 17:17:26 +00:00
Alexis Lothoré
35af879d51 scripts/send-qa-email: fix testing branches regression reporting
d6018b891a broke regression reporting for testing
branches (e.g: master-next in poky, ross/mut in poky-contrib) by ignoring the comparebranch returned by
utils.getcomparison branch

Fix regression reporting for those branches by using comparebranch again. The
fix also refactor/add a intermediary step to guess base and target for
regression reporting, to isolate a bit the logic and make it easier later to add
multiple base/target couples

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-20 17:17:26 +00:00
Alexis Lothoré
11409d7fea scripts/send-qa-email: add tests for is_release_version
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-20 17:17:26 +00:00
Alexis Lothoré
8f2d6752cc scripts/send-qa-email: protect is_release_version from None value
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-20 17:17:26 +00:00
Alexis Lothoré
0a815f4032 scripts/send-qa-email: invert boolean logic for release check
is_non_release_version has an inverted logic which makes its reuse quite
confusing

Transform it as is_release_version and let caller do the negation if needed

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-20 17:17:26 +00:00
Alexis Lothoré
b913d47991 scripts/send-qa-email: remove unused variable
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-20 17:17:26 +00:00
Alexis Lothoré
ffdc167377 scripts/utils: add unit tests for getcomparisonbranch
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-20 17:17:26 +00:00
Alexis Lothoré
95dbb1b6fe scripts/send-qa-email: use yocto_testresults_query.py for sha1 resolution
A new tool named yocto_testresults_query.py has been integrated in poky as a
thin wrapper between send-qa-email and resulttool. The new tool is in charge of
converting tags/branches names to SHA1 revisions and to call resulttool with
those revisions

Remove any code related to tag/branches conversions to SHA1 and use
yocto_testresults_qery.py instead

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-08 18:00:06 +00:00
Alexis Lothoré
ff074831d7 scripts/prepare-shared-repos: fix minor typo in autobuilder logs
Minor typo observed when cheking the "Prepared shared repository" step logs in
autobuilder web interface:

====================================================================================================
Intially fetching repo poky (1675810261.1)
====================================================================================================

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-15 11:31:10 +00:00
Richard Purdie
a16accc5dd cve-report: Remove ignore list and expose all CVEs
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-07 21:53:00 +00:00
Alexis Lothoré
013d4f4df1 scripts/send-qa-email: add target and base revisions in regression report
Current regression reports do not contain information about versions compared
when generating reports. While it is still possible to get the information by
searching the autobuilder log, it is not convenient. Moreover, future
developments will allow to generate multiple reports (with different bases for
comparison) in a single build.
As a consequence, embed target and base revisions in the report header

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-07 21:51:47 +00:00
Alexis Lothoré
2c0d9e1977 scripts/send-qa-email: reduce testresults shallow clone depth
Since we are now force-fetching base revisions and target revisions for
regression report generation, we can make testresults clone even more "shallow"
to increase clone speed in CI pipelines

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-07 21:51:47 +00:00
Alexis Lothoré
13b0ddac62 scripts/send-qa-email: force current revision fetch
If we try to run send-qa-email to simulate past releases (for example, for
development or debugging), the execution will very likely fail because the
target revision to examine (ie: the poky revision) is too old, and as a
consequence is not contained in the testresults shallow clone anymore (because
testsresults history keeps moving forward as builds are triggered on
autobuilder). As a consequence, force-fetch the "target" revision, as it is
already done for the "base" revision

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-07 21:51:47 +00:00
Alexis Lothoré
54d8e519f3 scripts/send_qa_email.py: add unit tests on previous version computation
The "previous version" computation bring many edge cases depending on the
version under release. Add a basic test suite to validate currently implemented
computation strategy and to prevent mistakes when ediiting it in the future

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-26 22:40:34 +00:00
Alexis Lothoré
d6018b891a scripts/send-qa-email: Generate regression reports against most relevant release
Instead of only generating regressions reports against HEAD of relevant branch, compute
most relevant tag (ie : release) against which we can check for regressions. General rules
introduced are the following :
- milestone release is checked against previous milestone if possible, otherwise
  against major release
- point release  is checked against previous point release if possible,
  otherwise against major release
- major release is checked against previous major release
- a non release build is checked against base branch
Examples :
- 4.1.2.rc1 is checked against yocto-4.1.1
- 4.1.2 is checked against yocto-4.1.1
- 4.1.1.rc1 is checked against yocto-4.1
- 4.1.1 is checked against yocto-4.1
- 4.1 is checked against yocto-4.0
- 4.1.rc4 is checked against yocto-4.0
- 4.1_M2.rc1 is checked against 4.1_M1
- 4.1_M2 is checked against 4.1_M1
- 4.1_M1.rc1 is checked against yocto-4.0
- 4.1_M1 is checked against yocto-4.0

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-26 22:40:29 +00:00
Alexis Lothoré
caf1e75312 scripts/send_qa_email.py: Wrap send_qa_email.py content in function
This wrapping allows importing send_qa_email.py in another script without
executing the QA emailing routine. This is useful for unit testing the script
internal functions

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-26 22:40:11 +00:00
Alexis Lothoré
8b16d49789 scripts/send-qa-email: add symlink to preserve compatibility with autobuilder
Merely renaming send-qa-email to send_qa_email.py would imply to update
yocto-autobuilder2 scripts, which can be daunting. In order to preserve
compatibility with current configuration, add a symlink pointing to the
new script

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-26 22:40:07 +00:00
Alexis Lothoré
5adb7a7dc3 scripts/send_qa_email.py: Rename send-qa-email to send_qa_email.py
This rename fixes send-qa-email regarding python guidelines, which allows to
import the script content in another script (for unit testing purpose for
example)

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-26 22:40:02 +00:00
Michael Halstead
f195338438 run-docs-build: switch to released docs tarball
The pub/non-release directories have aged out and no longer work.
Switch to a stable location and bump the version to 4.1.2 as well.

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
2023-01-17 11:04:42 -08:00
Richard Purdie
655dd1c146 scripts/run-config: Only run bitbake command if environment file exists
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-14 21:06:38 +00:00
Richard Purdie
4cc1f44a22 scripts/run-config: Ensure bitbake server is shutdown at the end
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-14 12:35:10 +00:00
Alexander Kanavin
5843653181 config.json: add x86 (32 bit) ptest options
This will be particularly useful for testing Y2038 issues,
as that is the only 32 bit target that can be run at native speed
on the AB cluster.

Whether a-full should get fast ptests or full ptests can be decided
after collecting AB execution times for both.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-07 11:24:05 +00:00
Richard Purdie
5fee00855e yocto-metrics: Add langdale CVE monitoring
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-10-28 13:30:19 +01:00
Quentin Schulz
0c8395c947 scripts: run-docs-build: make the workdir pristine between tries
It happened that the git repositories were dirty and resulted in
incorrect files being used. Let's use git clean -ffdx to force a
completely clean git repositories before and after checking out a branch
so that nothing is left from or to another branch build. Also git reset
--hard to undo changes to tracked files.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Reported-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> #https://lore.kernel.org/yocto-docs/e50abe3c777e4a23a752a3ec25ad0b2a@axis.com/
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-10-27 17:37:18 +01:00
Michael Halstead
1e0cd71f65 scripts/run-docs-build: make nested dirs for contrib/name/* branches
Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
2022-10-18 13:46:53 -07:00
Richard Purdie
effb9b0fcd scripts: Ensure gplv2 revision isn't listed and repos aren't used
We disabled meta-gplv2 for master, ensure the repo isn't used in the
collection or QA scripts.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-26 13:01:37 +01:00
Richard Purdie
cc0005d364 scripts/patchmetrics-update: Improve debug output
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-20 15:56:25 +01:00
Alexander Kanavin
e18974a86c scripts/run-patchmetrics: remove conf/templateconf.cfg as well between builds
With the recent template config changes to oe-core its content is no longer
backwards compatible.

'-f' is to guarantee future compatibility with build setups where the file
is not present.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 11:43:59 +01:00
Richard Purdie
b7ee72be92 scripts/archive_buildstats: Exit early if buildstats isn't present
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-24 20:56:12 +01:00
Aryaman Gupta
c054c03e4f scripts/archive_buildstats.py: archive buildstats to tar.zst
Archive the buildstats of every failed build and 1% of random builds. Convert
the time-stamped buildstats directory to a compressed tarball using the
hostname as a prefix (to the file name only) so that one can identify the
source machine. Move these tarballs to the directory:
	testresults/<build_name>/buildstats/

The archiving is performed during the "collect results" step.

Signed-off-by: Aryaman Gupta <aryaman.gupta@windriver.com>
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-23 23:35:47 +01:00
Quentin Schulz
a9f5454b30 scripts/run-docs-build: do not checkout releases.rst from master anymore
Master branch of the yocto-docs now autogenerates the releases.rst file
and the file therefore does not exist anymore.

Signed-off-by: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-20 14:25:19 +01:00
Quentin Schulz
695bd33b47 scripts: run-docs-build: use latest version of set_versions.py script
`git checkout <pathspec>` without <tree-ish> only undo the changes made
to pathspec compared to HEAD. It is not guaranteed that HEAD is on
latest commit of master branch from upstream when running this script,
therefore let's add the <tree-ish> argument to specify which branch to
use to make sure set_versions.py is the latest, otherwise getlatest
might return the wrong information.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-20 14:25:19 +01:00
Richard Purdie
a263c0b0d3 srcipts/generate-chartdata: Drop dateutil dependency
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-30 16:33:54 +01:00
Richard Purdie
400e1e1b2b scripts/utils: Allow tags to be updated from upstream (meta-agl has force pushed them)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-29 16:44:03 +01:00
Richard Purdie
54630b14ce scripts/run-patchmetrics: Ensure cve data for last year is copied
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-29 07:45:46 +01:00
Richard Purdie
01f4920d78 scripts/generate-charts: Add json data for last year as well as multiyear
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-29 00:04:23 +01:00
Richard Purdie
70cdf365ef run-docs-build: Switch to newer docs tarball
This updates docs generate to a newer version of sphinx.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-23 13:31:41 +01:00
Michael Opdenacker
a1575b063b run-docs-build: allow build warnings again
This allows to switch to a more recent of Sphinx
which will generate warnings with old versions of docs.

This way, it's not immediately necessary to patch
all such versions.

This commit reverts
https://git.yoctoproject.org/yocto-autobuilder-helper/commit/?id=8273124feb9da2ffe93fcee7c4529d5597e1684a
which originally reverted
https://git.yoctoproject.org/yocto-autobuilder-helper/commit/?id=931d409b255a85f2217ca093d8391a678ce00ddb

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-23 13:30:26 +01:00
Richard Purdie
1baf966db6 run-docs-build: Ensure origin is specified for master
We may not have fetched the master revision if a different one was being
built so using origin/master works consistently in all cases.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-23 13:29:56 +01:00
Richard Purdie
3921d4f3ec scripts: Ensure directories exist
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-14 22:09:16 +01:00
Richard Purdie
9d7820da27 scripts/docs_add_banner: Fix several issues
* Fix a syntax error causing the script to fail
* Skip symlinks files (symlink directories were already skipped)
* Drop unneeded whitespace
* Abstract path join to a variable

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-03 10:51:38 +01:00
Abongwa Amahnui Bonalais
5dd90ea43b scripts/docs_add_banner: Add a banner on the old documentation docs.
Add a script which adds banners to the old docs and outdated dunfell docs
so that the user knows they're using old documentation.

Signed-off-by: Abongwa Bonalais Amahnui <abongwabonalais@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-03 10:51:08 +01:00
Quentin Schulz
9ebeb61276 scripts: run-docs-build: do not extract eclipse directories from old docs
For some reason, the old docs tarball includes many eclipse
subdirectories which are just cluttering the docs website up.

Therefore, let's just not extract eclipse directories from the tarball.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-01 09:14:58 +01:00
Richard Purdie
a772bf318d scripts/cve-generate-chartdata: No need to exlude db
These are already handled in all branches we care about so drop the exclusion.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-25 17:55:12 +01:00
Richard Purdie
60902768cc scripts/run-patchmetrics: Drop honister, remove oldder json files
Keeping all the previous json files in tree has too much overhead
so drop the old ones. Honister doesn't support cve-check with json.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-25 17:52:39 +01:00
Richard Purdie
47d8883222 scripts/run-patchmetrics: Continue CVE checks for honister for now
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-25 09:46:15 +01:00
Richard Purdie
10ecb12155 scripts: Add script to update CVE count data in json file
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-25 08:32:19 +01:00
Richard Purdie
6655466ea6 scripts/run-patchmetrics: Seperate out cve-check json files into direcotries
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-24 15:21:23 +01:00
Richard Purdie
573aee4421 scripts/patchmetrics-generate-chartdata: Remove unused data
When generating the chart specific data, remove elements which aren't
used to reuse the filesize which improves browser loading speed.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-24 11:05:17 +01:00
Richard Purdie
7c7b96cf19 scripts/patchmetrics-update: Fix typo
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-23 23:18:37 +01:00
Richard Purdie
803bdecd62 scripts/run-patchmetrics: Ensure tmpdir is clean between build runs
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-23 22:56:23 +01:00
Richard Purdie
125f1dbea4 scripts: Add patch to filter the chart data to make it usable
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-23 22:54:54 +01:00
Richard Purdie
c491e01653 scripts/run-patchmetrics: Ensure environment works for dunfell
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-23 22:11:19 +01:00
Richard Purdie
e3beeb9328 scripts: Extend CVE testing to kirkstone and dunfell branches
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-23 16:22:35 +01:00
Richard Purdie
7eca1ae4d7 scripts: Add ability to add/process missing patch stats data
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-23 16:05:23 +01:00
Richard Purdie
ca67ed751e run-patchmetrics: Add very basic cve-check functionality
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-17 17:14:13 +01:00
Richard Purdie
8702fdbb72 Clarify license and copyright information
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-17 10:29:45 +01:00
Richard Purdie
348467c2c8 run-patchmetrics: Use -m for realpath for results dir as it doesn't exist
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-13 17:21:45 +01:00
Richard Purdie
5b73a9b6eb run-patchmetrics: Use full variable names
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-13 17:19:17 +01:00
Richard Purdie
fd1aa61d87 scripts/run-patchmetrics: Ensure paths are sanitized
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-13 16:39:59 +01:00
Richard Purdie
1887e59889 config/scripts: Allow publishing of patch metrics
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-13 16:37:10 +01:00
Richard Purdie
2765a6a314 config/scripts: Add initial patch metric tracking code
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-13 16:21:57 +01:00
Richard Purdie
47ef936ea5 config/run-config: Allow other OE-Core machines to be tested manually
These are not part of our standard testing but allow them to
be triggered manually to assess their status.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-13 15:17:54 +01:00
Richard Purdie
91f49091cc scripts/run-docs-build: Use set-versions.py to get the latest release branch name
The intent here is to use the latest release branch name instead of a tagged version.
For the 4.0 case, this means the full migration guide will be shown instead of
the reduced information in the 4.0 tag.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-26 11:35:28 +01:00
Quentin Schulz
f418022d8f scripts: run-docs-build: reuse logic to link to latest tag
Since the latest tag already has a specific handling in the forloop,
let's just move the symlink creation inside the forloop.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-20 13:13:15 +01:00
Quentin Schulz
1870fb3a6c scripts: run-docs-build: make latest documentation tag the default version
Currently, the master branch is the default branch being displayed by
default when reaching the Yocto docs website. When big changes are
implemented for the next release, these are shown immediately to the
user, even though there is currently no release available for those
changes. This is an issue when e.g. behaviors are changed, new features
are added, variables get renamed or some syntaxes change because the
user might try to use things that aren't available to them yet.

I believe more people are using released version of Yocto
Project/Bitbake than people working on latest master. So let's make the
default version of the docs the latest tag (in terms of version number,
not date of tagging) to avoid too much confusion.

The master branch of the docs is now available at /dev subpath.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-20 13:13:15 +01:00
Quentin Schulz
4cd985b23d scripts: run-docs-build: use set_versions.py and switchers.js.in from master
set_versions.py and switchers.js.in need to be up-to-date so that a
consistent behavior is kept between different branches and tags of the
documentation.

Right now, kirkstone branch is lagging behind master and therefore does
not have the latest changes from master (e.g. the new obsolete
algorithm, which obviously isn't an issue right now, but will be in two
years). Using master version for those scripts also lightens the
maintenance burden.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-19 22:07:09 +01:00
Quentin Schulz
2852909e55 scripts: run-docs-build: add option to skip upstream rsync
The rsync only makes sense for the Autobuilder as most people don't have
access to docs@docs.yoctoproject.org. Therefore, to allow for easier
contribution to this script, let's allow to skip the rsync so the script
can continue to run.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-19 22:07:09 +01:00
Quentin Schulz
2f972bb742 scripts: run-docs-build: allow to pass buildtools script and docbook tarball paths
Currently, the path to buildtools script and docbook tarball are
hardcoded to work on Yocto Project Autobuilder. However, this makes it
harder to contribute to this script because it is very unlikely those
paths exist on a developer PC.

Instead, let's allow to override variables by using the environment and
make the current hardcoded values the default ones.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-19 22:07:09 +01:00
Quentin Schulz
71527dd20d scripts: run-docs-build: transform argument paths into absolute paths
The script is written in such a way that absolute paths are expected.
Instead of failing weirdly at some point in the script, let's just make
all paths passed to this script absolute by calling realpath on them.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-19 22:07:09 +01:00
Richard Purdie
5946a6f028 scripts/run-docs-build: Support auto generation of switchers.js and poky.yaml
This uses the set_versions.py script from the docs master branch to handle
creation of the swictchers.js version information as well as the data in
poky.yaml.

This allows patches to those sections of the docs to be dropped.

It is assumed the patch to use set_versions is applied to the docs transitions
branch so that it's switchers.js files no longer need to be tweaked.

This does lead to user visible changes on the website:

- Older versioned released docs gain their current version and the
  latest version listed in the switcher rather than being unlisted
- The list of releases is normally filtered down to our active ones
  (hardknott, honister and dev right now)
- 3.3's doc references to gatesgath are corrected to hardknott
- Docs for unversioned release branches (not linked on the website) now
  use 3.1.999 versioning instead of confusing them with the last relased version
- 3.1.13 refers to 3.1.13 instead of 3.1.12

all of which seem to be reasonable improvements.

The big advantage of these changes is that with a single change to the script
in the master branch, the right thing should happen for all the current docs
and at release time, only a docs rebuild should need to be triggered after tags
are pushed.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-22 22:17:02 +00:00
Quentin Schulz
6fd933fe06 scripts: run-docs-build: factor out yocto-docs tags and branches building
Except patching which is specific to tags and yocto- tag prefix
stripping, the logic is identical, so let's merge both loops together.

Cc: Quentin Schuls <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-18 17:02:09 +00:00
Quentin Schulz
c2e3a4515b scripts: run-docs-build: simplify sphinx-buildable yocto-docs tag list fetching
The commit that introduced Sphinx support in yocto-docs is
01dd5af7954e24552aca022917669b27bb0541ed. Any tag containing this commit
is buildable by sphinx.

Dunfell tags don't all have Sphinx support. However, all tags containing
the introducing commit c25fe058b88b893b0d146f3ed27320b47cdec236 are
buildable by sphinx.

Therefore, let's just list all tags which contains either of those two
commits instead of the complex series of pipes and shell commands.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-18 17:02:09 +00:00
Quentin Schulz
d69a2adc43 scripts: run-docs-build: automatically build new yocto-docs branches
Since commit 01dd5af7954e24552aca022917669b27bb0541ed, all later
releases of yocto-docs can be built with Sphinx. Instead of manually
updating this list, let's have git return the list of remote branches
which contains the commit.

dunfell branch was initially released without Sphinx support but was
later patched, hence why it's explicitly listed.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-18 17:02:09 +00:00
Quentin Schulz
592863ebab scripts: run-docs-build: factor out all yocto-docs branches building
master, master-next and transition only differ from other branches by
their output directory name. Let's put everything in common and only
have a check on whether the branch is master, master-next or transition
and modify the output dir in those cases.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-18 17:02:09 +00:00
Quentin Schulz
72ca6fc8dc scripts: run-docs-build: automatically build new Bitbake branches
Since commit 84ccba0f4aff91528f764523fe1205a354c889ed, docs of all later
releases can be built with Sphinx. Instead of manually updating this
list, let's have git return the list of remote branches which contains
this commit.

1.46 branch was initially released without Sphinx support but was later
patched, hence why it's explicitly listed.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-18 17:02:09 +00:00
Quentin Schulz
7ed0c8a92f scripts: run-docs-build: factor out all bitbake branches building
master and master-next only differ from other branches by their output
directory name. Let's put everything in common and only have a check on
whether the branch is master or master-next and modify the output dir in
those cases.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-18 17:02:09 +00:00
Quentin Schulz
8273124feb Revert "scripts: run-docs-build: do not turn sphinx warnings into errors"
The patch was meant as a quick temporary work-around to have the docs
built and published.

Now that releases where -W flag is set (turning warnings into errors)
are appropriately patched to make those warnings disappear (on Sphinx
v3.2.1 which is the one used on the builder), this patch can be reverted
so that next time a warning appears the doc building will fail but will
not destroy the doc website (because of commit
6a4e6ef18d "scripts: run-docs-build: make
the script fail hard ASAP when there's an error", since rsync will not
be run if any error happens before).

This reverts commit 931d409b25.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 22:03:37 +00:00
Quentin Schulz
8b80b6f485 scripts: docs-build-patches: fix incorrect conf.py for yocto-3.4.1
The patch was missing from yocto-3.4.1 release and only made it to
yocto-3.4.2 unfortunately so let's backport it.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 22:03:37 +00:00
Quentin Schulz
4a97ab144d scripts: docs-build-patches: fix bitbake objects.inv being used
Each Yocto Project release is validated for a specific Bitbake release.

By mistake, most release docs are pointing at the development branch of
Bitbake documentation instead of the one that was validated for the
Yocto Project release.

This fixes the issue by patching the conf.py of impacted releases.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 22:03:37 +00:00
Quentin Schulz
62e38ffaab scripts: run-docs-build: simplify patching logic
There's no need to keep a list of tags requiring to be patched since the
tag is part of the path where patches are stored.

Therefore, let's only check if there's a patch directory for a given tag
and if so, apply all patches in there.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 22:03:37 +00:00
Richard Purdie
c0a7cac39a oe-build-perf-report-email: Drop phantomjs email generation support
This approach didn't work reliably so switch to text based emails
pointing at the website version with graphs and data.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 17:22:03 +00:00
Richard Purdie
c77f588773 scripts/build-perf-test-wrapper: Update to only send text based emails
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 17:18:38 +00:00
Alexander Kanavin
f8bd083c07 auh-config: update smtp server to localhost
Current setup only allows sending mail via localhost on alma workers.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-03 09:24:49 +00:00
Michael Halstead
ca8e95276d scripts: run-docs-build: patch releases with incorrect current version
Add patch for version 3.3.5 and move patches into a dedicated
subdirectrory to keep the scripts directory tidy.

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
2022-03-02 22:39:04 -08:00
Alexander Kanavin
3fc79b78f2 auh-config: correct LICENSE_FLAGS variable
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-01 11:22:29 +00:00
Richard Purdie
1ae547a4c8 config.json/run-docs-build: Update to new /srv path
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-24 11:13:19 +00:00
Michael Halstead
c84864eda9 scripts: run-docs-build: patch releases with incorrect current version
When current_version and all_versions are not updated before the release
build the tag will not build working docs. Make docs builds pull in
needed updates after the fact.

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
2022-02-23 17:15:09 -08:00
Quentin Schulz
931d409b25 scripts: run-docs-build: do not turn sphinx warnings into errors
Default flags for sphinx-build contain -W which turns warnings into
errors. This is really helpful during debugging and could be used for
continuous integration though we do not have such a thing separate from
the continuous delivery in place currently. Nowadays, the docs files
served at docs.yoctoproject.com are actually removed before being
updated from the newly built docs. If the `html` target, a dependency of
`publish` target is failing, the docs aren't copied over to the `final`
temporary directory. Therefore it'll be missing in the rsync upload to
docs.yoctoproject.org.

Instead, let's disable the turning of warnings into errors so that the
`html` make target can finish successfully and the `publish` make target
to finish successfully too.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-23 16:23:35 +00:00
Quentin Schulz
6a4e6ef18d scripts: run-docs-build: make the script fail hard ASAP when there's an error
There are some intermittent issues with the script not publishing all
versions. So let's go extreme and fail the script if any error happens:
 - a command returns a non-zero code, even if piped,
 - a variable is used uninitialized,

This also makes the script print each and every command being run so we
have a better idea where the script struggles.

Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-23 16:23:35 +00:00
Richard Purdie
4fe90b7ae0 scripts/run-docs-build: Add comments so we can tell where warnings are from
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-22 22:31:00 +00:00
Michael Opdenacker
ce75f076e8 run-docs-build: fix checkout of releases.rst from master
A wrong path was given given the working directory.

Also revert the changes with "git reset --hard" to
have a clean state before further branch switches.

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-25 16:54:39 +00:00
Richard Purdie
aa378bfa84 prepare-shared-repos: Fix none published builds after disabling limited depth
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-24 18:05:23 +00:00
Richard Purdie
1e0b8d9936 prepare-shared-repos: Disable shallow clone speedup as it breaks release builds
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-21 17:19:47 +00:00
Ross Burton
fa3cf565d6 Add qemuarm64-alt to the build matrix
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-12 18:25:49 +00:00
Alexander Kanavin
5b2651e502 run-auh: do not clean up build directory
This is done regularly by the overall AB maintenance tooling, and erasing
build artifacts makes it difficult to find out what went wrong
when it does.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-12 23:00:20 +00:00
Richard Purdie
68b4b7090d prepare-shared-repos: Use full depth for release builds
Without this we'd see failures in the perf builds since it would be able to track
history correctly for commit counts.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-12 11:54:37 +00:00
Michael Opdenacker
86d7ed6fe9 scripts/run-docs-build: make all versions list releases known to master
This allows all versions of Bitbake and Yocto Project manuals
to see the manuals for the latest versions.

This also simplifies the release process, not having to update the
releases.rst file for all releases every time a new release is made.

Note that such synchronization is already done for the
switchers.js file (but in a different way). This way, advertised
releases are in sync with switchers.js.

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-08 22:00:05 +00:00
Ross Burton
e13059fe73 publish-artefacts: publish meta-arm/generic-arm64 binaries
Publish the generic-arm64 binaries in a dedicated meta-arm/ directory so
it is clear this isn't from the core layers.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-25 15:23:37 +00:00
Michael Opdenacker
13457b72f4 scripts/run-docs-build: add comments
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-24 21:14:21 +00:00
Richard Purdie
e420545f62 utils: Limit fetch optimisation to master for now
The depth code doesn't work if the branch doesn't exist in the main repo
mirror and only the remote.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-01 14:15:54 +00:00
Richard Purdie
aff49e938e shared-repos: Use tar instead of rsync for speed
The rysnc of 20,000 files (650MB) onto the nas is slow taking ~3 minutes
at idle and worse at load. This is due to the number of files which
is a pain point for NFS. This piece of the build is also a bottleneck
since the rest of a build depends on it happening.

If we switch to zstd compressed tar, it takes 2.49s. Other compression
methods were much slower but zstd seems 'accptable' and speeds things
up too.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-31 17:37:34 +00:00
Richard Purdie
5dc0559cc8 prepare-shared-repo/utils: Limit HEAD clones to shallow depth to save time/space
By not syncing all the history is is possible to save some time/space
in the checkout process since we never use this data. This reduces data
from 650MB to 400MB or with the tarball, 416MB to 55MB.

The logic for the commands needs to be tweaked to handle this and as
written it can't work in non-HEAD revision case but that isn't a commonly
used situation.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-31 13:03:22 +00:00
Richard Purdie
8e996a95a8 prepare-shared-repos: Make it clear when rsync starts in logs
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-30 16:35:29 +01:00
Richard Purdie
298a105758 scripts/prepare-shared-repos: Use tmpfs for speed
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-30 15:03:38 +01:00
Quentin Schulz
2b05713022 scripts: run-docs-build: patch yocto-3.3 and 3.4 releases
Both releases are missing an important patch that changes the displayed
version from dev to the appropriate release number.

This is confusing to the user and probably breaks some assumptions in
some scripts.

Ideally, the tags should have been moved with those patches applied to
their respective branch but that is not a git best practice so we're
stuck with this "hack" instead.

3.3.x releases aren't impacted as they got the patch applied.

Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-28 23:48:08 +01:00
Quentin Schulz
ed331e7405 scripts: run-docs-build: build latest BB and YP releases
honister and 1.52 Bitbake branch were recently released, so let's build
those too.

Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-28 23:48:08 +01:00
Michael Halstead
772f4b3e17 auh: update the from address to valid domain
The auh.yoctoproject.org domain is no longer used and cannot be
validated.

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-25 19:47:31 +01:00
Alexander Kanavin
9928e6ebe8 scripts/collect-results: publish everything in tmp/log/oeqa/
In addition to the testresult json, testimage class now also
provides the testimage task log and qemu console output log
which can be useful for debugging test failures or
even checking qemu test runs when failures did not happen.

Rather than duplicate specific file/folder names, let's copy all
that is available, and define what is published in the testimage
class itself (with appropriate folder structure if/when needed).
At the moment there's just three files, and they are copied into
folders named after image names, so there's no clutter or risk
of mixing them up with unrelated logs.

[YOCTO #14518]

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-14 22:23:15 +01:00
Alexander Kanavin
d544e8ddfb auh-config: adjust to new override syntax
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-16 10:34:38 +01:00
Alexander Kanavin
86e23dff9b auh-config: enable systemd only for glibc
It is not guaranteed to build or work otherwise, and causes
update failures in unrelated recipes when building for musl for instance.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-16 10:34:38 +01:00
Richard Purdie
6301960da7 scripts/setup-config: Update to use new overrides syntax
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-30 23:34:30 +01:00
sakib.sajal@windriver.com
0194623371 scripts/generate-testresult-index.py: update index to list host data
Host data is collected on failure by default. List the collected files
in the index.

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-12 22:36:20 +01:00
sakib.sajal@windriver.com
681b5a6f92 summarize_top_output.py: summarize data logged on failure
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-12 22:36:20 +01:00
sakib.sajal@windriver.com
3ba08a6c45 collect-results: collect all host_stats files
data collection on failure is enabled by default.
Collect all host stats files created.

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-12 22:36:20 +01:00
sakib.sajal@windriver.com
bbe9741d01 summarize_top_output.py: add script, use it and publish summary
summarize_top_output.py is used to summarize the top
output that is captured during autobuilder intermittent
failures.

Use the script to summarize the host top output and
publish the summary that is created instead of
the raw logfile.

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-24 14:24:54 +01:00
Nicolas Dechesne
a731359179 scripts/run-docs-build: add 'current' link when deploying docs
Make sure that https://docs.yoctoproject.org/current will always link
to the most recent release documentation.

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-25 17:23:04 +01:00
Yi Fan Yu
0d938352d7 scripts/utils.py: Add reporting for yocto-check-layer
The default behavior is to look for a bitbake command,
which fails and produces a confusing output of [-1:].

[YOCTO #14208]

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-25 17:02:28 +01:00
sakib.sajal@windriver.com
041ccae3d3 generate-testresult-index.py: publish host data collected by collect-data template
Add a column "Host Data" to publish the host data collected.

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 14:54:02 +01:00
sakib.sajal@windriver.com
7593f93869 collect-results: collect "host_stats" files generated by collect-data template
collect-data template generates host_stats files which are collected.
All files are published, file names are determined by the contents:
    - Files that contain "top" output are named host_stats_<number>_top.txt
    - host_stats_<number>.txt otherwise

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 14:54:02 +01:00
Michael Halstead
89fd213eb4 run-docs-build: build from tags dynamically instead of static list
Build Sphinx docs for all versions newer than yocto-3.1.5 inclusive.
Integrate suggestions from Quentin Schulz and Nicolas Dechesne.

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-13 15:13:42 +01:00
Michael Halstead
8b8528f565 run-docs-build: add 3.2.3 release to docs build
Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Reviewed-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
2021-04-06 11:30:20 -07:00
Nicolas Dechesne
35fcb5fa67 scripts/run-docs-build: build hardknott docs
The branches exist now, let's publish the corresponding docs.

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-06 09:24:56 +01:00
Nicolas Dechesne
f2816b929f scripts/run-docs-build: publish docs for 3.1.6 and 3.2.2
Fixes: #14308

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-25 21:28:08 +00:00
Nicolas Dechesne
1c44c0e0fd scripts/run-docs-build: add for loop when publishing tags/branches
Use for loop to avoid repeating the same pattern over and over.

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-25 21:28:08 +00:00
Michael Halstead
f8c2faaf20 send-qa-email: Save the QA email in case it doesn't reach the mailing lists.
Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-23 10:24:01 +00:00
Richard Purdie
c21732937c scripts/run-config: Disable output buffering
Line buffering (bufsize=1) is unavailable with binary mode so use unbuffered
mode instead. This fixes python runtime warnings.

[YOCTO #14093]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-31 11:21:47 +00:00
Richard Purdie
241ae71c18 scripts/run-docs-build: Generate 3.2 docs as well
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-22 22:31:55 +00:00
Richard Purdie
9a34cc8120 scripts/run-docs-build: Generate 3.1.5 and 3.2.1 docs (at least for now)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-22 22:24:00 +00:00
Nicolas Dechesne
698743bdd6 run-docs-build: delete files on the server when publishing
run-docs-build rebuilds the entire doc website, so when we rsync the
output, we need to delete files no longer needed, this is especially
important when we move/rename pages, to avoid stale content.

Using rsync with "wildcards" was a problem in case a file/folder is
removed in the output dir, it won't be deleted.

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-22 22:09:26 +00:00
Richard Purdie
56db25b673 run-docs-build: Enable sphinx docs for dunfell
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-04 10:57:59 +00:00
Richard Purdie
bceb63fb79 config.json/run-config: Add support for shortnames and descriptions
Learn from the previous experiments and add meaninful shortnames and
descriptions to work around the 50 char name limit.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 23:32:26 +00:00
Richard Purdie
6e2825564c scripts/shared-repo-unpack: Add flush call to update the output more regularly before buildtools
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 23:32:26 +00:00
Richard Purdie
2bb4804243 scripts/run-config: Remove redundant boilerplate json
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 23:32:26 +00:00
Richard Purdie
ce63e8f024 config.json/run-config: Add human readable descriptions of steps
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 23:32:26 +00:00
Richard Purdie
b1bc4d64c2 scripts/run-config: Ensure logging to both logfile and stdout
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 23:32:26 +00:00
Richard Purdie
4a4c888f66 scripts/run-config: Improve logfile naming
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 23:32:26 +00:00
Richard Purdie
23d65680f8 run-config: Adapt to two pass execution
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 23:32:26 +00:00
Richard Purdie
e183db413f scripts/run-config: If target is present default to 1 step
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 23:32:20 +00:00
Richard Purdie
afb6c5a887 scripts/run-config: Ensure stepnum has a value when there are no steps
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 23:24:22 +00:00
Richard Purdie
d9c77dd000 scripts: Add target present check script
Add a script which from the exit code determines if a build target is present
in the configuration. The autobuilder can use this to determine whether to
execute the target at all or whether to skip it.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 17:28:51 +00:00
Richard Purdie
290e1bc2ee scripts/run-config: Don't execute steps that don't exist!
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 17:27:15 +00:00
Alexander Kanavin
2c3f66ba37 auh-config: add non-default distro features
This adds systemd and pam related recipes to upstream checks and devtool-driven updates.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-17 21:56:47 +00:00
Richard Purdie
354b43fece scripts/run-docs-build: Further improve docs rsync flags
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-09 17:18:35 +00:00
Richard Purdie
b8c8ddac4a scripts/run-docs-build: Drop time rsync flag as we don't need that
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-09 16:55:42 +00:00
Richard Purdie
7958928739 scripts/run-docs-build: Improve docs rsync flags
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-09 16:26:14 +00:00
Richard Purdie
078d72fe0e scripts/run-docs-build: Fix typo in previous commit
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-09 16:03:12 +00:00
Richard Purdie
14d98490e9 scripts/run-docs-build: make target change needs different artefact copying
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-09 15:03:42 +00:00
Richard Purdie
c5860c6ef2 scripts/run-docs-build: Enable docs builds, remove dry run option to rsync
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-09 10:51:48 +00:00
Richard Purdie
2f423c5a07 scripts/run-docs-build: Use an archive copy of the docbook archives for efficiency
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-09 10:51:02 +00:00
Richard Purdie
761c27ad68 scripts/run-docs-build: Use make publissh target instead of html
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-09 10:48:01 +00:00
Richard Purdie
19b288977b scripts/run-docs-build: Ensure potentially stale _build is cleaned before build
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-06 15:05:26 +00:00
Richard Purdie
fba3c36389 scripts/run-docs-build: Publish gatesgarth to the correct location
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-06 15:04:23 +00:00
Richard Purdie
5d64a5d569 scripts/run-docs-build: Ensure switchers update affects gatesgarth too
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-06 15:04:03 +00:00
Richard Purdie
8288b27ac2 scripts/run-docs-build: Fix rsync paths and drop continue mode for wget
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-06 14:28:56 +00:00
Richard Purdie
f4a7a7a644 scripts/run-docs-build: First pass at building the various documentation branches
The script is suboptimal in many ways but is a start and gives us something to test
and improve upon.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-06 14:08:08 +00:00
Richard Purdie
590b045b34 scripts: Add run-docs-build as a wrapper around documentation building
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-05 12:59:27 +00:00
Richard Purdie
4b8eab92ee scripts/generate-testresult-index.py: Use bulma css to improve the look of the index
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-21 21:42:32 +01:00
Richard Purdie
ab485e89bd scripts/generate-testresult-index: Reorder buildhistory to improve display
Also, use the artefacts directory in the main link, not direct to testresults.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-21 21:08:25 +01:00
Richard Purdie
9f50544d00 scripts/generate-testresult-index: Improve index to list test reports, ptest and buildperf separately
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-21 21:00:20 +01:00
Richard Purdie
098de71cbd scripts/generate-testresult-index.py: Ensure we're not always rerunning resulttool
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-21 19:30:41 +01:00
Richard Purdie
83c2052781 scripts/generate-testresult-index: Ensure backwards compatibility with older layout
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-21 19:23:49 +01:00
Richard Purdie
6d6c45cbda scripts/generate-testresult-index: Update after 'posttrigger' renaming broke the index generation
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-21 19:17:58 +01:00
Richard Purdie
3634672674 scripts/send-qa-email: Fix buildtools handling
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-24 12:27:58 +01:00
Richard Purdie
eb295f62f1 utils: Teach buildtools script handling about unset
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-23 08:53:19 +01:00
Alexander Kanavin
0f8534c747 auh: correct the SMTP server in config file
Michael Halstead has confirmed this.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 12:31:52 +01:00
Richard Purdie
e47a9a26f5 scripts/send-qa-email,utils: Use buildtools if present
resulttool has python version requirements so use buildtools if present.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 07:44:46 +01:00
Richard Purdie
838be1a00c scripts: Add runqemu-renice.c for renicing runqemu
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-05 14:59:14 +01:00
Michael Halstead
01c16fa772 scripts/send-qa-email: Update to dedicated push capable domain
Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-01 18:14:31 +01:00
Richard Purdie
a677305551 scripts/utils: Ensuring new logging is flushed from buffers
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-24 18:31:10 +01:00
Richard Purdie
f3892fac1e scripts/utils: Add more logging for fetchgitrepo
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-24 18:27:56 +01:00
Quentin Schulz
7571e44fc1 scripts: run-auh: update upgrade-helper name
Since https://lists.yoctoproject.org/g/yocto/message/50282 was merged in
autoupgrade-helper git repo, the python script isn't called
upgradehelper.py anymore but upgrade-helper.py for consistency sake.

Let's update the run-auh script so that it's still working.

Signed-off-by: Quentin Schulz <foss@0leil.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-17 11:38:32 +01:00
Richard Purdie
4c9358ac78 scripts/utils: Ensure buildtools tarball hash matches any supplied value
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-14 22:42:25 +01:00
Alexander Kanavin
d88728431a auh-config: send AUH update emails to oe-core list as well
Sadly, many maintainers do not act on AUH mails in a timely manner
(or do not act at all). Sending these emails to oe-core list as well
will allow other people to pick them up, and ease up the path
to doing recipe version maintenance.

Also, recently the amount of outdate recipes has been greatly reduced,
so there should not be too many of those emails each month.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-30 17:33:41 +01:00
Vineela
3aefa5a763 scripts/utils.py: Convert md5sum to sha256sum for layer tarballs
Signed-off-by: Vineela Tummalapalli <vineela.tummalapalli@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-26 21:33:42 +01:00
Richard Purdie
eb86b7fd11 send-qa-email: Fix stable branch test result history issues
On stable release branch builds, it will clone "master" since comparebranch
is None. It will then fail to push since there is already a dunfell
branch upstream with changes on which it needs to rebase on top of.
The change to use shallow clones significantly increases this problem.

To fix this, fall back to cloning basebranch by name, then master
if it doesn't exist.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-09 16:51:23 +01:00
Tummalapalli, Vineela
835ac325a4 publish-artefacts: Improve sha256 checksum handling
The existing checksum files were encoding full paths. This patch changes
this to use just the filename which allows relocation of the directories
and is more appropriate for sharing over http.

Signed-off-by: Vineela Tummalapalli <vineela.tummalapalli@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-27 07:55:06 +01:00
Alexander Kanavin
cfa62a586a scripts: add a pair of scripts to set up and run Auto Upgrade Helper
This allows automating its setup and execution on all autobuilder worker machines;
previously there was a static setup on a dedicated machine, which wasn't
great from maintenance perspective.

To use:

scripts/setup-auh target_dir
scripts/run-auh target_dir

(run-auh can be run several times in a directory that
was previously set up)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-17 16:57:25 +01:00
Richard Purdie
80c53d03ea scripts/publish-artefacts: Convert md5sum to sha256sum
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-05 13:29:01 +01:00
Richard Purdie
033ae6ffbd scripts/run-config: Share buildtools setup code with shared-repo-unpack
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-27 19:05:11 +01:00
Richard Purdie
0a7bf5191e scripts/shared-repo-unpack: Accept workername parameter
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-27 17:09:03 +01:00
Richard Purdie
aa81bd61c5 scripts/run-config: Add extra debug about buildtools to show when active
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-27 17:07:28 +01:00
Steve Sakoman
00df7cbc02 scripts/send-qa-email: fix bug in git push logic for yocto-testresults
We were mistakenly doing a force push if the branch was in either
BUILD_HISTORY_FORKPUSH or BUILD_HISTORY_DIRECTPUSH.

Now we force push for branches in BUILD_HISTORY_FORKPUSH, regular push
for branches in BUILD_HISTORY_DIRECTPUSH, and no push if the branch is
in neither list.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-23 14:43:36 +01:00
Steve Sakoman
e79f6ddafd scripts/utils.py: Fix confusing naming of getcomparisonbranch() return value
This code was copy/pasted but in this case the variables should
be called "compare", not base.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-23 14:42:38 +01:00
Richard Purdie
a1ea9f6e60 scripts/run-config: Resolve path early for buildtools
The buildtools path contains "../" which may not resolve correctly by the
shell if the final directory doesn't exist. Avoid this by using abspath()
on the expression straightaway.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-07 08:33:51 +01:00
Richard Purdie
a9f4f21ee9 run-config: Fix lockfile loop handling
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 18:13:42 +00:00
Richard Purdie
531cdb168e scripts/run-config: Fix BB_LOGFILE missing /
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 12:44:49 +00:00
Richard Purdie
c41c1d0c74 scripts/run-config: Ensure racing for the lockfile doesn't traceback
Traceback (most recent call last):
  File "yocto-autobuilder-helper/scripts/run-config", line 116, in <module>
    fcntl.flock(fileno, fcntl.LOCK_EX)
OSError: [Errno 22] Invalid argument

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 12:41:32 +00:00
Richard Purdie
1622cb7b09 scripts/run-config: Add support for local filesystem buildtools urls
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 11:58:13 +00:00
Richard Purdie
0902ededff scripts/run-config: Handle quoting issues in buildtools environment files
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 11:58:05 +00:00
Richard Purdie
8e7a052f07 scripts/run-config: Handle multiple builds racing with lockfile for buildtools
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 11:57:55 +00:00
Richard Purdie
37955b4b8d send-qa-email: Limit results clone to shallow depth to avoid timeouts
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-10 22:22:36 +00:00
Richard Purdie
91bd587bf3 scripts/run-config: Set BB_LOGCONFIG on autobuilder
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-09 22:43:49 +00:00
Richard Purdie
d4a9248fd0 scripts/run-config: Fix buildtools path
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 10:02:20 +00:00
Richard Purdie
fbdaa169c3 run-config: Add support for wrapping builds in a buildtools tarball
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 15:51:42 +00:00
Richard Purdie
17386f43c2 run-config: Add workername parameter
Allow the workername to be passed into the script. This is to allow future
buildtools tarball support based upon the worker.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 14:37:38 +00:00
Richard Purdie
ee6fc35569 build-perf/send-qa-email: Fallback to master as a comparision branch
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-01 17:44:34 +00:00
Richard Purdie
89633facc4 run-config: Preface log output with auto.conf settings to aid debugging
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 16:47:09 +00:00
Richard Purdie
1b78039d41 scripts/send-qa-email: Allow force pushing of basebranch based comparisions
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 15:25:42 +00:00