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

51 Commits

Author SHA1 Message Date
Ross Burton 2d22a1f7ae CI: enable testimage for fvp-base
Inherit fvpboot so that the FVP binary is fetched and configuration
generated.

Configure the FVP to forward host port 8022 to port 22 locally, and
tell testimage to SSH to localhost:8022. This has the limitation that
only one testimage can run per machine, but this will be removed shortly.

Disable the parselogs test case, as there are some harmless warnings in
the dmesg which cause it to fail.  Currently meta-arm can't extend the
whitelist of ignorable warnings.

The FVP binaries are x86-64 only, so tag the job appropriately.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-20 14:07:11 -04:00
Ross Burton ba86aeb31f CI: install telnet into the images
runfvp currently needs telnet to communicate with the guest, so install
telnet into the image.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-20 14:07:11 -04:00
Jon Mason 98193f3b61 CI: Add zephyr testimage
Add the ability to run testimage against zephyr machines.
Unfortunately, this exposes a bug in meta-zephyr with TESTIMAGE_AUTO not
working correctly.  So, work around this until it can be fixed upstream.
Also, qemu-cortex-a53 does not successfully pass any of the tests it
successfully builds.  So, don't run testimage until that can be
addressed.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-08 12:34:13 -04:00
Ross Burton c2817745c9 CI: reformat .gitlab-ci.yml
Change-Id: Ia4ad65a32a4d09bae05a8f2ab18adc6cf3f820bd
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-10-06 16:30:39 +01:00
Ross Burton b3e29e60e7 CI: build a proper TC0 image on x86-64
Change-Id: Id3da3b6efd620c2052ef59dc731e4b159830e805
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-04 18:26:23 -04:00
Ross Burton 898aa08df6 CI: add a job to build the FVP packages
This doesn't execute anything but simply checks that the publically
available FVPs can be downloaded and packaged.

Change-Id: I13895faa6fe6b19363854c33275a3febf61b7132
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 15:56:32 -04:00
Ross Burton 9c15d29a63 CI: don't build the binary toolchains in bootstrap
This job just exercises the binary toolchain packages, so there's no
need to do it in the bootstrap stage.

Change-Id: I9d1697791a1e427d594bd8d99c5cad45961f4c5b
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 11:28:07 -04:00
Jon Mason bf5ec4f203 ci: make get-binary-toolchain run per build
In a distributed, non-homogeneous CI setup, the binary-toolchain setup
script might not run on the machine that needs the toolchains.  Make
this per-build and it will always be there, at the expense of running on
builds that might not need it (though it still should be fast).

Also, there is an issue with the directory where the binary toolchain is
located being global, and racing against other systems using, setting up,
and tearing down.  Link this to a local directory to avoid any races.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-14 11:47:44 -04:00
Ross Burton a6ff8238d9 Revert "CI: use the kas:next image"
The kas:latest image now has the updated build dependencies, so use that
again instead of the potentially unstable next image.

This reverts commit 6b1d8abb3b.

Change-Id: I28409bb176df91b7e8ebb558814b3d65dec78724
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-01 10:59:49 -04:00
Ross Burton 6b1d8abb3b CI: use the kas:next image
OpenEmbedded Core master now depends on a few more build tools, so use the
kas:next image until these have been merged into kas:latest.

Change-Id: Ib4c36037d74ec6febca120346bd5bcb08acfccf6
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-20 09:29:10 -04:00
Jon Mason a23f2da8ab qemu-cortex-r5: add support
Mostly for testing out cortex-r tunes...mostly

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-16 17:35:49 -04:00
Usama Arif e8c1001068 arm-bsp/tc1: Add support for new TC1 platform
The same patches are used by tc0 and tc1. Hence rename the folders
that contain the Total Compute patches to be called "tc". The
artifacts image is used by both tc0 and tc1, hence renamed to
tc-artifacts-image.

