aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2023-12-17scripts: send_qa_email: properly compute previous tag for new major release tagAlexis Lothoré
send_qa_email currently fails when dealing with release version starting a new major, for example 5.0. This has been observed for example when trying to generate 5.0_M1.rc1 This specific versioning makes previous tag computation method fall through last branch which currently expects that the current release tag indeed exists (5.0_M1), which is true when checking regression reports a posteriori, but not in an autobuilder run (tag is added only when the release has been "validated") Fix tag computation for this case by getting previous release tag with git ls-remote, instead of relying on git describe with a possibly non-existing tag. While doing so, add a few tests about this specific case. Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-17scripts: send_qa_email: allow testing against non fixed tagsAlexis Lothoré
send_qa_email currently deals with tags in a "reproducible" way: despite new versions being released on different branches, the computation of the "reference" version for a specific input version always remain the same. This behavior does not match perfectly real expectations: if at the some point we get version 4.3.1 as a comparison reference for a regression report, and 4.3.2 is released some time later, we want the next comparision to be done against 4.3.2. Start introducing this new behavior by allowing the tests to check returned version against regex patterns instead of static strings, so we can for example use wildcards on the "micro" version Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-17scripts: send_qa_email: slightly rework previous tag testAlexis Lothoré
Use intermediate variables for test input/output, and print expected output in subtest to get more info when a test fails Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-17config.json: Add rpm builds to pkgman-non-rpmRichard Purdie
The CDN tests fail since do_package is run without rpm's being generated. With hash equivalence, this can lead to missing sstate artefacts from the CDN. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-09scripts/run-toaster-tests: Ensure hashserve is passed to toasterRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-08script/run-toaster-test : Added new global variables needed to run test in ↵Marlon Rodriguez Garcia
toaster build folder Update run-toaster-test to include BUILDDIR and TOASTER_TEST_USE_SSTATE_MIRROR which will be use in the build test in toaster Signed-off-by: Marlon Rodriguez Garcia <marlon.rodriguez-garcia@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-06scripts/run-toaster-tests.py: run via pytest and fix environment setupAlexander Lussier-Cullen
Strip quotes from directory variables as they caused path errors. Add environment variable for the toaster artifact directory. Migrate from tox and django tools to using pytest. Install python module requirements from the script as this is no longer handled by tox. Signed-off-by: Alexander Lussier-Cullen <alexander.lussier-cullen@savoirfairelinux.com> CC: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-06config.json: Update buildtools to 4.3 release tarballsRichard Purdie
The older buildtools has a bug that zoneinfo is missing. Update to a newer release version to fix this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-29scripts/sstate-clean: run by cron on the autobuilderMichael Halstead
Publish what cleans up the public SSTATE to help with debugging. Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
2023-11-23scripts/run-toaster-tests.py: Add environment variablesAlexander Lussier-Cullen
Pass the toaster test environment SSTATE_DIR and DL_DIR for faster builds and TOASTER_DJANGO_TMPDIR to remove problematic temp files from the root level '/tmp' directory. Signed-off-by: Alexander Lussier-Cullen <alexander.lussier-cullen@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-20scripts: basic clean up of releases/layer parserMichael Halstead
Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
2023-11-17scripts: releases parser handle version sorting correctlyMichael Halstead
Sort versions as if we used semantic versioning. Include updates for the 4.3 release as well. Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
2023-11-16config.json: reproducible-meta-oe: Add missing USERADD_UID/GID_TABLESYoann Congal
Some USERADD_UID/GID_TABLES were missing for lower layers which caused some recipes to be not buildable because of skipped recipes (e.g. xfmpc, python3-ldap) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-15config.json: reproducible-meta-oe: add meta-webserver static GIDsYoann Congal
This is needed to fix a reproducibility error in netdata. Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-15patchtest: add selftest runnerTrevor Gamblin
Add a runner that installs the patchtest dependencies in a Python venv and then starts patchtest's selftests. Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-15Add toaster test builderAlexander Lussier-Cullen
Add a toaster test builder that runs the tox test suite using a new run-toaster-tests script. Signed-off-by: Alexander Lussier-Cullen <alexander.lussier-cullen@savoirfairelinux.com> CC: richard.purdie@linuxfoundation.org Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-15config.json: reproducible-meta-oe: exclude known repro failsYoann Congal
Use the new OEQA_REPRODUCIBLE_EXCLUDED_PACKAGES to not trigger a test failure on the known not-reproducible packages from meta-openembedded. Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-07config.json: add qemu-lite builder for qemuarmv5Ross Burton
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-03scripts: prepare data for display on www.yoctoproject.orgMichael Halstead
These produce the files at https://docs.yoctoproject.org/parsed-layers.json and https://docs.yoctoproject.org/releases.json. Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
2023-11-03scripts/run-patchmetrics: pull before updating metricsRoss Burton
Do another git-pull in the metrics repository before updating the metrics, in case other metrics jobs running in parallel have updated the repositories since they were cloned. There will always be possibility of racing metrics jobs, but this should reduce the chance of it happening. An alternative would be to commit and then rebase before pushing, but I fear that a git-merge could produce invalid JSON and we'd have to manually fix up the repository. In my opinion, a wasted metrics run is preferable to potentially corrupted repositories. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-03scripts/run-cvecheck: pull before updating metricsRoss Burton
Do another git-pull in the metrics repository before updating the metrics, in case other metrics jobs running in parallel have updated the repositories since they were cloned. There will always be possibility of racing metrics jobs, but this should reduce the chance of it happening. An alternative would be to commit and then rebase before pushing, but I fear that a git-merge could produce invalid JSON and we'd have to manually fix up the repository. In my opinion, a wasted metrics run is preferable to potentially corrupted repositories. [RP: Moved to after the bitbke invocation] Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-03config.json: Fix upgrade helper conf pathRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-03auh-meta-oe: Send to the openembedded-devel mailing list, not coreRichard Purdie
To do that we need a separate config file. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-03config.json: Extend AUH to meta-openembedded layersYoann Congal
Add each a new builder "auh-meta-oe" and one step by meta-openembedded layers. Co-authored-by: David Pierret <david.pierret@smile.fr> Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-03config.json: Move AUH from custom scripts to config.jsonYoann Congal
setup-auh and run-auh were doing what the AB config.json does: * creating repo checkouts: Now use NEEDREPOS * configuring bitbake env: Now use extravars This refactoring is needed to prepare adding AUH meta-oe support. Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-03config.json: Add auto-upgrade-helper repo definitionRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-31config.json: add meta-oe to the metrics targetRoss Burton
This writes the metrics to a new yocto-metrics-meta-oe repository, and write the results to patchmetrics-meta-oe. There's a great/ugly (delete to taste) hack to hide CVEs from oe-core, so this only lists issues in meta-oe. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-31Rewrite metrics-gathering scriptsRoss Burton
Rewrite the scripts that gather the metrics to be more generic. Extract the metrics repository cloning out so that we don't have to repeatedly clone it. Make the scripts parse their arguments using getopt and be more specific about what they're passed. In particular, this means that for the patch review run we pass the _repository_ that we're scanning so we can do git operations on it, and the base of the _layers_ (either a layer, or a directory containing layers) so we know what to scan. Be more clever when identifying what commits we need to analyse for patch review: instead of iterating through a set randomly, we can keep the revision list sorted and the checkout operations are a lot faster. Remove the commit/file count metric addition as patchreview itself does that now. Add an explicit --push option so it's easy to test the scripts in isolation without pushing. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-29scripts: add list-yp-compatible-layers.pyTim Orling
This is a handy helper script to query the Buildbot REST API to create a list of Yocto Project Compatible 2.0 layers, as defined by successful running of the "check-layers*" jobs. The script only considers the 'jobs' ("Builders" in Buildbot speak) you ask it to query. The script looks at the latest -n successful builds for a branch that matches from a list. The number of builds approach was used because the property_list cannot be queried for "branch" in the "builders" API. It looks for a "step" name pattern via a regex, with which all currently running "check-layer" and "check-layer-nightly" jobs conform. Once a branch has successfully been queried, it is removed from the list in further iterations. The intent is to only find the latest passing list of compatible layers, for each branch. The output is a yp_compatible_layers.json file which can be pretty printed with: cat yp_compatible_layers.json | jq Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-27config.json: use '-S lockedsigs' to generate the locked signatures fileAlexander Kanavin
This is now done with a dedicated switch, where previously the file was always written out, creating often unneeded clutter. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-27config.json: add a standalone builder for running yocto mirror testsAlexander Kanavin
Those tests are currently run as the last step in a-full/a-quick, but it's useful to also trigger them separately, after perhaps executing other builders that populate the mirrors (such as qemux86-64 and such). Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-26config.json: patchtest fix auto layer handlingRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-26config.json: meta-patchtest needs meta-oeRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-26config.json: meta-patchtest needs meta-pythonRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-26config.json: Add patchtest buildRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-26config.json: pipewire is no longer a dependency of agl-coreRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-24SECURITY.md: Add fileRichard Purdie
Add a SECURITY.md file with hints for security researchers and other parties who might report potential security vulnerabilities. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-24config.json: Make meta-oe source mirror config wider coverageRichard Purdie
Some recipes depend on DISTRO_FEATURES, commercial licensing or compiler config like fortran. Set these things so that we get wider soruce mirror coverage and fewer warnings. 'commercial' license usage is ok here since we're not building and then shipping any binaries or using it, only mirroring the source code. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-23scripts/run-cvecheck: Remove branch iterationRichard Purdie
Rather than running multiple checkouts, lets move this to the autobuilder to handle and have it trigger the builds with the right checkouts. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-23scripts/run-patchmetrics: Only monitor master branchRichard Purdie
We only monitor the master branch for patch metrics as we can't really make improvements to release branches. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-23metrics: Pass branchname to scriptsRichard Purdie
To prepapre to run the scripts per branch, pass the branchname to the scripts. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-23scripts/run-patchmetrics: Split out CVE checksRichard Purdie
Split the CVE checks from the patch metrics script Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-23scripts/run-patchmetrics: Only clone metrics if it isn't presentRichard Purdie
To prepare for splitting things up, only clone the metrics repo if it isn't present. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-21config.json: Fix check-layer for meta-poky/meta-yocto-bspRichard Purdie
Currently, the tests for meta-poky and meta-yocto-bsp were malfunctioning. We need to a) set a distro other than poky and b) avoid the isolation wrapper since it will use the default environment and reset to the poky distro and default bblayers.conf which will disable the layer test. With those two fixes, the layer checks work correctly. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-20config.json: Add very basic testimage for poky-tinyRoss Burton
Now that the _qemutiny test case actually works, we can ensure that all of the tested poky-tiny machines actually at least boot. This is a very low bar, but it's better than nothing. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-20config.json: use yocto-mirrors tag to exclude/include yocto source mirror testAlexander Kanavin
This way explicitly listing the test can be avoided, especially when more tests of the same kind will be added (such as te CDN sstate cache mirror test). Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-19meta-oe-mirror: Use a 2 step job to fetch and verify meta-openembedded mirror.David Pierret
Inspired from trigger-build and trigger-build-post-trigger The branch must be selected on build configuration. 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-10-18config.json: add a workaround for the "autobuilderlog.json" errorYoann Congal
For the reproducible-meta-oe builder, workaround the bug #15241 [1], by passing BB_LOGCONFIG through "readlink -f" to avoid relative reference to the main build dir. Also, switch from BBPATH to BUILDDIR to reference the main build dir. [1]: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15241 Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-14config.json : Fix repro-meta-oe layer dependencyFabien Thomas
Fix meta-filesystem build issue due to hidden dependencies (not set by LAYERDEPENDS) smbnetfs(meta-filesystem) depends on samba(meta-networking) that depends on python3-dnspython (meta-python) Create new build-st dir for each layer to avoid chain of failure between steps Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr> Reviewed-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-10config.json : reproducible-meta-oe build fixesFabien Thomas
- Distro has been changed to Poky so exclude Poky's layers from world to limit reproducibility tests to the targeted layer only. - Execution on autobuilder shows that addlayer steps often fail : reorder layer in ADDLAYER list regarding their dependencies. - Fix shortid building issues by setting USERADD_U(G)ID_TABLES to passwd and group files. These files must exist in meta-openmbedded. - Shorten the steps shortnames to improve readability on UI. - Add a directory level for output reports, for convenience. [RP: Tweak shortnames and fix parsing issues] Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr> Reviewed-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>