1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-06-02 01:20:09 +00:00

134 Commits

Author SHA1 Message Date
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
Ross Burton 6b98584ae3 CI: pass --update and --force-checkout to kas in pending-updates job
This job doesn't use the standard helpers, so needs to pass these
explicitly otherwise it can pick up an old SHA.

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 ddc67dc4bb CI: don't pin fvp-base jobs to x86-64
Now that the FVP is available for both aarch64 and x86-64, don't set a
tag so this can run on both architectures.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-09 13:00:08 -05:00
Ross Burton 132089830b meta-gem5: remove
The meta-gem5 layer is unmaintained and gem5 is incompatible with Python
3.11, so won't work with master without work that is still ongoing.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2023-01-04 11:51:03 +00:00
Ross Burton c7b85230a2 meta-atp: remove
The meta-atp layer is unmaintained and gem5 is incompatible with Python
3.11, so won't work with master without work that is still ongoing.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2023-01-04 11:49:24 +00:00
Ross Burton 64d1f783b9 CI: use qemuarm64 for pending-updates report job
Instead of using the side-effect of gem5-arm64 pulling in many layers,
do it explicitly.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2023-01-04 11:48:56 +00:00
Ross Burton 52bbe75624 CI: use the .setup fragment in machine-coverage
Signed-off-by: Ross Burton <ross.burton@arm.com>
2023-01-04 11:15:38 +00:00
Jon Mason c32c4043ff CI: define DEFAULT_TAG and CPU_REQUEST
DEFAULT_TAG and CPU_REQUEST are being used to help with internal Gitlab
pipeline setups know which type of machines to run on, but has no value
outside of Arm Corp.  Gitlab CI allows for variables to be overridden
by default.  So, we can give it a default value of NULL/empty and have
everything work internally and externally by default.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-15 11:41:43 -05:00
Ross Burton 37bc037bea CI: no need to install telnet
The kas 3.1 container has telnet in. We can also remove python3-subunit
once kas 3.2 is released.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-12-14 15:25:35 +00:00
Ross Burton 0e398c77ec CI: add tags to all jobs
Tag all jobs with the DEFAULT_TAG variable so each instance can control
what tags the jobs have, whilst still explicitly tagging the jobs which
need specific tags (such as x86_64 for jobs which need to run x86-only
binaries)

Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-12-14 15:25:35 +00:00
Ross Burton b5909b7bc4 CI: add variables needed for k8s runners
The Kas container needs to use the entrypoint as that is where the user
changes from root to a normal user.

Also set the KUBERNETES_CPU_REQUEST to the variable CPU_REQUEST as this
needs to be tuned per-deployment.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-12-14 15:25:35 +00:00
Adrián Herrera Arcila 9699e6698e ci: add meta-atp to check-layers
Signed-off-by: Adrián Herrera Arcila <adrian.herrera@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-21 10:45:34 -05:00
Jon Mason 11698cd358 arm-bsp/trusted-services: add n1sdp support
Add support for n1sdp to trusted-services bbappends and rework some
things to make it easier to add more in the future.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-21 10:00:13 -05:00
Ross Burton 2fffdd9234 CI: add documentation job
This job builds all of the Sphinx documentation it can find with fatal
warnings enabled.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-10-24 13:58:06 +01:00
Ross Burton 75a8c07a63 arm-bsp: remove TC0
The Total Compute 2020 BSP is obsolete and unsupported, so remove it
from meta-arm.  The Total Compute team would like TC1 to be available in
langdale, but removed in mickledore.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-19 10:00:08 -04:00
Jon Mason 09a3e899dc CI: trusted services as a feature instead of a machine
Trusted services is a feature, not a unique machine.  Modify the setup
to reflect this.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-05 10:00:09 -04:00
Anton Antonov 00bd768ab7 meta-arm/trusted-services: Use GCC toolchain for specific TS recipes only.
This commit also enables clang CI pipelines for TS.

Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-04 13:18:37 -04:00
Jon Mason 8d0410782e CI: Remove uniquely zephyr machines
Remove microbit-v1, qemu-cortex-a53, qemu-cortex-m3, and qemu-cortex-r5
from CI (and the tree in general).  These machines are part of the
meta-zephyr CI now and keeping them here is redundant.  However, keeping
zephyr builds for machines that also have TF-M.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-30 15:20:03 -04:00