gitlab-ci: Remove job building OpenSBI firmware binaries
The OpenSBI firmware build job follows the same pattern as the EDK2 job [1] that was removed earlier [2]: it exists to produce firmware binaries from CI artifacts, but those outputs are not consumed by the tree. Remove the job definition and its project include to avoid maintaining bitrotting container and firmware build logic. [1]71920809ce("gitlab-ci.yml: Add jobs to build EDK2 firmware binaries") [2]690ceb7193("gitlab-ci: Remove job building EDK2 firmware binaries") Signed-off-by: Bin Meng <bin.meng@processmission.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Message-ID: <20260706161716.29488-1-bin.meng@processmission.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
committed by
Alistair Francis
parent
83a87a38b6
commit
46a593eb8a
@@ -1,88 +0,0 @@
|
|||||||
# All jobs needing docker-opensbi must use the same rules it uses.
|
|
||||||
.opensbi_job_rules:
|
|
||||||
rules:
|
|
||||||
# Forks don't get pipelines unless QEMU_CI=1 or QEMU_CI=2 is set
|
|
||||||
- if: '$QEMU_CI != "1" && $QEMU_CI != "2" && $CI_PROJECT_NAMESPACE != "qemu-project"'
|
|
||||||
when: never
|
|
||||||
|
|
||||||
# In forks, if QEMU_CI=1 is set, then create manual job
|
|
||||||
# if any files affecting the build output are touched
|
|
||||||
- if: '$QEMU_CI == "1" && $CI_PROJECT_NAMESPACE != "qemu-project"'
|
|
||||||
changes:
|
|
||||||
- .gitlab-ci.d/opensbi.yml
|
|
||||||
- .gitlab-ci.d/opensbi/Dockerfile
|
|
||||||
- roms/opensbi/*
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
# In forks, if QEMU_CI=1 is set, then create manual job
|
|
||||||
# if the branch/tag starts with 'opensbi'
|
|
||||||
- if: '$QEMU_CI == "1" && $CI_PROJECT_NAMESPACE != "qemu-project" && $CI_COMMIT_REF_NAME =~ /^opensbi/'
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
# In forks, if QEMU_CI=1 is set, then create manual job
|
|
||||||
# if the last commit msg contains 'OpenSBI' (case insensitive)
|
|
||||||
- if: '$QEMU_CI == "1" && $CI_PROJECT_NAMESPACE != "qemu-project" && $CI_COMMIT_MESSAGE =~ /opensbi/i'
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
# Scheduled runs on mainline don't get pipelines except for the special Coverity job
|
|
||||||
- if: '$CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_PIPELINE_SOURCE == "schedule"'
|
|
||||||
when: never
|
|
||||||
|
|
||||||
# Run if any files affecting the build output are touched
|
|
||||||
- changes:
|
|
||||||
- .gitlab-ci.d/opensbi.yml
|
|
||||||
- .gitlab-ci.d/opensbi/Dockerfile
|
|
||||||
- roms/opensbi/*
|
|
||||||
when: on_success
|
|
||||||
|
|
||||||
# Run if the branch/tag starts with 'opensbi'
|
|
||||||
- if: '$CI_COMMIT_REF_NAME =~ /^opensbi/'
|
|
||||||
when: on_success
|
|
||||||
|
|
||||||
# Run if the last commit msg contains 'OpenSBI' (case insensitive)
|
|
||||||
- if: '$CI_COMMIT_MESSAGE =~ /opensbi/i'
|
|
||||||
when: on_success
|
|
||||||
|
|
||||||
docker-opensbi:
|
|
||||||
extends: .opensbi_job_rules
|
|
||||||
stage: containers
|
|
||||||
image: docker:latest
|
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
variables:
|
|
||||||
GIT_DEPTH: 3
|
|
||||||
IMAGE_TAG: $CI_REGISTRY_IMAGE:opensbi-cross-build
|
|
||||||
before_script:
|
|
||||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
|
||||||
- until docker info; do sleep 1; done
|
|
||||||
script:
|
|
||||||
- docker pull $IMAGE_TAG || true
|
|
||||||
- docker build --cache-from $IMAGE_TAG --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
|
|
||||||
--tag $IMAGE_TAG .gitlab-ci.d/opensbi
|
|
||||||
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
|
|
||||||
- docker push $IMAGE_TAG
|
|
||||||
|
|
||||||
build-opensbi:
|
|
||||||
extends: .opensbi_job_rules
|
|
||||||
stage: build
|
|
||||||
needs: ['docker-opensbi']
|
|
||||||
artifacts:
|
|
||||||
when: on_success
|
|
||||||
paths: # 'artifacts.zip' will contains the following files:
|
|
||||||
- pc-bios/opensbi-riscv32-generic-fw_dynamic.bin
|
|
||||||
- pc-bios/opensbi-riscv64-generic-fw_dynamic.bin
|
|
||||||
- opensbi32-generic-stdout.log
|
|
||||||
- opensbi32-generic-stderr.log
|
|
||||||
- opensbi64-generic-stdout.log
|
|
||||||
- opensbi64-generic-stderr.log
|
|
||||||
image: $CI_REGISTRY_IMAGE:opensbi-cross-build
|
|
||||||
variables:
|
|
||||||
GIT_DEPTH: 3
|
|
||||||
script: # Clone the required submodules and build OpenSBI
|
|
||||||
- git submodule update --init roms/opensbi
|
|
||||||
- export JOBS=$(($(getconf _NPROCESSORS_ONLN) + 1))
|
|
||||||
- echo "=== Using ${JOBS} simultaneous jobs ==="
|
|
||||||
- make -j${JOBS} -C roms/opensbi clean
|
|
||||||
- make -j${JOBS} -C roms opensbi32-generic 2>&1 1>opensbi32-generic-stdout.log | tee -a opensbi32-generic-stderr.log >&2
|
|
||||||
- make -j${JOBS} -C roms/opensbi clean
|
|
||||||
- make -j${JOBS} -C roms opensbi64-generic 2>&1 1>opensbi64-generic-stdout.log | tee -a opensbi64-generic-stderr.log >&2
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
#
|
|
||||||
# Docker image to cross-compile OpenSBI firmware binaries
|
|
||||||
#
|
|
||||||
FROM ubuntu:18.04
|
|
||||||
|
|
||||||
MAINTAINER Bin Meng <bmeng.cn@gmail.com>
|
|
||||||
|
|
||||||
# Install packages required to build OpenSBI
|
|
||||||
RUN apt update \
|
|
||||||
&& \
|
|
||||||
\
|
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
|
||||||
apt install --assume-yes --no-install-recommends \
|
|
||||||
build-essential \
|
|
||||||
ca-certificates \
|
|
||||||
git \
|
|
||||||
make \
|
|
||||||
python3 \
|
|
||||||
wget \
|
|
||||||
&& \
|
|
||||||
\
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Manually install the kernel.org "Crosstool" based toolchains for gcc-8.3
|
|
||||||
RUN wget -O - \
|
|
||||||
https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/8.3.0/x86_64-gcc-8.3.0-nolibc-riscv32-linux.tar.xz \
|
|
||||||
| tar -C /opt -xJ
|
|
||||||
RUN wget -O - \
|
|
||||||
https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/8.3.0/x86_64-gcc-8.3.0-nolibc-riscv64-linux.tar.xz \
|
|
||||||
| tar -C /opt -xJ
|
|
||||||
|
|
||||||
# Export the toolchains to the system path
|
|
||||||
ENV PATH="/opt/gcc-8.3.0-nolibc/riscv32-linux/bin:${PATH}"
|
|
||||||
ENV PATH="/opt/gcc-8.3.0-nolibc/riscv64-linux/bin:${PATH}"
|
|
||||||
@@ -11,7 +11,6 @@ default:
|
|||||||
include:
|
include:
|
||||||
- local: '/.gitlab-ci.d/base.yml'
|
- local: '/.gitlab-ci.d/base.yml'
|
||||||
- local: '/.gitlab-ci.d/stages.yml'
|
- local: '/.gitlab-ci.d/stages.yml'
|
||||||
- local: '/.gitlab-ci.d/opensbi.yml'
|
|
||||||
- local: '/.gitlab-ci.d/containers.yml'
|
- local: '/.gitlab-ci.d/containers.yml'
|
||||||
- local: '/.gitlab-ci.d/crossbuilds.yml'
|
- local: '/.gitlab-ci.d/crossbuilds.yml'
|
||||||
- local: '/.gitlab-ci.d/buildtest.yml'
|
- local: '/.gitlab-ci.d/buildtest.yml'
|
||||||
|
|||||||
@@ -4127,8 +4127,6 @@ R: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>
|
|||||||
L: qemu-riscv@nongnu.org
|
L: qemu-riscv@nongnu.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: pc-bios/opensbi-*
|
F: pc-bios/opensbi-*
|
||||||
F: .gitlab-ci.d/opensbi.yml
|
|
||||||
F: .gitlab-ci.d/opensbi/
|
|
||||||
|
|
||||||
Clock framework
|
Clock framework
|
||||||
M: Luc Michel <luc@lmichel.fr>
|
M: Luc Michel <luc@lmichel.fr>
|
||||||
|
|||||||
Reference in New Issue
Block a user