1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-06-01 13:10:04 +00:00
Commit Graph

151 Commits

Author SHA1 Message Date
Ross Burton a81c19915b CI: only run pending-updates on master
This job takes a few minutes and isn't useful unless it's being ran for
master, or is being actively worked on.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-05 09:35:03 -05:00
Drew Reed 0e3fc3d87b ci: Add Corstone-1000 to the SystemReady ACS build
Added the Corstone-1000 FVP platform to the ACS test build as well as
adding the arm-systemready-firmware variant to the Corstone-1000 FVP
build.

Signed-off-by: Drew Reed <Drew.Reed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-30 13:00:07 -04:00
Ross Burton 0bc288f0f2 CI: show the evaluated KASFILES
When trying to replicate a build locally, having the exact list of Kas
files that was used is very useful.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-29 17:00:10 -04:00
Ross Burton 0fabb8c3dd CI: sort jobs alphabetically
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-23 14:08:31 -04:00
Ross Burton 10e23fe1df arm: remove generic-arm64 and qemu-generic-arm64
These BSPs are now obsolete.

Users of generic-arm64 should use genericarm64 from meta-yocto-bsp.

Users of qemu-generic-arm64 should use sbsa-ref from meta-arm-bsp.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-23 14:08:19 -04:00
Ross Burton a86f62f144 arm-bsp: add new sbsa-ref machine
This is mostly based on the existing qemu-generic-arm64 machine, but by
not being based on the genericarm64 and instead being specifically a
machine to run on the qemu sbsa-ref machine we get to tune differently.

Specifically, this configures sbsa-ref to be a Neoverse N2 (v9), and the
tune is set to match.  Another notable difference to qemu-generic-arm64
is that the kernel configuration is at present defconfig.  We may wish
to change this in the future to be the same fragmented configuration as
genericarm64.

We have to ignore two testimage parselogs failures: one from NUMA which
will be fixed in a future EDK2 release, and one from efifb where we
should be using the bochsdrm driver instead (further investigation is
needed)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-23 14:07:56 -04:00
Ross Burton 9c6330a0b1 CI: add genericarm64
Add the new genericarm64 in meta-yocto-bsp to the CI.

This new BSP is heavily based on the meta-arm generic-arm64 machine, but
with an all-new fragmented kernel configuration.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-23 14:04:25 -04:00
Gyorgy Szing eeb6441ac6 arm-bsp: enable Trusted Services on the fvp-base platform
Add configuration settings to TF-A, OP-TEE and TS SPs needed to get TS
built and run on the fvp-base machine.

Signed-off-by: Gyorgy Szing <gyorgy.szing@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-23 14:01:59 -04:00
Jon Mason ab4bf2700f CI: update to kas 4.3.2
The new kas version has fixed the netrc issue.  Update to it and remove
the workaround

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-11 10:01:59 -04:00
Jon Mason 0af53c6453 arm-bsp: Remove tc1
Remove tc1 and related recipes that are unique to it (and generally
unused ones).

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-04-11 10:01:59 -04:00
Jon Mason 0aeec5472c CI: reduce coverage of dev kernel
To reduce build and test times in CI, move the dev kernel outside the
standard matrix.  This results in it still being built and tested for
the platform, but only with gcc/glibc (and not against clang and musl).
This greatly reduces the number of permutations that need to be
verified.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-03-21 11:01:14 -04:00
Jon Mason da97414dfb CI: update kas to 4.3.1
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-03-20 10:51:49 -04:00
Drew Reed 1231e54ae8 ci: Add back testing of firmware only builds
Signed-off-by: Drew Reed <Drew.Reed@arm.com>
2024-02-23 11:32:12 +00:00
Ross Burton 60202ad84d CI: allow the runner to set a NVD API key
Setting an API key means we get higher rate limits. Because keys are
private, the key must be set in the environment of the runner.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-01-29 14:00:23 -05:00
Ross Burton 8b94fee205 CI: add explanatory comments to variables
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-01-29 14:00:23 -05:00
Ross Burton 827129b05b CI: support extra kas files from environment
Extend jobs-to-kas so the first argument is still the GitLab job name,
but allow further arguments to specify extra Kas files to use in
addition.