Signed-off-by: Usama Arif <usama.arif@arm.com>
Change-Id: Ib0b4fbca9a009c432c1e6696c5437a7d24a25d1f
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-16 11:16:05 -04:00
Ross Burton b1d667c396 scripts: add machine summary report tool
machine-summary.py is a tool to generate a report of what recipes and
versions are used for what machines, and what the latest upstream release
is.

Change-Id: Iecf21a14057df0fd1cb05be9b54c621dfbaddd94
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-12 09:49:19 -04:00
Jon Mason c0bc7e9e8f CI: move xen specific changes out of gem5-arm64-xen.yml
Move the xen specific changes out of gem5-arm64-xen.yml.  This allows
for other xen machines in the CI.  Adding Xen machines for qemuarm and
qemuarm64 allows for more testing, which should be expanded when the Xen
Test Framework in meta-virtualization is expanded to work on arm
machines.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-06 12:47:35 -04:00
Jon Mason e62567a386 CI: rename meta-python to meta-openembedded
Rename the meta-python.yml file to be meta-openembedded.  This allows
for more usage of the layers present there (as meta-python is housed
under meta-openembedded).

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-06 12:47:19 -04:00
Jon Mason ba3c2eead6 CI: add qemuarm clang testimage
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-28 08:07:51 -04:00
Jon Mason e74bfb3977 CI: Add bootstrap for clang
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-28 08:07:51 -04:00
Jon Mason 109d594b84 CI: merge testimage into the build stage
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-28 08:07:51 -04:00
Ross Burton 3615b2f671 CI: set interruptible on all jobs
The previous attempt at setting interruptible didn't work as it needs to
happen on all tasks, as once a single uninterruptible job has executed
the pipeline cannot be cancelled.  Unfortunately the setup jobs were
not interruptible, so the pipeline could never be cancelled.

Change-Id: I5416bc3f9a883ace24c12607b2ebc24bc428b50b
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-21 09:46:31 -04:00
Ross Burton c3761f6a24 CI: add packaging test for the binary Arm compilers
Add a trivial job that verifies the binary Arm compiler packages all
fetch and package correctly for both x86-64 and arm64.

Change-Id: I1e29cc175d66d418630505dcac1a87cdf5c0024a
Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-07 09:27:47 -04:00
Diego Sueiro 7f30fad6ef ci: Add meta-arm-autonomy to check-layers job
Issue-Id: SCM-2625
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Change-Id: If6ea3b3ed2915d540eb30632e33bb29882a36b67
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-30 16:54:40 -04:00
Jon Mason 2928fafcbb CI: add testing and testimage
Add a testing task to the gitlab CI and run testimage in that job.
Currently, it only runs against some of the qemu based machines.
Using slirp, there is no need for a privileged container or tun/tap
devices.

Change-Id: Ia85a3d0089f7d4dc7595c3a45d328c79d8e675f1
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-25 13:37:28 -04:00
Ross Burton eb50c4b785 ci: add yocto-check-layers step
Add a job to run yocto-check-layers to validate a selection of layers
are Yocto Project Compatible.

Right now we validate:
- meta-arm
- meta-arm-bsp
- meta-arm-toolchain
- meta-gem5

meta-atp and meta-arm-autonomy are currently skipped: meta-atp fails and
meta-arm-autonomy has a larger set of dependant layers and will be added
later.

Change-Id: Ia0c8c16e4228eeb461bd213b30703e950ede656f
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-06-17 13:47:34 +01:00
Jon Mason 40611d12f5 ci: clean regularly to reduce size
The Gitlab CI executors do not clean-up after each run, which will
result in a ballooning size over time. Remove all files in the work
tree, removing the problem.  SSTATE should prevent this from causing
any performance by not having the files there.

Change-Id: I57df3cf470c519286fe194739a0a7722794f3b25
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-08 11:29:11 -04:00
Ross Burton 48718393ad CI: mark build jobs as interruptible
Mark the build jobs as interruptible, as they don't write to shared
resources (unlike update-repos or get-binary-toolchains). This means
that if the same branch is pushed again GitLab is likely to be able to
abort the obsolete pipeline to start the new build sooner.

