aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
AgeCommit message (Collapse)Author
2023-05-04CI: treat documentation warnings as errorsHeinrich Schuchardt
We do not want to merge documentation that produces Sphinx warnings. scripts/kernel-doc uses environment variable KDOC_WERROR to determine if warnings should be treated as errors. Reported-by: Tom Rini <trini@konsulko.com> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-04-15CI: Add m68k targetMarek Vasut
Add M5208EVBE board to CI. This does not use default config due to limitations of QEMU emulation, instead the timer is switched from DMA timer to PIT timer and RAMBAR accesses are inhibited. Local QEMU launch command is as follows: $ qemu-system-m68k -nographic -machine mcf5208evb -cpu m5208 -bios u-boot.bin Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Acked-by: Angelo Dureghello <angelo@kernel-space.org>
2023-04-04CI: Move to clang-16Tom Rini
As this is now the stable release, move to using that now for our tests. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-04-03CI: Ensure that vpl test is runSimon Glass
This is actually skipped at present due to the condition in the file. Fix this by running all vpl tests. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-03-21CI: Allow a mirror to be specified for Docker HubPeter Hoyes
To conserve bandwidth and potentially avoid rate limits, allow a local mirror of Docker Hub to be specified globally. The default value is unchanged. Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-03-21CI: Allow job tag to be optionally set globallyPeter Hoyes
The default behavior of Gitlab runners is to only run jobs which match the configured tag, although there is an option to run untagged jobs [1]. To support running the CI in more complex environments where different types of runners may be present that support different tags, allow the DEFAULT_TAG for all jobs in the pipeline to be set globally using an environment variable. An empty default value is provided to retain support for untagged runners. [1] https://docs.gitlab.com/ee/ci/runners/configure_runners.html#use-tags-to-control-which-jobs-a-runner-can-run Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-03-21CI: gitlab: Collect pytest artifactsMarek Vasut
Copy build artifacts for all test.py tests, so they show up in artifacts storage for later inspection. The test.py tests output in CI is basically useless, but it is far more useful in the html output for analysis and debugging. Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> Suggested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-03-21Dockerfile: Update to latest "Jammy" tagTom Rini
Update to using the latest "Jammy" tag as our base. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-03-08CI: Add a check for building tools for PyPiSimon Glass
Add a simple check that the PyPi packages can be built. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-24CI: Update test/nokia_rx51_test.sh to use prebuilt imagesPali Rohár
Now that the Dockerfile creates images which have the binaries we require included, have CI make symlinks for them and update the existing script to support this. Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-02-14CI: Add a check for pre-schema driver model tagsSimon Glass
These should not be used anymore. Add a check to ensure they don't creek back into U-Boot. Use bootph-... instead. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-11CI, Docker: Update to Jammy 2023016 tagTom Rini
Move to the latest tag for "Jammy" and rebuild the containers. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-02-11trace: Add a testSimon Glass
Add a test which runs sandbox, collects a trace and makes sure it can be processed by trace-cmd. This should ensure that this feature continues to work as U-Boot and trace-cmd evolve. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-01-20CI: Make check for new defined CONFIG symbols even more robustTom Rini
Now that all remaining in-tree cases where we define or undef a CONFIG symbol have been migrated to Kconfig or renamed to CFG we can make the CI check more robust. We will exclude the doc, tools and arch/arm/dts directories from this check as they are special cases. Further, we can exclude the scripts/kconfig/lkc.h and include/linux/kconfig.h files as the CONFIG values they define are special tooling cases and not real symbols. In the case of docs, the only places that currently fail this test are old documentation that should be rewritten so that we can remove this special case. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-13doc: build infodocs target on Gitlab CI, AzureHeinrich Schuchardt
Add infodocs target to CI testing. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-01-11CI/Docker: Update to jammy-20221130 tagTom Rini
Update to the latest "jammy" tag. This requires us to list libc6-i386 as a required package to install (for nokia_rx51 tests) that was previously implicit. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-12-23CI: Replace unmigrated symbol test with non-Kconfig introduction testTom Rini
Now that all symbols have been migrated to Kconfig, or are part of the CFG namespace we do not need a complex check for unmigrated CONFIG symbols. Any instance of #define (or #undef) or a CONFIG value is wrong, so cause CI to fail. This test is not as strict as possible yet as we have more symbols that were not previously caught to deal with. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-12-06CI: Update to gcc-12.2Tom Rini
- Update to gcc-12.2, and cherry-pick a fix in grub for risc-v Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-11-24CI: Make more use of git safe.directoryTom Rini
We have a number of jobs that will have git complain about needing to set safe.directory and this being untrue as a fatal error, but then complete. Set this flag correctly now as it should be used, and may prevent a future failure. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-11-22buildman: Add --allow-missing flag to allow missing blobsTom Rini
Add a new flag to buildman so that we will in turn pass BINMAN_ALLOW_MISSING=1 to 'make'. Make use of this flag in CI. Allow the settings file to control this. Cc: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2022-10-17CI: Update to jammy-20221003-17Oct2022 tagTom Rini
This includes python3-pyelftools so we can drop it from one of the tests directly. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-10-07docker: install riscv32 toolchainHeinrich Schuchardt
For building riscv32 targets we should use the riscv32 toolchain. Add it to the Docker image. Drop the riscv toolchain-alias as we do not need it in future. While in here, update to the latest "jammy" tag. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Rick Chen <rick@andestech.com> [trini: Update to latest jammy tag] Signed-off-by: Tom Rini <trini@konsulko.com>
2022-09-19Merge branch 'master' into nextTom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-09-02ci: Add a test for a non-LTO buildSimon Glass
Check that sandbox builds and runs tests OK with LTO disabled. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-08-31gitlab-ci: Update comment about the DockerfileJoel Stanley
It's found in the u-boot tree now. Signed-off-by: Joel Stanley <joel@jms.id.au>
2022-08-22CI: Move to Ubuntu 2022.04 "Jammy" for CI baseTom Rini
- We now have a new enough sbsigntools in the distro, stop building. - Use the 20220801 tag for Jammy. - Move to pygit2 1.9.2 (current version) as the old one doesn't build on "Jammy". - Add the working directory to the list of safe directories for git. - Move to pytest 6.2.5 to address other issues. - This move exposed a number of minor issues in the existing scripts we used within CI to perform the jobs themselves. The most notable changes here involve using 'set +e / set -e' to enforce when we should or should not make non-zero buildman status be a fatal error. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-08-05gitlab/azure: Use buildman instead of genboardscfgSimon Glass
Use the equivalent buildman functionality to check maintainer info. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2022-07-06CI: Add Aspeed AST2600Joel Stanley
The AST2600 has a Qemu model that allows testing. Create a SPI NOR image containing the combined SPL and u-boot FIT image. Reviewed-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Joel Stanley <joel@jms.id.au>
2022-05-02CI: Run VPL testsSimon Glass
Add tests for VPL into the mix. For now this just runs the help test and a few SPL ones. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-04-15CI: Print out unmigrated symbols when failingTom Rini
To make addressing the problem of migrated symbols being present in board config header files, update the CI test to them print what symbols are causing it to fail. Also report all failures in the tree, rather than stopping at the first failing file. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-04-01CI: Update unmigrated symbol checkTom Rini
We need to check for config header files that #undef migrated symbols as well. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-03-25CI: Pin pylint version to 2.12.2Tom Rini
For consistency in runs, we need to always use the same pylint version. Pin to 2.12.2 as this is what we have been using so far. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-03-18CI: Fix unmigrated symbol testTom Rini
When calling comm to compare the CONFIG symbols a defconfig uses with the symbols that have been migrated, we need to suppress all output as the summary line will have everything we need. Failure to do this leads to the test blowing up, but in non-fatal ways. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-03-15CI, Docker: Update to latest focal tagTom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-03-02Azure/GitLab CI: Add the pylint checkerSimon Glass
Add a check that new Python code does not regress the pylint score for any module. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-02-03Dockfile, CI: Update to latest focal tag and buildTom Rini
- Latest focal tag - Add libgnutls to image Signed-off-by: Tom Rini <trini@konsulko.com>
2022-01-28gitlab/azure: x86: Add a coreboot testSimon Glass
Coreboot supports U-Boot as a payload and this recently got a bit of a facelist. Add a test for this. For now this uses a binary build of coreboot (v4.15). Future work could potentially build it from source, but we need to figure out the toolchain problems first, since coreboot uses its own toolchain. It turns out that this is tricky, because coreboot fails to build with a vanilla gcc. This needs some changes to the hooks scripts as well. An example build is at https://source.denx.de/u-boot/custodians/u-boot-dm/-/jobs/359687 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2022-01-12CI, Dockerfile: Update to latest "focal" tagTom Rini
Bring us to the focal-20220105 tag and rebuild our images on top of this. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-27CI: Test for unmigrated CONFIG symbols in board config.h filesTom Rini
Now that all symbols that exist in Kconfig no longer also have boards setting them in the board config.h file, add a CI test to catch new instances of this, and fail. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-14Dockerfile, CI: Update to latest "focal" tagTom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-10-21CI: Switch running the nokia_rx51 test with in-container toolchainTom Rini
Instead of fetching an arm toolchain to use, run the test with the one that's already in the container image. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
2021-10-14CI: Update to LLVM-13Tom Rini
- Switch sources and CI scripts to install and use LLVM-13 - Update to latest "focal" tag. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-30Azure/GitLab CI: Update docker imageTom Rini
Rebuild our current docker image so that ca-certificates will be updated and Let's Encrypt issued certificates will work again. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-24ARM: vexpress_ca9x4: Reintroduce board in order to use with QEMU.Kristian Amlie
vexpress_ca9x4 is seemingly the only board except for qemu_arm which is able to run U-Boot correctly, using the `-M vexpress-a9` option to QEMU. Building for qemu_arm and running qemu-system-arm with the `-M virt` argument has a number of downsides, most importantly that it only supports virtio storage drivers. This significantly reduces its usefulness in testing memory card and Flash solutions, especially when the tested images are from a third party source. So therefore we reintroduce the vexpress_ca9x4 board in this commit, with the explicit goal of using it with QEMU. A number of differences to note from the original: * Since the board was apparently unmaintained, I have now set myself as the maintainer. * The board has been converted to use the driver model, which was the reason it was removed in the first place. * The vexpress_ca15_tc2 and vexpress_ca5x2 boards, which were removed in the same commit, are not necessary for the QEMU use case, and have been omitted. * An `mmc0` alias was introduced in the dts file. The mmc is not detected correctly without this, now that it's based on the device tree instead of the board's init function. * A couple of other nodes were removed because they were problematic when trying to run the UEFI bootmgr. Once again, the primary use case here is QEMU, and these nodes are not needed for that to work. * Unnecessary board init code has been removed, thanks to driver model and device tree. * `CONFIG_OF_EMBED` has been enabled. I know this goes against recommended practice, but there doesn't seem to be any other way to pass the dtb to U-Boot in the QEMU scenario. Using the -dtb argument does not work, I suppose because U-Boot doesn't use the same mechanics as the kernel when it's booting. * Load addresses have been changed to fit QEMU use case. People wanting to get a more detailed, yet somewhat isolated, diff between this and the original, can run this command: git diff c6c26a05b89f25a06e7562f8c2071b60fd0c9eac~1 -- \ $( git diff-tree --diff-filter=A -r --name-only HEAD~1 HEAD) (Make sure to either check out this commit first, or replace HEAD with the commit ID of this commit) Signed-off-by: Kristian Amlie <kristian.amlie@northern.tech>
2021-09-11CI: Update to latest container imagesTom Rini
- Current Ubuntu/Focal tag - QEMU 6.1.0 - genimage tool added Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-11azure/gitlab: Add tests for SiFive Unleashed boardBin Meng
This adds CI tests for SiFive Unleashed board. QEMU supports booting exact the same images as used on the real hardware out of the box, that U-Boot SPL loads U-Boot proper from either an SD card or the SPI NOR flash, hence we can easily set up CI to cover these 2 boot flows of SiFive Unleashed board. With this, now we can have regression testing of mmc-spi-slot and sifive spi drivers, as well as mmc and spi-nor subsystems. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2021-08-04CI: Update to LLVM-12Tom Rini
The current stable release of LLVM is 12, update to that. While at it, fix that we had not correctly upgraded to LLVM 11 previously. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-07-07Azure/GitLab: Move to gcc-11.1.0 and LLVM-11Tom Rini
- Move to gcc-11.1.0 builds from kernel.org for supported platforms and LLVM-11 for those tests. - As Heinrich has noted, the RISC-V platform specification has a profile OS-A for running rich operating systems like Linux and BSD. This profile requires 64bit and UEFI conforming to the EBBR. Only the 'embedded' profile may use 32bit. Given this, drop grub for 32bit RISC-V as it no longer compiles with gcc-11.1 and upstream is unlikely to fix it: https://www.mail-archive.com/grub-devel@gnu.org/msg30736.html - Update to grub-2.06 release to address other issues of building with gcc-11.1. - Update to newer Xtensa (gcc-9.2.0) and ARC (gcc-10.2) toolchains Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Simon Glass <sjg@chromium.org> Cc: Rick Chen <rick@andestech.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-07-05Docker/CI: Update to "focal" and latest buildTom Rini
Move us up to being based on Ubuntu 20.04 "focal" and the latest tag from Ubuntu for this release. For this, we make sure that "python" is now python3 but still include python2.7 for the rx51 qemu build as that is very old and does not support python3. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-05-26GitLab: Remove tags for sandbox_noinst testsHarm Berntsen
Commit 712cc962b70d ("GitLab: Remove "tags" stanzas") removed the 'all' tag from all the jobs. The sandbox_noinst_test.py test was added in between the author date and commit date (commit 6c914e4232cd ("azure/gitlab: Add tests for sandbox_noinst")) which is probably why it still contains the tags. This commit fixes that so all jobs now don't require tags on the GitLab runners. Signed-off-by: Harm Berntsen <harm.berntsen@nedap.com> CC: Simon Glass <sjg@chromium.org> Acked-by: Pratyush Yadav <p.yadav@ti.com>