aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
AgeCommit message (Collapse)Author
2023-11-07CI, pytest: Add a test for sandbox without LTOTom Rini
The primary motivation for having a sandbox without LTO build in CI is to ensure that we don't have that option break. We now have the ability to run tests of specific options being enabled/disabled, so drop the parts of CI that build and test that configuration specifically and add a build test instead. We still test that "NO_LTO=1" rather than editing the config file works via the ftrace tests. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-02CI: use OpenSBI 1.3.1 for testingHeinrich Schuchardt
Use the most recent upstream release of OpenSBI for CI testing. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2023-10-23CI: Re-enable maintainer checkTom Rini
At this point we have all of the defconfigs maintained again, so re-enable the check to prevent further regressions. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-10-17test: spl: Add functions to create imagesSean Anderson
This add some basic functions to create images, and a test for said functions. This is not intended to be a test of the image parsing functions, but rather a framework for creating minimal images for testing load methods. That said, it does do an OK job at finding bugs in the image parsing directly. Since we have two methods for loading/parsing FIT images, add LOAD_FIT_FULL as a separate CI run. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-02Merge branch 'next'Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-09-30CI: allow jobs to be run in merge requestsAndrejs Cainikovs
Out-of-tree users could run an out-of-tree CI with limited coverage, however it is convenient to be able to run the upstream CI from time to time. To enable that we would need to change job rules to be able to run on any GitLab event. Excerpt from GitLab documentation: > Jobs with no rules default to except: merge_requests Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-09-06.gitlab-ci: Test sandbox64 board in addition to sandboxMarek Vasut
Test both 32bit and 64bit sandbox boards in CI. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-09-06CI: Drop some jobs we didn't really utilizeTom Rini
- We have added more TODO/etc comments since this task was created and never focused on removing them. - The output of sloccount isn't preserved or looked at, and if desired should be in the release stats pages instead somehow. - The results of cppcheck aren't investigated and require modeling work to be useful to start with. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-06CI: Combine tools-only and envtools jobsTom Rini
These jobs are to confirm specific build targets, on a Linux host. We can safely combine these two build tests, with a make mrproper in between. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-09-04nokia_rx51: Remove platformTom Rini
This platform is behind on migrations (it is the sole user of the oldest legacy version of the USB gadget stack and is long overdue for migration) and with Pali no longer being a maintainer, we remove this platform. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-08-29sandbox: trace: Increase trace buffer sizeSughosh Ganu
When running the trace test on the sandbox platform, the current size of 16MiB is no longer large enough for capturing the entire trace history, and results in truncation. Use a size of 32MiB for the trace buffer on the sandbox platform while running the trace test. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-08-26CI: Move to latest Ubuntu "Jammy" tagTom Rini
Move to the latest "Jammy" tag from Ubuntu. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2023-08-26CI: Update to gcc-13.2.0Tom Rini
The latest kernel.org toolchains for gcc are now 13.2.0, so upgrade to that. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2023-08-21Merge tag 'v2023.10-rc3' into nextTom Rini
Prepare v2023.10-rc3 Signed-off-by: Tom Rini <trini@konsulko.com>
2023-08-17CI: Switch to tools-only from sandbox_spl for tooling testsTom Rini
When running tools for various tests use the tools-only build rather than sandbox_spl. We used sandbox_spl here for historical reasons that are no longer true. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-08-17CI: x86: coreboot: Update to latest corebootSimon Glass
Use a recent coreboot build for this test. The coreboot commit is: 6f5ead14b4 mb/google/nissa/var/joxer: Update eMMC DLL settings This is build with default settings, i.e. QEMU x86 i440fx/piix4 Add some documentation as to how to update it next time. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-24buildman: Add an option to check maintainersSimon Glass
Rather than using the -R option to get this report as a side effect, add a dedicated option for it. Disable CI for now as there are some missing maintainers, unfortunately. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-07-21CI: Make use of buildman requirements.txtTom Rini
Now that buildman has a requirements.txt file we need to make use of it. Reviewed-by: Simon Glass <sjg@chromium.org> [n-francis@ti.com: Adding missing command from .azure-pipelines.yml] Signed-off-by: Neha Malcom Francis <n-francis@ti.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2023-07-20CI: Add automatic retry for test.py jobsTom Rini
It is not uncommon for some of the QEMU-based jobs to fail not because of a code issue but rather because of a timing issue or similar problem that is out of our control. Make use of the keywords that Azure and GitLab provide so that we will automatically re-run these when they fail 2 times. If they fail that often it is likely we have found a real issue to investigate. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-07-20CI: Update to the latest "Jammy" tagTom Rini
Move to the latest "Jammy" tag from Ubuntu. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-07-20CI: Update to gcc-13.1.0Tom Rini
As this is the current version of the public cross toolchains we use, upgrade to this now. Suggested-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com> Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Alexey Brodkin <abrodkin@synopsys.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-07-06ci: riscv: Update OpenSBI to v1.2Bin Meng
Use the latest OpenSBI v1.2 release binaries for the RISC-V CI. Signed-off-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
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>