Commit Graph

342 Commits

Author SHA1 Message Date
Richard Purdie
1c680137ac layer-config: Allow layer add to be disabled on a per target basis
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-09 10:52:34 +00:00
Ross Burton
c915e6843c run-config: log the contents of bblayers.conf after edits
This is useful when using large sets of layers to
verify that the right layers have been added in
the right order.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2024-05-09 10:52:34 +00:00
Ross Burton
6d08b02c61 run-config: generalise auto.conf logging and only show when changed
Extract the logging of auto.conf to a new log_file_contents() function,
and instead of calling it before _every_ call of bitbake, only show it when
actually writing the auto.conf.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2024-05-09 10:52:34 +00:00
hulkoba
6b55a77289 generate-chartdata: do not create lastyear json files
the two html files, index.html and index-full.html,
got merged so we only need the json file with the complete set of data.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-02 11:38:59 +01:00
Ninette Adhikari
34edaea7f6 cve-report: Reformat txt recipe list per branch
Yocto gathers the amount of CVEs per branch at the top of their metrics view.
However, the presentation of this information is not descriptive enough and it’s spread across several files.
This change adds collapsible, nested lists to show all cve information.

Show current CVE count per release,
parse txt files with CVE lists to group them by project and display their total CVE count.
Inline this data on the matrics-page in details elements so there’s no need to navigate away.

The current output includes the count of cve's and the cve-urls. No data is lost here, it looks like:

CVE counts by recipes:

linux-yocto: 134
  https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-1999-0524
  https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-1999-0656
  ...

bluez5: 2
  https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2022-3563
  https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2022-3637
...

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-02 11:35:21 +01:00
Richard Purdie
9131fbeab5 cve-report: Add summary counts of CVEs by recipe
It is often helpful to know how many CVEs are open against a given recipe.
Add a summary table of this to the end of the CVE listing.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-01-24 10:24:15 +00:00
Ross Burton
a83ff958b3 scripts/run-cvecheck: pull before updating metrics
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-03 15:06:58 +00:00
Richard Purdie
2aad3d2c6d config.json/scripts: Update to handle CVE checks for meta-oe
Backport the recent CVE script changes from the master branch and add in cvelayer.bbclass
as a way to exclude specific paths from the CVE check. Master can use the layer overrides
to do this but these are not present on kirkstone.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-03 12:55:39 +00:00
Richard Purdie
4192a5b7c9 metrics: Pull updates from master branch to run per-branch CVE testing
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-23 17:25:01 +01:00
Richard Purdie
8746dd1277 scripts/send-qa-email: Add URL of build to QA email
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-26 12:10:41 +01:00
Alexis Lothoré
f5ebe05330 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-09-26 12:07:37 +01:00
Richard Purdie
ff3d1e1222 scripts/archive_buildstats: Exit early if buildstats isn't present
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-30 16:19:11 +01:00
Aryaman Gupta
3e2469fce2 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-30 16:19: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