Change-Id: I9284273e9b3118b616d3cb062cb957d98fc5e37e
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-11 15:56:01 +01:00
Jon Mason 10b900d742 CI: enable non-arm64 builders
Abstract away all of the things preventing the current setup from
working on only internal, arm64 build hardware.

Change-Id: Ib8d0e8e76602d4553e044520a91349015b1aa19b
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-01 07:50:12 -04:00
Jon Mason 558f57b3a5 CI: use public KAS image
Use the KAS docker image provided by the KAs project for Gitlab CI.
This allows for the external (non-Arm Corp) users/developers to run
Gitlab CI.

Change-Id: I9fee9a0d571e3fd60862d4ccd36176f9e583fc91
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-01 07:50:12 -04:00
Jon Mason 7deff39751 CI: Reorder manual tasks to be alphabetical
Change-Id: I2e5bfdf5794c99da530bc2645fb56a5444444be3
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-01 07:50:12 -04:00
Ross Burton 58ea81b718 CI: report disk usage before/after pruning sstate
Change-Id: I66853ce1bf5e33c37094cc8fff04cbd4daaadf91
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-04-28 10:30:58 -04:00
Adrian Herrera cec4d317e9 CI: add kas file and job for gem5-atp-arm64
Change-Id: Iee0d27c15fe00a4363ed832c06cb502c54299cd5
Signed-off-by: Adrian Herrera <adrian.herrera@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-04-22 12:33:06 -04:00
Jon Mason 5c5cd66675 CI: Add repo dir to disk usage and ability to purge everything
Add the newly added repo dir to the disk usage calculation and add the
ability to remove each of the persistent directories.

Change-Id: Ib922ad42c62efdeccf01851ac751742ed67748ae
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-04-20 13:57:39 -04:00
Ross Burton e3bfb5d746 Rename top-level kas/ to ci/
The files in kas/ are not generic Kas files, but instead designed
specifically and solely around the CI system.

Change-Id: I30082392ad2231a4c1c41e54a292595adf81715b
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-04-19 08:12:27 -04:00
Diego Sueiro 8b123ffe85 kas: Add fvp-baser-aemv8r64 build
Issue-Id: SCM-2121
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Change-Id: I983b0a433be9087663006cce366631815759febe
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-03-31 08:53:44 -04:00
Ross Burton a52d805faf CI: move utility tasks to prep so they don't cause a fetch
Re-order the tasks so that the utility tasks don't cause update-repos to
run.

Change-Id: I86a528c98fe32e20428f9efbd5fb82c374aefc8a
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-03-30 15:45:38 -04:00
Ross Burton d2f8a13d3c CI: maintain centralised repositories to speed fetching
Kas supports 'reference repositories' which are used as a local source
of git objects to speed up fetches.  At the beginning of the CI run we
can update these repositories once to speed up later fetches.

Change-Id: I138051fd3cf9b5675e0fa5007cd8088abd17db4e
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-03-30 15:45:38 -04:00
Jon Mason 682c330600 CI: fix order
Machine order should be alphabetical

Change-Id: I83b1f1802d4db62cda7e49a591c7f26c4d22dd9a
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-03-30 00:02:05 -04:00
Jon Mason d6e18c885d arm/machine: add zephyr machine confs for a53
Zephyr supports QEMU based machine for Cortex a53.  Add machine confs
for this.  This enables us to verify a53 tunings.

Change-Id: I398bc5b3e8bd77b7269bba056a0f75229f04c7a7
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-03-26 11:15:53 -04:00
Jon Mason 403de1121e arm/machine: create generic-arm64 machine
Create a generic Arm64 system for creating a SystemReady file system.
Due to it being as generic as possible, the image created
by this should run on any hardware that already has the requisite
firmware present.

