1 Star 0 Fork 9

大鱼/xenomai

forked from Xenomai/xenomai 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
.gitlab-ci.yml 9.69 KB
一键复制 编辑 原始数据 按行查看 历史
jankiszka 提交于 2024-02-14 20:55 . ci: Prefix ONLY_RUN with xenomai-3
#
# Xenomai Real-Time System
#
# Copyright (c) Siemens AG, 2020-2023
#
# Authors:
# Quirin Gylstorff <quirin.gylstorff@siemens.com>
#
# SPDX-License-Identifier: MIT
stages:
- build
- test
default:
image: debian:bookworm
variables:
GIT_STRATEGY: clone
KDIR: "/tmp/kernel"
USE_CCACHE: "1"
CCACHE_MAXSIZE: "1G"
PIPELINE_KERNEL: "https://source.denx.de/Xenomai/linux-dovetail.git"
GCC_VERSION: "12"
PACKAGES: "u-boot-tools git make bc bison libelf-dev autotools-dev \
autoconf autogen libtool pkg-config ccache flex libssl-dev \
gcc-${GCC_VERSION}"
PACKAGES_arm: "gcc-${GCC_VERSION}-arm-linux-gnueabihf libc6-dev-armhf-cross"
PACKAGES_arm64: "gcc-${GCC_VERSION}-aarch64-linux-gnu libc6-dev-arm64-cross"
PACKAGES_i386: "gcc-${GCC_VERSION}-i686-linux-gnu libc6-dev-i386-cross"
PACKAGES_x86: ""
XENOMAI_IMAGES_BRANCH: "master"
.build:
stage: build
rules:
- if: $CI_COMMIT_BRANCH != "master"
- if: $CI_COMMIT_TAG
when: never
before_script:
- apt update
- ARCH_PACKAGES="PACKAGES_${ARCH}"
- apt install -y ${PACKAGES} ${!ARCH_PACKAGES}
- REV=$(git ls-remote --tags --head --refs ${PIPELINE_KERNEL} | sed -e "s/.*[[:space:]]refs\/\(tags\|heads\)\///" | grep "${PIPELINE_REV}" | sort -r -n -k 1.4 | head -1)
- test -n "${REV}" || REV="${PIPELINE_REV}"
- test -n "${PIPELINE_KERNEL}" && echo "Checking out ${REV}..." && git clone --depth 1 --branch ${REV} ${PIPELINE_KERNEL} ${KDIR}
- case "${ARCH}" in
"arm64")
export CROSS_COMPILE=aarch64-linux-gnu-;
export CONFIGURE_OPTS="--host=aarch64-linux-gnu --with-cc=aarch64-linux-gnu-gcc";
update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-${GCC_VERSION} 800;
;;
"arm")
export CROSS_COMPILE=arm-linux-gnueabihf-;
export CONFIGURE_OPTS="--host=arm-linux-gnueabihf --with-cc=arm-linux-gnueabihf-gcc";
update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-${GCC_VERSION} 800;
;;
"i386")
export CROSS_COMPILE=i686-linux-gnu-;
export CONFIGURE_OPTS="--host=i686-linux-gnu --with-cc=i686-linux-gnu-gcc";
update-alternatives --install /usr/bin/i686-linux-gnu-gcc i686-linux-gnu-gcc /usr/bin/i686-linux-gnu-gcc-${GCC_VERSION} 800;
;;
"x86")
export CROSS_COMPILE=;
export CONFIGURE_OPTS="--enable-dlopen-libs --enable-lazy-setsched";
;;
esac
- update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${GCC_VERSION} 800
- ln -s /usr/lib/ccache/${CROSS_COMPILE}gcc-${GCC_VERSION} /usr/lib/ccache/${CROSS_COMPILE}gcc
- export PATH=/usr/lib/ccache:$PATH
- ${CROSS_COMPILE}gcc --version
script:
- export CCACHE_DIR=$(pwd)/.ccache
- pushd ${KDIR}
- make -j $(nproc) ${KERNEL_DEFCONFIG}
# Generic settings
- ./scripts/config -d DEBUG_INFO
# Dovetail and Xenomai settings
- ./scripts/config -e DOVETAIL
- ./scripts/config -e XENOMAI
- ./scripts/config -e XENO_OPT_SCHED_CLASSES
- ./scripts/config -e XENO_OPT_SCHED_WEAK
- ./scripts/config -e XENO_OPT_SCHED_TP
- ./scripts/config -e XENO_OPT_SCHED_SPORADIC
- ./scripts/config -e XENO_OPT_SCHED_QUOTA
- ./scripts/config -e XENO_OPT_SHIRQ
- ./scripts/config -e XENO_OPT_SCALABLE_SCHED
- ./scripts/config -e XENO_OPT_DEBUG
- ./scripts/config -e XENO_OPT_DEBUG_COBALT
- ./scripts/config -e XENO_OPT_DEBUG_MEMORY
- ./scripts/config -e XENO_OPT_DEBUG_CONTEXT
- ./scripts/config -e XENO_OPT_DEBUG_USER
- ./scripts/config -e XENO_OPT_DEBUG_LEGACY
- ./scripts/config -e XENO_OPT_DEBUG_TRACE_RELAX
- ./scripts/config -e XENO_DRIVERS_16550A
- ./scripts/config -e XENO_DRIVERS_16550A_ANY
- ./scripts/config -e XENO_DRIVERS_16550A_PCI
- ./scripts/config -e XENO_DRIVERS_16550A_PCI_MOXA
- ./scripts/config -e XENO_DRIVERS_IMX_UART
- ./scripts/config -e XENO_DRIVERS_RTDMTEST
- ./scripts/config -e XENO_DRIVERS_CAN
- ./scripts/config -e XENO_DRIVERS_CAN_LOOPBACK
- ./scripts/config -e XENO_DRIVERS_CAN_VIRT
- ./scripts/config -e XENO_DRIVERS_CAN_FLEXCAN
- ./scripts/config -e XENO_DRIVERS_CAN_SJA1000
- ./scripts/config -e XENO_DRIVERS_CAN_SJA1000_ISA
- ./scripts/config -e XENO_DRIVERS_CAN_SJA1000_MEM
- ./scripts/config -e XENO_DRIVERS_CAN_SJA1000_PEAK_PCI
- ./scripts/config -e XENO_DRIVERS_CAN_SJA1000_IXXAT_PCI
- ./scripts/config -e XENO_DRIVERS_CAN_SJA1000_ADV_PCI
- ./scripts/config -e XENO_DRIVERS_CAN_SJA1000_PLX_PCI
- ./scripts/config -e XENO_DRIVERS_CAN_SJA1000_EMS_PCI
- ./scripts/config -e XENO_DRIVERS_CAN_SJA1000_ESD_PCI
- ./scripts/config -e XENO_DRIVERS_CAN_SJA1000_PEAK_DNG
- ./scripts/config -e XENO_DRIVERS_CAN_PEAK_CANFD
- ./scripts/config -e XENO_DRIVERS_CAN_C_CAN
- ./scripts/config -e XENO_DRIVERS_CAN_C_CAN_PLATFORM
- ./scripts/config -m XENO_DRIVERS_NET
- ./scripts/config -e XENO_DRIVERS_RTNET_CHECKED
- ./scripts/config -e XENO_DRIVERS_NET_ETH_P_ALL
- ./scripts/config -e XENO_DRIVERS_NET_RTIPV4_NETROUTING
- ./scripts/config -e XENO_DRIVERS_NET_RTIPV4_ROUTER
- ./scripts/config -e XENO_DRIVERS_NET_RTIPV4_DEBUG
- ./scripts/config -m XENO_DRIVERS_NET_RTIPV4_TCP
- ./scripts/config -e XENO_DRIVERS_NET_RTIPV4_TCP_ERROR_INJECTION
- ./scripts/config -m XENO_DRIVERS_NET_NOMAC
- ./scripts/config -e XENO_DRIVERS_NET_RTCFG_DEBUG
- ./scripts/config -m XENO_DRIVERS_NET_DRV_PCNET32
- ./scripts/config -m XENO_DRIVERS_NET_DRV_TULIP
- ./scripts/config -e XENO_DRIVERS_NET_DRV_EEPRO100_DBG
- ./scripts/config -m XENO_DRIVERS_NET_DRV_E1000E
- ./scripts/config -m XENO_DRIVERS_NET_DRV_NATSEMI
- ./scripts/config -m XENO_DRIVERS_NET_DRV_VIA_RHINE
- ./scripts/config -m XENO_DRIVERS_NET_DRV_IGB
- ./scripts/config -m XENO_DRIVERS_NET_DRV_IGC
- ./scripts/config -m XENO_DRIVERS_NET_DRV_R8169
- ./scripts/config -e XENO_DRIVERS_NET_EXP_DRIVERS
- ./scripts/config -m XENO_DRIVERS_NET_DRV_3C59X
- ./scripts/config -m XENO_DRIVERS_NET_DRV_E1000_NEW
- ./scripts/config -m XENO_DRIVERS_NET_DRV_RT2500
- ./scripts/config -m XENO_DRIVERS_NET_FEC
- ./scripts/config -m XENO_DRIVERS_NET_ADDON_RTCAP
- ./scripts/config -m XENO_DRIVERS_NET_ADDON_PROXY
- ./scripts/config -e XENO_DRIVERS_NET_ADDON_PROXY_ARP
- ./scripts/config -e XENO_DRIVERS_ANALOGY
- ./scripts/config -e XENO_DRIVERS_ANALOGY_DEBUG
- ./scripts/config -e XENO_DRIVERS_ANALOGY_DEBUG_FTRACE
- ./scripts/config -e XENO_DRIVERS_ANALOGY_FAKE
- ./scripts/config -e XENO_DRIVERS_ANALOGY_NI_PCIMIO
- ./scripts/config -e XENO_DRIVERS_ANALOGY_S526
- ./scripts/config -e XENO_DRIVERS_RTIPC
- ./scripts/config -e XENO_DRIVERS_UDD
- ./scripts/config -e GPIOLIB
- ./scripts/config -e XENO_DRIVERS_GPIO
- ./scripts/config -e XENO_DRIVERS_GPIO_BCM2835
- ./scripts/config -e XENO_DRIVERS_GPIO_MXC
- ./scripts/config -e XENO_DRIVERS_GPIO_SUN8I_H3
- ./scripts/config -e XENO_DRIVERS_GPIO_ZYNQ7000
- ./scripts/config -e XENO_DRIVERS_GPIO_XILINX
- ./scripts/config -e XENO_DRIVERS_GPIO_OMAP
- ./scripts/config -e PINCTRL
- ./scripts/config -e PINCTRL_CHERRYVIEW
- ./scripts/config -e XENO_DRIVERS_GPIO_CHERRYVIEW
- ./scripts/config -e XENO_DRIVERS_GPIO_DEBUG
- ./scripts/config -e XENO_DRIVERS_GPIOPWM
- ./scripts/config -e XENO_DRIVERS_SPI_BCM2835
- ./scripts/config -e XENO_DRIVERS_SPI_SUN6I
- ./scripts/config -e XENO_DRIVERS_SPI_OMAP2_MCSPI_RT
- ./scripts/config -e XENO_DRIVERS_SPI_DEBUG
- popd
- scripts/prepare-kernel.sh --arch=${ARCH} --linux=${KDIR}
- pushd ${KDIR}
- make -j $(nproc) olddefconfig
- make -j $(nproc) all
- popd
- scripts/bootstrap
- ./configure --enable-smp ${CONFIGURE_OPTS}
- make -j $(nproc)
- ccache -s
interruptible: true
cache:
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths:
- .ccache
arm-6.xx-latest:
extends: .build
variables:
ARCH: arm
PIPELINE_REV: "v6\\.[0-9].*-dovetail-rebase"
KERNEL_DEFCONFIG: multi_v7_defconfig
arm-6.1-head:
extends: .build
variables:
ARCH: arm
PIPELINE_REV: v6.1.y-dovetail-rebase
KERNEL_DEFCONFIG: multi_v7_defconfig
arm-5.10-head:
extends: .build
variables:
ARCH: arm
PIPELINE_REV: v5.10.y-dovetail-rebase
KERNEL_DEFCONFIG: multi_v7_defconfig
arm64-6.xx-latest:
extends: .build
variables:
ARCH: arm64
PIPELINE_REV: "v6\\.[0-9].*-dovetail-rebase"
KERNEL_DEFCONFIG: defconfig
arm64-6.1-head:
extends: .build
variables:
ARCH: arm64
PIPELINE_REV: v6.1.y-dovetail-rebase
KERNEL_DEFCONFIG: defconfig
arm64-5.10-head:
extends: .build
variables:
ARCH: arm64
PIPELINE_REV: v5.10.y-dovetail-rebase
KERNEL_DEFCONFIG: defconfig
x86-6.xx-latest:
extends: .build
variables:
ARCH: x86
PIPELINE_REV: "v6\\.[0-9].*-dovetail-rebase"
KERNEL_DEFCONFIG: x86_64_defconfig
x86-6.1-head:
extends: .build
variables:
ARCH: x86
PIPELINE_REV: v6.1.y-dovetail-rebase
KERNEL_DEFCONFIG: x86_64_defconfig
x86-5.10-head:
extends: .build
variables:
ARCH: x86
PIPELINE_REV: v5.10.y-dovetail-rebase
KERNEL_DEFCONFIG: x86_64_defconfig
i386-userland:
extends: .build
variables:
ARCH: i386
script:
- export CCACHE_DIR=$(pwd)/.ccache
- scripts/bootstrap
- ./configure --enable-smp ${CONFIGURE_OPTS}
- make -j $(nproc)
- ccache -s
i386-userland-y2038-unavailable:
extends: i386-userland
image: debian:bullseye
variables:
GCC_VERSION: "10"
trigger-xenomai-images:
stage: test
variables:
ONLY_RUN: xenomai-3/${CI_COMMIT_BRANCH}
trigger:
project: xenomai/xenomai-images
branch: next
rules:
- if: '$CI_COMMIT_BRANCH == "next" || $CI_COMMIT_BRANCH =~ /stable\/.*/'
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/hourenyu/xenomai.git
git@gitee.com:hourenyu/xenomai.git
hourenyu
xenomai
xenomai
master

搜索帮助

23e8dbc6 1850385 7e0993f3 1850385