aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.d/opensbi.yml
AgeCommit message (Collapse)Author
2024-03-08gitlab-ci: add manual job to run CoverityPaolo Bonzini
Add a job that can be run, either manually or on a schedule, to upload a build to Coverity Scan. The job uses the run-coverity-scan script in multiple phases of check, download tools and upload, in order to avoid both wasting time (skip everything if you are above the upload quota) and avoid filling the log with the progress of downloading the tools. The job is intended to run on a scheduled pipeline run, and scheduled runs will not get any other job. It requires two variables to be in GitLab CI, COVERITY_TOKEN and COVERITY_EMAIL. Those are already set up in qemu-project's configuration as protected and masked variables. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2023-07-03gitlab: explicit set artifacts publishing criteriaDaniel P. Berrangé
If not set explicitly, gitlab assumes 'when: on_success" as the publishing criteria for artifacts. This is reasonable if the artifact is an output deliverable of the job. This is useless if the artifact is a log file to be used for debugging job failures. This change makes the desired criteria explicit for every job that publishes artifacts. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230503145535.91325-2-berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20230630180423.558337-2-alex.bennee@linaro.org>
2023-05-31gitlab: switch from 'stable' to 'latest' docker container tagsDaniel P. Berrangé
The 'stable' and 'stable-dind' tags are not documented as supported tags at: https://hub.docker.com/_/docker Looking at their content they reflect docker 19.x.x release series, were last built in Dec 2020, and have 3 critical and 20 high rated CVEs unfixed. This obsolete status is attested by this commit: https://github.com/docker-library/docker/commit/606c63960a4845af7077721eb3900c706f5d0c5e The 'stable-dind' tag in particular appears buggy as it is unable to resolve DNS for Fedora repos: - Curl error (6): Couldn't resolve host name for https://mirrors.fedoraproject.org/metalink?repo=fedora-37&arch=x86_64&countme=1 [getaddrinfo() thread failed to start] We used the 'stable' tag previously at the recommendation of GitLab docs, but those docs are wrong and pending a fix: https://gitlab.com/gitlab-org/gitlab/-/issues/409430 Fixes: 5f63a67adb58478974b91f5e5c2b1222b5c7f2cc Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Camilla Conte <cconte@redhat.com> Message-Id: <20230531140654.1141145-1-berrange@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2023-05-24Add loop over docker infoCamilla Conte
Wait for docker info to return successfuly to ensure that the docker server (daemon) started. This is needed for jobs running on Kubernetes. See https://wiki.qemu.org/Testing/CI/KubernetesRunners. Signed-off-by: Camilla Conte <cconte@redhat.com> Message-Id: <20230522174153.46801-4-cconte@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2023-05-24Remove redundant CI variablesCamilla Conte
These are not needed when using gitlab.com shared runners. Signed-off-by: Camilla Conte <cconte@redhat.com> Message-Id: <20230522174153.46801-2-cconte@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2023-05-19Revert last two patchesRichard Henderson
Unintentionally pushed. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2023-05-19Add CI configuration for KubernetesCamilla Conte
Configure Gitlab CI to run on Kubernetes according to the official documentation. https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#docker-in-docker-with-tls-enabled-in-kubernetes These changes are needed because of the CI jobs using Docker-in-Docker (dind). As soon as Docker-in-Docker is replaced with Kaniko, these changes can be reverted. I documented what I did to set up the Kubernetes runner on the wiki: https://wiki.qemu.org/Testing/CI/KubernetesRunners Signed-off-by: Camilla Conte <cconte@redhat.com> Message-Id: <20230407145252.32955-1-cconte@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2023-03-05gitlab/opensbi: Move to docker:stablePalmer Dabbelt
The OpenSBI build has been using docker:19.03.1, which appears to be old enough that v2 of the manifest is no longer supported. Something has started serving us those manifests, resulting in errors along the lines of $ docker build --cache-from $IMAGE_TAG --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --tag $IMAGE_TAG .gitlab-ci.d/opensbi Step 1/7 : FROM ubuntu:18.04 18.04: Pulling from library/ubuntu mediaType in manifest should be 'application/vnd.docker.distribution.manifest.v2+json' not 'application/vnd.oci.image.manifest.v1+json' This moves to docker:stable, as was suggested by the template. It also adds the python3 package via apt, as OpenSBI requires that to build. Reviewed-by: Bin Meng <bmeng@tinylab.org> Message-ID: <20230303202448.11911-2-palmer@rivosinc.com> Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-07-05gitlab: honour QEMU_CI variable in edk2/opensbi jobsDaniel P. Berrangé
To preserve contributor CI credits we don't want jobs to run by default unless the QEMU_CI variable is set. For most jobs we can achieve this using the base template, but the edk2/opensbi jobs are a little special as they have some complex conditions we can't easily model in the base template. We duplicate existing rules and put them under control of QEMU_CI variable, such that QEMU_CI=1 creates manual jobs and QEMU_CI=2 immediately runs jobs. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220629170638.520630-4-berrange@redhat.com> [thuth: Fixed "on_success" <-> "manual" copy-n-paste bug] Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-07-05gitlab: tweak comments in edk2/opensbi jobsDaniel P. Berrangé
Get rid of comments stating the obvious and re-arrange remaining comments. The opensbi split of rules for file matches is also merged into one rule. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220629170638.520630-3-berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-07-05gitlab: normalize indentation in edk2/opensbi rulesDaniel P. Berrangé
The edk2/opensbi gitlab CI config was using single space indents which is not consistent with the rest of the gitlab CI config files. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220629170638.520630-2-berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-01-21roms/opensbi: Remove ELF imagesAnup Patel
Now that all RISC-V machines can use OpenSBI BIN images, we remove OpenSBI ELF images and also exclude these images from BIOS build. Signed-off-by: Anup Patel <apatel@ventanamicro.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2021-07-29gitlab-ci: Fix 'when:' condition in OpenSBI jobsPhilippe Mathieu-Daudé
Jobs depending on another should not use the 'when: always' condition, because if a dependency failed we should not keep running jobs depending on it. The correct condition is 'when: on_success'. Fixes: c6fc0fc1a71 ("gitlab-ci.yml: Add jobs to build OpenSBI firmware binaries") Reported-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Message-Id: <20210727142431.1672530-5-philmd@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2021-07-23gitlab-ci: Extract OpenSBI job rules to reusable sectionPhilippe Mathieu-Daudé
All jobs depending on 'docker-opensbi' job must use at most all the rules that triggers it. The simplest way to ensure that is to always use the same rules. Extract all the rules to a reusable section, and include this section (with the 'extends' keyword) in both 'docker-opensbi' and 'build-opensbi' jobs. The problem was introduced in commit c6fc0fc1a71 ("gitlab-ci.yml: Add jobs to build OpenSBI firmware binaries"), but was revealed in commit 91e9c47e50a ("docker: OpenSBI build job depends on OpenSBI container"). This fix is similar to the one used with the EDK2 firmware job in commit ac0595cf6b3 ("gitlab-ci: Extract EDK2 job rules to reusable section"). Reported-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Message-Id: <20210720164829.3949558-1-philmd@redhat.com> Message-Id: <20210720232703.10650-30-alex.bennee@linaro.org>
2021-03-09docker: OpenSBI build job depends on OpenSBI containerPhilippe Mathieu-Daudé
Add missing dependency build-opensbi -> docker-opensbi. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20210303130646.1494015-4-philmd@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2020-08-21gitlab-ci/opensbi: Update GitLab CI to build generic platformBin Meng
This updates the GitLab CI opensbi job to build opensbi bios images for the generic platform. Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Anup Patel <anup@brainfault.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-Id: <1596439832-29238-7-git-send-email-bmeng.cn@gmail.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2020-07-11gitlab: introduce explicit "container" and "build" stagesDaniel P. Berrangé
If no stage is listed, jobs get put in an implicit "test" stage. Some jobs which create container images to be used by later stages are currently listed as in a "build" stages. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20200622153318.751107-2-berrange@redhat.com> Message-Id: <20200701135652.1366-21-alex.bennee@linaro.org>
2020-07-11gitlab-ci: Fix the change rules after moving the YML filesThomas Huth
The edk2.yml and opensbi.yml files have recently been moved/renamed, but the change has not been reflected in the rules in the YML files yet. Fixes: 922febe2af ("Move edk2 and opensbi YAML files to .gitlab-ci.d folder") Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20200625151627.24986-1-thuth@redhat.com> Message-Id: <20200701135652.1366-20-alex.bennee@linaro.org>
2020-05-28gitlab-ci: Move edk2 and opensbi YAML files to .gitlab-ci.d folderThomas Huth
We have a dedicated folder for the gitlab-ci - so there is no need to clutter the top directory with these .yml files. Message-Id: <20200525131823.715-5-thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com>