summaryrefslogtreecommitdiff
path: root/.azure-pipelines.yml
AgeCommit message (Collapse)AuthorFilesLines
2021-10-21CI: Switch running the nokia_rx51 test with in-container toolchainTom Rini1-2/+1
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-15CI: Update to LLVM-13Tom Rini1-2/+2
- 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 Rini1-1/+1
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 Amlie1-0/+3
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 Rini1-1/+1
- 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 Meng1-1/+19
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-06ppc: Drop t4qds and b4860qds referencesSimon Glass1-2/+2
These boards have been removed. Drop the config file and other references. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-08-04CI: Update to LLVM-12Tom Rini1-2/+2
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-28AzureCI: Move i.MX8 builds to their own jobTom Rini1-1/+3
The aarch64 catch-all job is starting to get close to or exceed the time limit for jobs. Move the i.MX8 boards to their own job to fix this. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-07-08Azure: Remove "spear" jobsTom Rini1-3/+1
With the spear family of platforms gone, remove references to them from the build jobs. Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2021-07-08ppc: Remove sbc8641d boardTom Rini1-1/+1
This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. This is also the last of the ARCH_MPC8641/MPC8610 platforms, so remove that support as well. Cc: Paul Gortmaker <paul.gortmaker@windriver.com> Cc: Priyanka Jain <priyanka.jain@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-07-07Azure/GitLab: Move to gcc-11.1.0 and LLVM-11Tom Rini1-2/+1
- 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 Rini1-1/+1
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-07-05Azure: Add loop devices and CAP_SYS_ADMIN for sandbox test.py testsAlper Nebi Yasak1-1/+15
The filesystem test setup needs to prepare disk images for its tests, with either guestmount or loop mounts. The former requires access to the host fuse device (added in a previous patch), the latter requires access to host loop devices. Both mounts also need additional privileges since docker's default configuration prevents the containers from mounting filesystems (for host security). Add any available loop devices to the container and try to add as few privileges as possible to run these tests, which narrow down to adding SYS_ADMIN capability and disabling apparmor confinement. However, this much still seems to be insecure enough to let malicious container processes escape as root on the host system [1]. [1] https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/ Since the mentioned tests are marked to run only on the sandbox board, add these additional devices and privileges only when testing with that. An alternative to using mounts is modifying the filesystem tests to use virt-make-fs (like some EFI tests do), but it fails to generate a partitionless FAT filesystem image on Debian systems. Other more feasible alternatives are using guestfish or directly using libguestfs Python bindings to create and populate the images, but switching the test setups to these is nontrivial and is left as future work. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2021-07-05Azure: Add fuse device for test.py testsAlper Nebi Yasak1-1/+2
The EFI secure boot and capsule test setups need to prepare disk images for their tests using virt-make-fs, which requires access to the host fuse device. This is not exposed to the docker container by default and has to be added explicitly. Add it. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2021-06-22azure: Use msys2 20210604 installer for Windows buildBin Meng1-1/+1
MSYS2 Windows build started to fail since yesterday (Jun 21): checking keyring... checking package integrity... error: gcc-libs: signature from "David Macek <david.macek.0@gmail.com>" is unknown trust :: File /var/cache/pacman/pkg/gcc-libs-10.2.0-1-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)). error: gcc: signature from "David Macek <david.macek.0@gmail.com>" is unknown trust :: File /var/cache/pacman/pkg/gcc-10.2.0-1-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)). error: failed to commit transaction (invalid or corrupted package) Errors occurred, no packages were upgraded. Switching to the latest installer (version 20210604) seems to fix it. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com> Tested-by: Tom Rini <trini@konsulko.com>
2021-05-25MIPS: remove deprecated qemu_mips boardDaniel Schwierzeck1-12/+0
Remove qemu_mips boards because DM migration doesn't make sense. The board support for qemu_mips is already marked as deprecated in Qemu in favour of the Malta board. Also qemu_mips support has been removed from Linux a long time ago. The official replacement is the Malta board. The same Malta U-Boot image can be used with Qemu and on physical hardware. All combinations of Big Endian and Little Endian as well as 32 bit and 64 bit are supported. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2021-04-29Azure/GitLab: Ensure we use requirements.txt for testsuitesTom Rini1-1/+1
Given that test/py/requirements.txt has all required test modules, make use of that rather than a manual pip install list before running our assorted tool testsuites. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-04-10arm: Remove vexpress_ca15_tc2 boardTom Rini1-6/+0
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2021-04-07Azure/GitLab: bump OpenSBI version to 0.9Heinrich Schuchardt1-4/+4
Version 0.9 of OpenSBI provides the system reset extension which allows us to reset and power off boards without board specific code. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-04-07Azure: Rework SH / Renesas jobTom Rini1-4/+4
Now that there is a single SuperH platform, rework the Azure job slightly. Azure build time limits mean that we need to split the world build up still. Make a single build job for the single Renesas SuperH platform as well as all of the ARM platforms from Renesas. Cc: Marek Vasut <marek.vasut+renesas@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2021-03-30Merge tag 'v2021.04-rc5' into nextTom Rini1-1/+1
Prepare v2021.04-rc5
2021-03-27Azure: Use "pacman -Sy" to install the toolchainTom Rini1-1/+1
We now see an error such as: warning: database file for 'ucrt64' does not exist (use '-Sy' to download) error: failed to prepare transaction (could not find database) So use -Sy as suggested. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-03-26azure/gitlab: Add tests for sandbox_noinstSimon Glass1-0/+3
Add this new board to the test plans. Travis-CI is left out, since it is being removed soon due to lack of capacity. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
2021-03-22azure: Use --board flag with sandbox_splSimon Glass1-1/+1
At present there is only one board which uses sandbox SPL. But with sandbox_noinst being added, this is no longer true. Add a --board flag so that we just build one board on azure, as is done in gitlab. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2021-03-05Azure/GitLab: Use buildman -T0 for binman, etc, testTom Rini1-1/+1
There are times where buildman seems to get stuck in this job when in CI. Forcing single-threaded here allows us to complete and move on. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-02-28uboot-test-hooks: Switch to our GitLab instanceTom Rini1-1/+1
As Stephen is no longer actively maintaining the uboot-test-hooks repository, switch to using the instance on our GitLab. Acked-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2021-02-02azure: Add -E back for the world build scriptBin Meng1-1/+1
Commit dd5c954e917b ("travis/gitlab/azure: Use -W to avoid warnings check") added -W to avoid warnings check, but it mistakenly dropped -E for the world build script in the azure pipelines. This caused builds on the azure pipelines fail to report warnings. Let's add it back. Fixes: dd5c954e917b ("travis/gitlab/azure: Use -W to avoid warnings check") Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-01-27.gitlab-ci: install doc/sphinx/requirements.txtHeinrich Schuchardt1-1/+5
Install all requirements according to doc/sphinx/requirements.txt in the virtual environment used for testing 'make htmldocs'. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-11-05azure/gitLab/travis: Add pygit2 as a dependency for testsSimon Glass1-1/+1
This lets patman run all of its tests, rather than skipping quite a few. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-10-29Azure/GitLab/Travis: Add SPL unit testsSimon Glass1-1/+1
Run SPL unit tests in all test environments. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-09-15Azure/GitLab/Travis: Add SH4 r2dplus machine with various PCI ethernet optionsMarek Vasut1-0/+12
Add SH4 R2Dplus machine configured to test various U-Boot PCI ethernet options -- RTL8139, EEPRO100, AMD PCnet, DEC Tulip. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-09-02Azure/GitLab: Update to latest Docker containerTom Rini1-1/+1
- New base snapshot - Fix for high UID/GID numbers on a toolchain Signed-off-by: Tom Rini <trini@konsulko.com>
2020-08-06Azure/Travis: Update to latest Docker imageTom Rini1-1/+1
- New bionic snapshot - Updated sbsigntool - Include SH4 in qemu Signed-off-by: Tom Rini <trini@konsulko.com>
2020-07-28azure: Switch to use the MSYS2 official installer as the CI baseBin Meng1-2/+3
Recent CI failures were seen [1] when building MSYS2 Windows host tools. The error messages are something like: downloading mingw32.db... downloading mingw32.db.sig... error: mingw32: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown error: mingw32: signature from "David Macek <david.macek.0@gmail.com>" is unknown trust error: failed to update mingw32 (invalid or corrupted database (PGP signature)) Per the MSYS2 official news [2], this was caused by a packager switch and several solutions were suggested, e.g.: a new package of msys2-keyring and a new msys2 installer that includes them are released. However right now we have been using the MSYS2 github CI base repo [3] for the MSYS2 build in U-Boot, but per the project information on the github webpage, it says: "This repository is unused/deprecated and will be remove after 2021-01-01". Since it is unmaintained it's unlikely the new PGP keys will be included in the git repo, and the only choice is to switch to use the MSYS2 official installer as the CI base instead. [1] https://dev.azure.com/u-boot/u-boot/_build/results?buildId=975 [2] https://www.msys2.org/news/#2020-06-29-new-packagers [3] https://github.com/msys2/msys2-ci-base Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-28azure: Add the missing build dependency for MSYS2 buildBin Meng1-1/+1
Package 'flex' is needed when building the U-Boot host tool, but is currently missing in the build dependency in the CI pipeline. This is to prepare switching to an installer based CI build. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-28azure: Drop 32-bit MSYS2 buildBin Meng1-12/+4
As of 2020-05-17, 32-bit MSYS2 is no longer actively supported by the upstream [1]. Let's drop the 32-bit Windows host tool build. [1] https://www.msys2.org/news/#2020-05-17-32-bit-msys2-no-longer-actively-supported Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-28azure: Use a login shell everywhere for MSYS2 buildBin Meng1-5/+2
This simplifies things a bit to just use a login shell everywhere. This keeps in sync with MSYS2 upstream commit: 9d11b7f0aa93 ("azure-pipelines: simplify things a bit"). Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-25patman: Add a 'test' subcommandSimon Glass1-1/+1
At present we use --test to indicate that tests should be run. It is better to use a subcommand for list, like binman. Change it and adjust the existing code to fit under a 'send' subcommand, the default. Give this subcommand the same default arguments as the others. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-24Merge https://gitlab.denx.de/u-boot/custodians/u-boot-riscvTom Rini1-4/+4
- Fix SiFive HiFive Unleashed board booting failure problem. - Enable SiFive fu540 PWM driver. - Support SiFive fu540: SPI boot. - Update OpenSBI used for RISC-V CI testing. - Revert "riscv: Allow use of reset drivers". - Revert "Revert "riscv: sifive: fu540: Add gpio-restart support"". - sysreset: syscon: - Don't assume default value for offset and mask property. - Support value property. - qemu: Add syscon reboot and poweroff support. - Fix SIFIVE debug serial dependency. - Fix linking error when building u-boot-spl with no SMP support. - AE350 use fdtdec_get_addr_size_auto_noparent to parse smc reg. - Make memory node available to SPL in hifive-unleashed-a00-u-boot.dtsi - SiFive fu540 avoid using hardcoded ram base and size.
2020-07-24Revert "Merge tag 'dm-pull-20jul20' of git://git.denx.de/u-boot-dm"Tom Rini1-1/+1
This reverts commit 5d3a21df6694ebd66d5c34c9d62a26edc7456fc7, reversing changes made to 56d37f1c564107e27d873181d838571b7d7860e7. Unfortunately this is causing CI failures: https://travis-ci.org/github/trini/u-boot/jobs/711313649 Signed-off-by: Tom Rini <trini@konsulko.com>
2020-07-24azure: gitlab: travis: Update OpenSBI used for RISC-V testingBin Meng1-4/+4
Change to use OpenSBI release v0.8 generic platform images for QEMU RISC-V CI testing for azure, gitlab and travis-ci. Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2020-07-20patman: Add a 'test' subcommandSimon Glass1-1/+1
At present we use --test to indicate that tests should be run. It is better to use a subcommand for list, like binman. Change it and adjust the existing code to fit under a 'send' subcommand, the default. Give this subcommand the same default arguments as the others. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-15Azure: copy GRUB to correct build pathHeinrich Schuchardt1-4/+6
The GRUB binaries are expected in $UBOOT_TRAVIS_BUILD_DIR. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-07-10CI: show skipped Python testsHeinrich Schuchardt1-1/+1
Call pytest3 with argument -ra to display the reason why Python tests are skipped. The -r flag displays a test summary info for each test. -ra eliminates this info for passed tests. Pros an cons were discussed in: https://lists.denx.de/pipermail/u-boot/2020-June/417090.html Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-06-29.azure-pipelines.yml: add Qemu tests for MIPS Malta boardDaniel Schwierzeck1-0/+16
Add Qemu tests for the MIPS Malta machine as a replacement for the deprecated generic MIPS machine. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2020-06-18Azure/GitLab: Move to latest Docker imageTom Rini1-1/+1
- Add guestfstools, efitools - Latest Ubuntu/bionic snapshot Signed-off-by: Tom Rini <trini@konsulko.com>
2020-06-03Azure: Add 'tools-only' build for macOS X hostsTom Rini1-0/+15
Add building the 'tools-only' target on macOS X 'Catalina'. Hopefully this will catch changes to host tools that are incompatible on BSD style environments. Signed-off-by: Tom Rini <trini@konsulko.com>
2020-05-19Nokia RX-51: Add automated test for running RX-51 build in qemuPali Rohár1-0/+13
This patch contains test/nokia_rx51_test.sh script which automatically download and compile all needed tools in local temporary directory to generate a simple MTD images for booting Maemo kernel image by U-Boot from RAM, eMMC and OneNAND. MTD images are then run in virtual n900 machine provided by qemu-linaro project. This script does not need any special privileges, so it can be run as non-root nobody user. It can be used to check that U-Boot for Nokia N900 is not broken and can be successfully booted in emulator. Script is registered to .azure-pipelines.yml, .gitlab-ci.yml and .travis.yml so it would be automatically run on those CI services. Signed-off-by: Pali Rohár <pali@kernel.org>
2020-04-28Azure/GitLab: Switch over to using LLVM-10Tom Rini1-1/+1
At this point LLVM-7 is rather old. Switch over to LLVM-10 to enable some amount of CI coverage with newer compilers. Signed-off-by: Tom Rini <trini@konsulko.com>