Change-Id: Ie0d71f91145311e90d228bc403e653a7ef059838
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-03-16 08:22:58 -04:00
Jon Mason d4f7fd1788 arm/machine: Create QEMU SBSA machine
Add a QEMU machine for Server Base System Architecture (SBSA)
development.

Change-Id: Ic4e286a6583b38aee2a78ab4b53669048136f1a1
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-03-16 08:22:58 -04:00
Ross Burton 67faf6c7dc CI: add qemuarm and qemuarmv5
Change-Id: Ie5e1fdf0870ed578faaf6ca2d6c6e73bad340f1e
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-03-12 11:37:47 -05:00
Nathan Dunne a949ebfd06 kas: Added yaml to test xen support in meta-gem5
Created yaml file "gem5-arm64-xen.yml" to build the target xen-image-minimal
for gem5, with required DISTRO_FEATURES 'xen' and 'virtualization'.

Issue-Id: SCM-2091
Signed-off-by: Nathan Dunne <Nathan.Dunne@arm.com>
Change-Id: If21d446ca36ba01657d6b48e4b3370e9d905fd1b
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-03-11 09:26:19 -05:00
Jon Mason aa63e31b6e kas: microbit-v1 testing
Change-Id: I8043c7be32a1e4029e73c3c9f603ae77c78ddf3c
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-02-10 21:58:30 -05:00
Ross Burton 3be0996065 CI: delete-sstate needs to delete contents
Change-Id: I278d470540e20db8d789a1428e927356e3a5d8b1
2021-02-08 20:16:16 +00:00
Ross Burton 101abf89c6 CI: add task to delete all sstate
Change-Id: If89c6c27cafe6ae7e93b5db5d37b9e8ecdaee131
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-02-08 18:55:21 +00:00
Ross Burton e627b698e7 kas: add a test for the external toolchain support
meta-arm-toolchain supports using an external binary arm
toolchain[1] instead of the gcc-cross built by oe-core.

Add a test case to exercise this build in the CI.  Currently this
is only for the Aarch32 target as our CI runs on aarch64 and there
is no binary or aarch64 target on aarch64 host.

This depends on the image used by the CI having the relevant
compilers installed into /usr/local.

[1] https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a

Change-Id: I9f7ea66786e98a40cbd490386497e2d3aaa47e80
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>
2021-01-13 17:29:30 -05:00
Ross Burton 75c9cc3bf8 CI: don't retry jobs
We can't retry jobs blindly because if a build fails with warnings we want
to fail the job.  With retries enabled the job fails, but is immediately
retried and builds quickly from sstate without any warnings.

Thus, all and any warnings are hidden.

Disabling retries. We may get occasional failures from Docker, we'll have
to see how bad they are.

Change-Id: Ib726f14a264c029fdf372fc1b8a02aca52bf5e4c
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-01-12 18:05:41 +00:00
Ross Burton 68a113c0a0 kas: add testing of gcc-arm
Add a build to verify that setting GCCVERSION to arm-10.2 works.

Change-Id: I086fa786b11560a8e94ee646859c59288bacba5d
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-01-07 10:55:12 -05:00
Ross Burton 35adaace0e ci: fail any build that emits warnings
Using a custom logging.yml we can instruct BitBake's logger to write all
warnings and errors into a separate log file.

Then after the build has finished we can see if the log file is empty and if
not show it and abort the build.

Change-Id: Ida835b5c822941fb513dfb1758b4ec195e0050fc
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-12-15 15:35:25 +00:00
Ross Burton e40b99e131 ci: make bootstrap just another kas overlay
Simplify the gitlab-ci by having the bootstrap build as just another Kas
overlay file, so there's no duplication of build script.

Change-Id: I7341750d2ae7f3c146bfe323f61fa98c0f3121c0
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-12-15 15:35:25 +00:00
Ross Burton 0d83df0bd2 gitlab-ci: force git updates
Explicitly force kas to update in case the repositories are reused.

Change-Id: Ieedf518c7586bb1a4eff274dc1a33b52a3c49d9f
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-12-09 10:14:29 -05:00