Then add a variable EXTRA_KAS_FILES to the CI configuration that
defaults to the empty string and pass this to jobs-to-kas.

This lets specific pipeline runs add extra Kas files, for example to use
experimental branches or enable extra features without touching the CI
directly.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2024-01-26 12:00:23 -05:00
Debbie Martin aec92016d2 ci: Add Arm SystemReady firmware and IR ACS builds
Add CI builds for Arm SystemReady Firmware within the fvp-base CI job and a new
Arm SystemReady IR ACS build job. Add the CI kas config for each of these
builds.

The ACS build can be controlled by the ACS_TEST GitLab variable to specify
whether or not to run the testimage. If this variable is not set, the
testimage step will not run. The job tag can be controlled by the ACS_TAG GitLab
variable.

Signed-off-by: Debbie Martin <Debbie.Martin@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-12-12 05:00:21 -05:00
Ross Burton ea3171ca8a CI: Add meta-secure-core to pending-upgrades for corstone1000
The corstone1000 machines now need this layer.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-11-06 10:00:28 -05:00
Ross Burton 7309e2683b CI: don't pin corstone1000-fvp to x86-64
Now that there's a FVP for aarch64, we don't need to pin the CI pipeline
to x86-64.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-10-24 10:35:40 -04:00
Drew Reed ba17def14a CI: Enable TF-A TFTF test builds
To allow running the TF-A TFTF tests we need to ensure the images for
N1SDP and Corstone-1000 MPS3 boards build

Signed-off-by: Drew Reed <Drew.Reed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-10-18 11:13:10 -04:00
Ross Burton 19d2d8a484 CI: don't hardcode the selftest tests to run
Just execute all tests with the meta-arm tag, instead of hardcoding the
list of tests.

Also run two tests in parallel as there's no reason to limit it to one.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-10-13 13:01:49 -04:00
Ross Burton 4d76ed4c75 CI: upgrade to Kas 4 container
The Kas binary is identical, but the container has been rebuilt using
Debian 12 (Bookworm).

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-09-29 11:36:18 -04:00
Ross Burton dbad5d9281 CI: use a venv for sphinx
The Kas container in version 4 onwards is based on Debian 12, which
forbids pip from installing files into /usr or ~/.local/.

We want to install the arbitrary dependencies for the documentation
build, so these should be installed in a venv.

The kas container doesn't currently install python3-venv, so we have to
install that manually (patch sent upstream).

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-09-29 11:36:18 -04:00
Divin Raj fd13de4f85 ci,doc,kas,arm-bsp,arm: Remove support for fvp-baser-aemv8r64 machine
The fvp-baser-aemv8r64 machine will not be actively maintained.

Signed-off-by: Divin Raj <divin.raj@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-09-29 10:00:18 -04:00
Peter Hoyes df01b29f3f CI: Make update-repos more resilient to network issues
The update-repos script currently exits immediately if one of the
underlying Git commands fails (e.g. because of a network issue). If the
repo already exists, then catch this error inside the loop and
carrying on attempting to update other repos, as the network error may
be upstream.

KAS_REPO_REF_DIR is ultimately an optimization and subsequent build
stages should be able to continue if one of the updates fail. Therefore,
ensure the script returns a special error code if at least of the Git
commands fail, and use this to set the allow_failure property of the
job.

If a repo does not exist, fail immediately as before.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-09-13 11:00:21 -04:00
Peter Hoyes b6668069b8 CI: Allow a GitHub container registry mirror to be specified
To make the pipeline slightly more resilient to external networking
issues, allow a local container registry mirror to be specified in the
GitLab settings. If not specified, the upstream container registry is
used automatically.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-09-13 11:00:21 -04:00
Anusmita Dutta Mazumder 302cdd0a02 CI: Build custom image for N1SDP optee-xtest
Build a custom N1SDP image with only optee-xtests as part of the image. A fresh custom image build is necessary to include the relevant test suite for running the xtests.

Signed-off-by: Anusmita Dutta Mazumder <anusmita.duttamazumder@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-09-01 13:00:26 -04:00
Jon Mason b8367b72bf arm-bsp/corstone500: removal of support
corstone500 is End-of-life'd (EOL'ed).  Remove support for it from the
tree.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-08-30 15:00:25 -04:00
Ross Burton 271d848f6b CI: generate and use a Kas lock file
In the update-repos job, generate a Kas lock file to pin the SHAs of the
repositories being build during the build. This ensures that commits to
the repositories _during_ the build doesn't cause differing builds. All
of the kas calls use this lock file to ensure that their builds are
identical.

This lockfile is also added to the artifacts, so that it can be reused
afterwards to replicate the build: either as a known good base or to
replicate failures.

This lock file is only generated if it doesn't exist, so that
development branches can temporarily add a lockfile.yml if for example
master is too unstable to develop on.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-07 10:00:06 -04:00
Ross Burton 95e7e59c1a CI: use Kas 3.3
Kas 3.3 has the following new features:

- kas: Introduce commit and branch as alternative to refspec key
- kas: Warn if a repo uses legacy refspec
- kas: add support for lock files via dump plugin
- kas: track root repo dir config files of menu plugin
- kas: add support for --log-level argument
- kas: add GIT_CREDENTIAL_USEHTTPPATH environment variable
- kas: improve error reporting
- kas: drop support for Python 3.5
- kas-container: fix invocations with --isar for some layers
- kas-container: Purge tmp* on clean
- kas-container: enable colored logging

4.0 is basically the same but the Kas container uses Debian 12, which is
not yet supported as a tested platform. Until Debian 12 is tested we
should continue to use 3.3.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-04 06:00:16 -04:00
Ross Burton 782ea3cd16 CI: print the name of the documentation when building
Make it clear what documentation tree is being built.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-21 11:00:11 -04:00
Ross Burton 60abe46474 CI: always put the build logs in an artifact
It's useful to have known good logs when debugging problems, so always
preserve the logs.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-21 11:00:11 -04:00
Ross Burton 980f37d4d3 arm-toolchain/gcc-arm-12.2: remove
This recipe is a rebuild from source of the Arm GCC release, with
patches from oe-core added to make it work well in our environment.

Most people are happy with the GCC in oe-core, and this release is often
behind: at the time of writing oe-core has mainline GCC 13.1, but Arm
GCC is 12.2.  Users who actually want the improvements in Arm GCC will
likely want to use the binary toolchain so that they can have support
from Arm, and they're welcome to do so via the "external-arm" binary
toolchain.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-13 10:11:37 -04:00
Adam Johnston c1a7dd5eda CI: Platform specific Trusted Services config
Split trusted-services.xml into qemuarm64-secureboot-ts.yml and
n1sdp-ts.yml as collection of Trusted Services which can be tested on
each platform has diverged.

Signed-off-by: Adam Johnston <adam.johnston@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-06 13:58:50 -04:00
Jon Mason 93cc222bf6 arm/qemuarm-secureboot: add musl testing
Add musl testing to have qemuarm-secureboot match qemuarm64-secureboot.
Since the Arm GCC binary toolchain cannot work with musl, move that out
into it's own testing.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-05-25 17:00:23 -04:00
Jon Mason 2d8bc0be8e arm-bsp/tc1: Add FVP support
Add tc1 ecosystem FVP and bits to enable in the tc1 machine config file
Also, do some hacks to speed things up.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-20 09:00:10 -04:00
Jon Mason 8acd61c427 CI: update to the latest kas version
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-05 14:19:32 -04:00
Jon Mason 9e57aa4f50 CI: dev kernel allow failure
The dev kernel can frequently fail, and is not anything that is used in
production.  Allow failure to prevent CI issues but still notify that
there are potential issues.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-02 21:00:55 -04:00
Ross Burton 2db12df861 CI: add CI_CLEAN_REPOS variable to allow cleaning the repo reference cache
If the repository reference directory gets corrupted it's not easy to
wipe it, so add a variable CI_CLEAN_REPOS that if set in the pipeline
will clean the clones and re-fetch them.

Also, stop the fetch from detaching during the garbage collection, just
in case it was a long-running GC that got killed that caused the
corruption in the first place.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-27 13:00:09 -04:00
Jon Mason 99a3b07d52 arm-bsp/fvp-base: Add edk2 build testing
The infrastructure for edk2 and fvp-base is already present, but not
being used.  Make the changes to get it compiling cleanly, and add it to
CI.

Note: testing is not passing because edk2 isn't booting an image

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-13 16:34:54 -04:00
Jon Mason 4bfa191ada ci: add external-toolchain to qemuarm-secureboot
With the removal of fvp-base-arm32, we no longer have test coverage for
the external Arm toolchain.  Add this to qemuarm-secureboot CI so that
there is coverage again.  Note: it must be a 32bit machine, since there
are currently no aarch64 host toolchains for aarch64

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-07 11:22:58 -05:00
Jon Mason e7c5876380 arm-bsp/fvp-base-arm32: remove support
fvp-base-arm32 isn't a real machine and supporting it has become hacky.
Drop support and remove from meta-arm-bsp

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-07 11:21:52 -05:00
Jon Mason 360a278c44 CI: add support for dev kernel, rt kernel, and poky-tiny
Add the various kernels available in oe-core, as well as the poky-tiny
minimal distribution (which has a minimal kernel config).  This
necessitated combining some kernel bbappends to have patching coverage
for all the variants.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-07 08:45:19 -05:00
Jon Mason 1da8d2fdb5 CI: add yml files for defaults
Make things more obvious by adding yml files for the poky defaults
instead of disregarding them in the jobs-to-kas script

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-07 08:45:19 -05:00
Peter Hoyes d5c024f1f5 CI: Add BUILD_ENABLE_REGEX option to conditionally enable builds
Mirrors of meta-arm may focus their development on a small subset of
MACHINEs so provide the option to restrict the boards that are built on
CI using the variable BUILD_ENABLE_REGEX. If set, it conditionally
enables builds; if unset there is no change in behavior.

This variable could be overridden in a scheduled build, to e.g. build
all the MACHINEs weekly.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-02-24 11:37:52 -05:00
Peter Hoyes c5bf035490 CI: Collect testimage logs on failure
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-02-16 12:51:33 -05:00
Peter Hoyes ae3b219887 CI: Factor out CACHE_DIR to improve mirror configurability
Mirrors of meta-arm may have the persistent cache directory mounted in a
different place. To make it easier to configure, define this location
using a single $CACHE_DIR variable.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-02-16 12:51:33 -05:00
Ross Burton 8891820e97 CI: pin to kas 3.2 as 3.2.1 fails
For some reason the kas 3.2.1 container fails:

No such file or directory: '/builds/engineering/yocto/meta-arm/ci/ci/base.yml'

Note the repeated /ci/, which is wrong.

Pin the kas container to 3.2 for now until this is resolved.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2023-02-04 09:39:53 +00:00
Ross Burton dc36e1de6b CI: remove obsolete install
Kas 3.2 ships python3-subunit, so we don't need to try to install that
anymore.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-18 11:25:10 -05:00
Ross Burton 513d085a16 CI: use 'kas dump' instead of manually catting files
Kas 3.2 has a 'dump' plugin, so use that instead of cat in a shell.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-18 11:25:10 -05:00