mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-25 21:24:21 +08:00
fc3414212e
With the migration to python3 for all of our tests, we need to install pyelftools via pip now rather than the system tools as they will otherwise not be present in our virtualenv. Signed-off-by: Tom Rini <trini@konsulko.com> --- Changes in v2: Switch to pip
669 lines
24 KiB
YAML
669 lines
24 KiB
YAML
# SPDX-License-Identifier: GPL-2.0+
|
|
# Copyright Roger Meier <r.meier@siemens.com>
|
|
|
|
# build U-Boot on Travis CI - https://travis-ci.org/
|
|
|
|
sudo: required
|
|
dist: bionic
|
|
|
|
language: c
|
|
|
|
addons:
|
|
apt:
|
|
update: true
|
|
sources:
|
|
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main'
|
|
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
|
|
packages:
|
|
- autopoint
|
|
- cppcheck
|
|
- sloccount
|
|
- sparse
|
|
- bc
|
|
- build-essential
|
|
- libsdl2-dev
|
|
- python
|
|
- python3-sphinx
|
|
- python3-virtualenv
|
|
- python3-pip
|
|
- swig
|
|
- libpython-dev
|
|
- iasl
|
|
- grub-efi-ia32-bin
|
|
- grub-efi-amd64-bin
|
|
- rpm2cpio
|
|
- wget
|
|
- device-tree-compiler
|
|
- lzop
|
|
- liblz4-tool
|
|
- lzma-alone
|
|
- libisl15
|
|
- clang-10
|
|
- srecord
|
|
- graphviz
|
|
- coreutils
|
|
- util-linux
|
|
- dosfstools
|
|
- gdisk
|
|
- mount
|
|
- mtools
|
|
- openssl
|
|
- sbsigntool
|
|
- fakeroot
|
|
- mtd-utils
|
|
|
|
install:
|
|
# Clone uboot-test-hooks
|
|
- git clone --depth=1 git://github.com/swarren/uboot-test-hooks.git /tmp/uboot-test-hooks
|
|
- ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname`
|
|
- ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname`
|
|
# prepare buildman environment
|
|
- echo -e "[toolchain]\nroot = /usr" > ~/.buildman
|
|
- echo -e "arc = /tmp/arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
|
|
- echo -e "\n[toolchain-alias]\nsh = sh2" >> ~/.buildman
|
|
- echo -e "x86 = i386" >> ~/.buildman;
|
|
- echo -e "riscv = riscv64" >> ~/.buildman;
|
|
- cat ~/.buildman
|
|
- grub-mkimage --prefix="" -o ~/grub_x86.efi -O i386-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd
|
|
- grub-mkimage --prefix="" -o ~/grub_x64.efi -O x86_64-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd
|
|
- wget http://mirrors.kernel.org/ubuntu/pool/main/m/mpfr4/libmpfr4_3.1.4-1_amd64.deb && sudo dpkg -i libmpfr4_3.1.4-1_amd64.deb && rm libmpfr4_3.1.4-1_amd64.deb
|
|
- wget http://mirrors.kernel.org/ubuntu/pool/universe/e/efitools/efitools_1.8.1-0ubuntu2_amd64.deb && sudo dpkg -i efitools_1.8.1-0ubuntu2_amd64.deb && rm efitools_1.8.1-0ubuntu2_amd64.deb
|
|
|
|
env:
|
|
global:
|
|
- PATH=/tmp/qemu-install/bin:/tmp/uboot-test-hooks/bin:/sbin:/usr/bin:/bin:/usr/local/bin
|
|
- PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci
|
|
- BUILD_DIR=build
|
|
- HOSTCC="cc"
|
|
- HOSTCXX="c++"
|
|
- QEMU_VERSION="v4.2.0"
|
|
|
|
before_script:
|
|
# install toolchains based on TOOLCHAIN} variable
|
|
- if [[ "${TOOLCHAIN}" == *m68k* ]]; then ./tools/buildman/buildman --fetch-arch m68k ; fi
|
|
- if [[ "${TOOLCHAIN}" == *microblaze* ]]; then ./tools/buildman/buildman --fetch-arch microblaze ; fi
|
|
- if [[ "${TOOLCHAIN}" == *mips* ]]; then ./tools/buildman/buildman --fetch-arch mips ; fi
|
|
- if [[ "${TOOLCHAIN}" == *sh* ]]; then ./tools/buildman/buildman --fetch-arch sh2 ; fi
|
|
- if [[ "${TOOLCHAIN}" == *i386* ]]; then
|
|
./tools/buildman/buildman --fetch-arch i386;
|
|
fi
|
|
- if [[ "${TOOLCHAIN}" == arc ]]; then
|
|
wget https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2019.09-release/arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install.tar.gz &&
|
|
tar -C /tmp -xf arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install.tar.gz;
|
|
fi
|
|
- if [[ "${TOOLCHAIN}" == "nds32" ]]; then
|
|
wget https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz &&
|
|
tar -C /tmp -xf nds32le-linux-glibc-v3-upstream.tar.gz &&
|
|
echo -e "\n[toolchain-prefix]\nnds32 = /tmp/nds32le-linux-glibc-v3-upstream/bin/nds32le-linux-" >> ~/.buildman;
|
|
fi
|
|
- if [[ "${TOOLCHAIN}" == *xtensa* ]]; then
|
|
wget https://github.com/foss-xtensa/toolchain/releases/download/2018.02/x86_64-2018.02-${TOOLCHAIN}.tar.gz &&
|
|
tar -C /tmp -xf x86_64-2018.02-${TOOLCHAIN}.tar.gz &&
|
|
echo -e "\n[toolchain-prefix]\nxtensa = /tmp/2018.02/${TOOLCHAIN}/bin/${TOOLCHAIN}-" >> ~/.buildman;
|
|
fi
|
|
# If TOOLCHAIN is unset, we're on some flavour of ARM.
|
|
- if [[ "${TOOLCHAIN}" == "" ]]; then
|
|
./tools/buildman/buildman --fetch-arch arm &&
|
|
./tools/buildman/buildman --fetch-arch aarch64;
|
|
fi
|
|
- if [[ "${TOOLCHAIN}" == "powerpc" ]]; then ./tools/buildman/buildman --fetch-arch powerpc; fi
|
|
- if [[ "${TOOLCHAIN}" == "riscv" ]]; then
|
|
./tools/buildman/buildman --fetch-arch riscv32 &&
|
|
./tools/buildman/buildman --fetch-arch riscv64;
|
|
fi
|
|
- if [[ "${QEMU_TARGET}" != "" ]]; then
|
|
git clone git://git.qemu.org/qemu.git /tmp/qemu;
|
|
pushd /tmp/qemu;
|
|
git submodule update --init dtc &&
|
|
git checkout ${QEMU_VERSION} &&
|
|
./configure --prefix=/tmp/qemu-install --target-list=${QEMU_TARGET} &&
|
|
make -j4 all install;
|
|
popd;
|
|
fi
|
|
|
|
# Build GRUB UEFI targets
|
|
- if [[ "${QEMU_TARGET}" == "arm-softmmu" ]]; then
|
|
git clone git://git.savannah.gnu.org/grub.git /tmp/grub &&
|
|
pushd /tmp/grub &&
|
|
git checkout grub-2.04 &&
|
|
./bootstrap &&
|
|
./configure --target=arm --with-platform=efi
|
|
CC=gcc
|
|
TARGET_CC=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc
|
|
TARGET_OBJCOPY=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-objcopy
|
|
TARGET_STRIP=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-strip
|
|
TARGET_NM=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-nm
|
|
TARGET_RANLIB=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ranlib &&
|
|
make -j4 &&
|
|
./grub-mkimage -O arm-efi -o ~/grub_arm.efi --prefix= -d
|
|
grub-core cat chain configfile echo efinet ext2 fat halt help linux
|
|
lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot
|
|
search search_fs_file search_fs_uuid search_label serial sleep test
|
|
true &&
|
|
popd;
|
|
fi
|
|
- if [[ "${QEMU_TARGET}" == "aarch64-softmmu" ]]; then
|
|
git clone git://git.savannah.gnu.org/grub.git /tmp/grub &&
|
|
pushd /tmp/grub &&
|
|
git checkout grub-2.04 &&
|
|
./bootstrap &&
|
|
./configure --target=aarch64 --with-platform=efi
|
|
CC=gcc
|
|
TARGET_CC=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc
|
|
TARGET_OBJCOPY=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-objcopy
|
|
TARGET_STRIP=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-strip
|
|
TARGET_NM=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-nm
|
|
TARGET_RANLIB=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-ranlib &&
|
|
make -j4 &&
|
|
./grub-mkimage -O arm64-efi -o ~/grub_arm64.efi --prefix= -d
|
|
grub-core cat chain configfile echo efinet ext2 fat halt help linux
|
|
lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot
|
|
search search_fs_file search_fs_uuid search_label serial sleep test
|
|
true &&
|
|
popd;
|
|
fi
|
|
- if [[ "${QEMU_TARGET}" == "riscv32-softmmu" ]]; then
|
|
git clone git://git.savannah.gnu.org/grub.git /tmp/grub &&
|
|
pushd /tmp/grub &&
|
|
git checkout grub-2.04 &&
|
|
./bootstrap &&
|
|
./configure --target=riscv32 --with-platform=efi
|
|
CC=gcc
|
|
TARGET_CC=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-gcc
|
|
TARGET_OBJCOPY=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-objcopy
|
|
TARGET_STRIP=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-strip
|
|
TARGET_NM=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-nm
|
|
TARGET_RANLIB=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-ranlib &&
|
|
make -j4 &&
|
|
./grub-mkimage -O riscv32-efi -o ~/grub_riscv32.efi --prefix= -d
|
|
grub-core cat chain configfile echo efinet ext2 fat halt help linux
|
|
lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot
|
|
search search_fs_file search_fs_uuid search_label serial sleep test
|
|
true &&
|
|
popd;
|
|
fi
|
|
- if [[ "${QEMU_TARGET}" == "riscv64-softmmu" ]]; then
|
|
git clone git://git.savannah.gnu.org/grub.git /tmp/grub &&
|
|
pushd /tmp/grub &&
|
|
git checkout grub-2.04 &&
|
|
./bootstrap &&
|
|
./configure --target=riscv64 --with-platform=efi
|
|
CC=gcc
|
|
TARGET_CC=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-gcc
|
|
TARGET_OBJCOPY=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-objcopy
|
|
TARGET_STRIP=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-strip
|
|
TARGET_NM=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-nm
|
|
TARGET_RANLIB=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-ranlib &&
|
|
make -j4 &&
|
|
./grub-mkimage -O riscv64-efi -o ~/grub_riscv64.efi --prefix= -d
|
|
grub-core cat chain configfile echo efinet ext2 fat halt help linux
|
|
lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot
|
|
search search_fs_file search_fs_uuid search_label serial sleep test
|
|
true &&
|
|
popd;
|
|
fi
|
|
- if [[ "${TEST_PY_BD}" == "qemu-riscv32_spl" ]]; then
|
|
wget -O - https://github.com/riscv/opensbi/releases/download/v0.8/opensbi-0.8-rv-bin.tar.xz | tar -C /tmp -xJ;
|
|
export OPENSBI=/tmp/opensbi-0.8-rv-bin/share/opensbi/ilp32/generic/firmware/fw_dynamic.bin;
|
|
fi
|
|
- if [[ "${TEST_PY_BD}" == "qemu-riscv64_spl" ]]; then
|
|
wget -O - https://github.com/riscv/opensbi/releases/download/v0.8/opensbi-0.8-rv-bin.tar.xz | tar -C /tmp -xJ;
|
|
export OPENSBI=/tmp/opensbi-0.8-rv-bin/share/opensbi/lp64/generic/firmware/fw_dynamic.bin;
|
|
fi
|
|
|
|
script:
|
|
# Comments must be outside the command strings below, or the Travis parser
|
|
# will get confused.
|
|
#
|
|
# If we've been asked to use clang only do one configuration.
|
|
#
|
|
# Build a selection of boards if TEST_PY_BD is empty
|
|
- if [[ "${BUILDMAN}" != "" ]]; then
|
|
ret=0
|
|
tools/buildman/buildman -P -E -W ${BUILDMAN} ${OVERRIDE} || ret=$?;
|
|
if [[ $ret -ne 0 ]]; then
|
|
tools/buildman/buildman -seP ${BUILDMAN};
|
|
exit $ret;
|
|
fi;
|
|
fi
|
|
# Build just the one board needed for testing, if TEST_PY_BD is non-empty
|
|
# Note: "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not
|
|
- if [[ "${TEST_PY_BD}" != "" ]]; then
|
|
export UBOOT_TRAVIS_BUILD_DIR=`cd .. && pwd`/${TEST_PY_BD};
|
|
cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/;
|
|
cp ~/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/;
|
|
if [[ -e ~/grub_arm.efi ]]; then
|
|
cp ~/grub_arm.efi $UBOOT_TRAVIS_BUILD_DIR/;
|
|
fi;
|
|
if [[ -e ~/grub_arm64.efi ]]; then
|
|
cp ~/grub_arm64.efi $UBOOT_TRAVIS_BUILD_DIR/;
|
|
fi;
|
|
if [[ -e ~/grub_riscv32.efi ]]; then
|
|
cp ~/grub_riscv32.efi $UBOOT_TRAVIS_BUILD_DIR/;
|
|
fi;
|
|
if [[ -e ~/grub_riscv64.efi ]]; then
|
|
cp ~/grub_riscv64.efi $UBOOT_TRAVIS_BUILD_DIR/;
|
|
fi;
|
|
tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e
|
|
--board ${TEST_PY_BD} ${OVERRIDE} || exit;
|
|
virtualenv -p /usr/bin/python3 /tmp/venv;
|
|
. /tmp/venv/bin/activate;
|
|
pip install -r test/py/requirements.txt;
|
|
./test/py/test.py -ra --bd ${TEST_PY_BD} ${TEST_PY_ID}
|
|
${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"}
|
|
--build-dir "$UBOOT_TRAVIS_BUILD_DIR" || exit;
|
|
if [[ -n "${TEST_PY_TOOLS}" ]]; then
|
|
export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt";
|
|
export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}";
|
|
pip install pyelftools &&
|
|
./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test &&
|
|
./tools/patman/patman test &&
|
|
./tools/buildman/buildman -t &&
|
|
./tools/dtoc/dtoc -t &&
|
|
make testconfig;
|
|
fi;
|
|
fi
|
|
|
|
matrix:
|
|
include:
|
|
# we need to build by vendor due to 50min time limit for builds
|
|
# each env setting here is a dedicated build
|
|
- name: "buildman arc"
|
|
env:
|
|
- BUILDMAN="arc"
|
|
TOOLCHAIN="arc"
|
|
- name: "buildman arm11 arm7 arm920t arm946es"
|
|
env:
|
|
- BUILDMAN="arm11 arm7 arm920t arm946es"
|
|
- name: "buildman arm926ejs (non-NXP,siemens,at91,kirkwood,spear)"
|
|
env:
|
|
- JOB="arm926ejs"
|
|
BUILDMAN="arm926ejs -x freescale,siemens,at91,kirkwood,spear,omap"
|
|
- name: "buildman at91 (non arm v7)"
|
|
env:
|
|
- BUILDMAN="at91 -x armv7"
|
|
- name: "buildman at91 (non arm926ejs)"
|
|
env:
|
|
- BUILDMAN="at91 -x arm926ejs"
|
|
- name: "buildman boundary engicam toradex"
|
|
env:
|
|
- BUILDMAN="boundary engicam toradex"
|
|
- name: "buildman ARM bcm"
|
|
env:
|
|
- BUILDMAN="bcm -x mips"
|
|
- name: "buildman NXP ARM32 (catch-all)"
|
|
env:
|
|
- BUILDMAN="freescale -x powerpc,m68k,aarch64,ls101,ls102,ls104,ls108,ls20,lx216"
|
|
- name: "buildman NXP LS101x"
|
|
env:
|
|
- BUILDMAN="freescale&ls101"
|
|
- name: "buildman NXP LS102x"
|
|
env:
|
|
- BUILDMAN="freescale&ls102"
|
|
- name: "buildman NXP LS104x"
|
|
env:
|
|
- BUILDMAN="freescale&ls104"
|
|
- name: "buildman NXP LS108x"
|
|
env:
|
|
- BUILDMAN="freescale&ls108"
|
|
- name: "buildman NXP LS20xx"
|
|
env:
|
|
- BUILDMAN="freescale&ls20"
|
|
- name: "buildman NXP LX216x"
|
|
env:
|
|
- BUILDMAN="freescale&lx216"
|
|
- name: "buildman i.MX6 tqc"
|
|
env:
|
|
- BUILDMAN="mx6&tqc"
|
|
- name: "buildman i.MX6 (catch-all)"
|
|
env:
|
|
- BUILDMAN="mx6 -x boundary,engicam,freescale,technexion,toradex,tqc"
|
|
- name: "buildman i.MX (non-i.MX6 catch-all)"
|
|
env:
|
|
- BUILDMAN="mx -x freescale,mx6,toradex,technexion"
|
|
- name: "buildman keystone 2/3"
|
|
env:
|
|
- BUILDMAN="k2 k3"
|
|
- name: "buildman samsung socfpga"
|
|
env:
|
|
- BUILDMAN="samsung socfpga"
|
|
- name: "buildman spear"
|
|
env:
|
|
- BUILDMAN="spear"
|
|
- name: "buildman sun4i"
|
|
env:
|
|
- BUILDMAN="sun4i"
|
|
- name: "buildman sun5i"
|
|
env:
|
|
- BUILDMAN="sun5i"
|
|
- name: "buildman sun6i"
|
|
env:
|
|
- BUILDMAN="sun6i"
|
|
- name: "buildman sun7i"
|
|
env:
|
|
- BUILDMAN="sun7i"
|
|
- name: "buildman 64bit sun8i"
|
|
env:
|
|
- BUILDMAN="sun8i&aarch64 -x orangepi"
|
|
- name: "buildman 32bit sun8i"
|
|
env:
|
|
- BUILDMAN="sun8i&armv7 -x orangepi"
|
|
- name: "buildman sun9i"
|
|
env:
|
|
- BUILDMAN="sun9i"
|
|
- name: "buildman sun50i"
|
|
env:
|
|
- BUILDMAN="sun50i -x orangepi"
|
|
- name: "buildman catch-all ARM"
|
|
env:
|
|
- BUILDMAN="arm -x arm11,arm7,arm9,aarch64,at91,bcm,freescale,kirkwood,mvebu,siemens,tegra,uniphier,mx,samsung,sunxi,am33xx,omap,rk,toradex,socfpga,k2,k3,zynq"
|
|
- name: "buildman sandbox x86"
|
|
env:
|
|
- BUILDMAN="sandbox x86"
|
|
TOOLCHAIN="i386"
|
|
- name: "buildman technexion"
|
|
env:
|
|
- BUILDMAN="technexion"
|
|
- name: "buildman kirkwood"
|
|
env:
|
|
- BUILDMAN="kirkwood"
|
|
- name: "buildman mvebu"
|
|
env:
|
|
- BUILDMAN="mvebu"
|
|
- name: "buildman m68k"
|
|
env:
|
|
- BUILDMAN="m68k"
|
|
TOOLCHAIN="m68k"
|
|
- name: "buildman microblaze"
|
|
env:
|
|
- BUILDMAN="microblaze"
|
|
TOOLCHAIN="microblaze"
|
|
- name: "buildman mips"
|
|
env:
|
|
- BUILDMAN="mips"
|
|
TOOLCHAIN="mips"
|
|
- name: "buildman non-Freescale PowerPC"
|
|
env:
|
|
- BUILDMAN="powerpc -x freescale"
|
|
TOOLCHAIN="powerpc"
|
|
- name: "buildman mpc85xx&freescale (excluding many)"
|
|
env:
|
|
- BUILDMAN="mpc85xx&freescale -x t208xrdb -x t4qds -x t102* -x p1_p2_rdb_pc -x p1010rdb -x corenet_ds -x b4860qds -x bsc91*"
|
|
TOOLCHAIN="powerpc"
|
|
- name: "buildman t208xrdb corenet_ds"
|
|
env:
|
|
- BUILDMAN="t208xrdb corenet_ds"
|
|
TOOLCHAIN="powerpc"
|
|
- name: "buildman Freescale PowerPC"
|
|
env:
|
|
- BUILDMAN="t4qds b4860qds mpc83xx&freescale mpc86xx&freescale"
|
|
TOOLCHAIN="powerpc"
|
|
- name: "buildman t102*"
|
|
env:
|
|
- BUILDMAN="t102*"
|
|
TOOLCHAIN="powerpc"
|
|
- name: "buildman p1_p2_rdb_pc"
|
|
env:
|
|
- BUILDMAN="p1_p2_rdb_pc"
|
|
TOOLCHAIN="powerpc"
|
|
- name: "buildman p1010rdb bsc91"
|
|
env:
|
|
- BUILDMAN="p1010rdb bsc91"
|
|
TOOLCHAIN="powerpc"
|
|
- name: "buildman siemens"
|
|
env:
|
|
- BUILDMAN="siemens"
|
|
- name: "buildman tegra"
|
|
env:
|
|
- BUILDMAN="tegra -x toradex"
|
|
- name: "buildman am33xx (no siemens)"
|
|
env:
|
|
- BUILDMAN="am33xx -x siemens"
|
|
- name: "buildman omap"
|
|
env:
|
|
- BUILDMAN="omap"
|
|
- name: "buildman orangepi"
|
|
env:
|
|
- BUILDMAN="orangepi"
|
|
- name: "buildman uniphier"
|
|
env:
|
|
- BUILDMAN="uniphier"
|
|
- name: "buildman catch-all AArch64"
|
|
env:
|
|
- BUILDMAN="aarch64 -x bcm,k3,tegra,ls1,ls2,lx216,mvebu,uniphier,sunxi,samsung,socfpga,rk,versal,zynq"
|
|
- name: "buildman rockchip"
|
|
env:
|
|
- BUILDMAN="rk -x orangepi"
|
|
- name: "buildman sh"
|
|
env:
|
|
- BUILDMAN="sh -x arm"
|
|
TOOLCHAIN="sh"
|
|
- name: "buildman Zynq* (ARMv7)"
|
|
env:
|
|
- BUILDMAN="zynq&armv7"
|
|
- name: "buildman ZynqMP and Versal"
|
|
env:
|
|
- BUILDMAN="versal|zynqmp&aarch64"
|
|
- name: "buildman xtensa"
|
|
env:
|
|
- BUILDMAN="xtensa"
|
|
TOOLCHAIN="xtensa-dc233c-elf"
|
|
- name: "buildman riscv"
|
|
env:
|
|
- BUILDMAN="riscv"
|
|
TOOLCHAIN="riscv"
|
|
- name: "buildman nds32"
|
|
env:
|
|
- BUILDMAN="nds32"
|
|
TOOLCHAIN="nds32"
|
|
|
|
# QA jobs for code analytics
|
|
# static code analysis with cppcheck (we can add --enable=all later)
|
|
- name: "cppcheck"
|
|
script:
|
|
- cppcheck -j$(nproc) --force --quiet --inline-suppr .
|
|
# build HTML documentation
|
|
- name: "htmldocs"
|
|
script:
|
|
- make htmldocs
|
|
# search for TODO within source tree
|
|
- name: "grep TODO"
|
|
script:
|
|
- grep -r TODO .
|
|
# search for FIXME within source tree
|
|
- name: "grep FIXME HACK"
|
|
script:
|
|
- grep -r FIXME .
|
|
# search for HACK within source tree and ignore HACKKIT board
|
|
script:
|
|
- grep -r HACK . | grep -v HACKKIT
|
|
# some statistics about the code base
|
|
- name: "sloccount"
|
|
script:
|
|
- sloccount .
|
|
# ensure all configs have MAINTAINERS entries
|
|
- name: "Check for configs without MAINTAINERS entry"
|
|
script:
|
|
- if [ `./tools/genboardscfg.py -f 2>&1 | wc -l` -ne 0 ]; then exit 1; fi
|
|
# Ensure host tools build
|
|
- name: "Build tools-only"
|
|
script:
|
|
- make tools-only_config tools-only -j$(nproc)
|
|
# Ensure env tools build
|
|
- name: "Build envtools"
|
|
script:
|
|
- make tools-only_config envtools -j$(nproc)
|
|
|
|
- name: "Run tests for Nokia RX-51 (aka N900)"
|
|
script:
|
|
- export PATH=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/:$PATH
|
|
- test/nokia_rx51_test.sh
|
|
|
|
# test/py
|
|
- name: "test/py sandbox"
|
|
env:
|
|
- TEST_PY_BD="sandbox"
|
|
TOOLCHAIN="i386"
|
|
- name: "test/py sandbox with clang"
|
|
env:
|
|
- TEST_PY_BD="sandbox"
|
|
OVERRIDE="-O clang-10"
|
|
- name: "test/py sandbox_spl"
|
|
env:
|
|
- TEST_PY_BD="sandbox_spl"
|
|
TEST_PY_TEST_SPEC="test_ofplatdata or test_handoff"
|
|
TOOLCHAIN="i386"
|
|
TEST_PY_TOOLS="yes"
|
|
- name: "test/py sandbox_flattree"
|
|
env:
|
|
- TEST_PY_BD="sandbox_flattree"
|
|
TOOLCHAIN="i386"
|
|
- name: "test/py evb-ast2500"
|
|
env:
|
|
- TEST_PY_BD="evb-ast2500"
|
|
TEST_PY_ID="--id qemu"
|
|
QEMU_TARGET="arm-softmmu"
|
|
- name: "test/py vexpress_ca15_tc2"
|
|
env:
|
|
- TEST_PY_BD="vexpress_ca15_tc2"
|
|
TEST_PY_ID="--id qemu"
|
|
QEMU_TARGET="arm-softmmu"
|
|
- name: "test/py vexpress_ca9x4"
|
|
env:
|
|
- TEST_PY_BD="vexpress_ca9x4"
|
|
TEST_PY_ID="--id qemu"
|
|
QEMU_TARGET="arm-softmmu"
|
|
- name: "test/py integratorcp_cm926ejs"
|
|
env:
|
|
- TEST_PY_BD="integratorcp_cm926ejs"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
TEST_PY_ID="--id qemu"
|
|
QEMU_TARGET="arm-softmmu"
|
|
- name: "test/py qemu_arm"
|
|
env:
|
|
- TEST_PY_BD="qemu_arm"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="arm-softmmu"
|
|
- name: "test/py qemu_arm64"
|
|
env:
|
|
- TEST_PY_BD="qemu_arm64"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="aarch64-softmmu"
|
|
- name: "test/py qemu_mips"
|
|
env:
|
|
- TEST_PY_BD="qemu_mips"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="mips-softmmu"
|
|
TOOLCHAIN="mips"
|
|
- name: "test/py qemu_mipsel"
|
|
env:
|
|
- TEST_PY_BD="qemu_mipsel"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="mipsel-softmmu"
|
|
TOOLCHAIN="mips"
|
|
- name: "test/py qemu_mips64"
|
|
env:
|
|
- TEST_PY_BD="qemu_mips64"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="mips64-softmmu"
|
|
TOOLCHAIN="mips"
|
|
- name: "test/py qemu_mips64el"
|
|
env:
|
|
- TEST_PY_BD="qemu_mips64el"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="mips64el-softmmu"
|
|
TOOLCHAIN="mips"
|
|
- name: "test/py qemu-malta"
|
|
env:
|
|
- TEST_PY_BD="malta"
|
|
TEST_PY_TEST_SPEC="not sleep and not efi"
|
|
TEST_PY_ID="--id qemu"
|
|
QEMU_TARGET="mips-softmmu"
|
|
TOOLCHAIN="mips"
|
|
- name: "test/py qemu-maltael"
|
|
env:
|
|
- TEST_PY_BD="maltael"
|
|
TEST_PY_TEST_SPEC="not sleep and not efi"
|
|
TEST_PY_ID="--id qemu"
|
|
QEMU_TARGET="mipsel-softmmu"
|
|
TOOLCHAIN="mips"
|
|
- name: "test/py qemu-malta64"
|
|
env:
|
|
- TEST_PY_BD="malta64"
|
|
TEST_PY_TEST_SPEC="not sleep and not efi"
|
|
TEST_PY_ID="--id qemu"
|
|
QEMU_TARGET="mips64-softmmu"
|
|
TOOLCHAIN="mips"
|
|
- name: "test/py qemu-malta64el"
|
|
env:
|
|
- TEST_PY_BD="malta64el"
|
|
TEST_PY_TEST_SPEC="not sleep and not efi"
|
|
TEST_PY_ID="--id qemu"
|
|
QEMU_TARGET="mips64el-softmmu"
|
|
TOOLCHAIN="mips"
|
|
- name: "test/py qemu-ppce500"
|
|
env:
|
|
- TEST_PY_BD="qemu-ppce500"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="ppc-softmmu"
|
|
TOOLCHAIN="powerpc"
|
|
- name: "test/py qemu-riscv32"
|
|
env:
|
|
- TEST_PY_BD="qemu-riscv32"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="riscv32-softmmu"
|
|
TOOLCHAIN="riscv"
|
|
- name: "test/py qemu-riscv64"
|
|
env:
|
|
- TEST_PY_BD="qemu-riscv64"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="riscv64-softmmu"
|
|
TOOLCHAIN="riscv"
|
|
- name: "test/py qemu-riscv32_spl"
|
|
env:
|
|
- TEST_PY_BD="qemu-riscv32_spl"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="riscv32-softmmu"
|
|
TOOLCHAIN="riscv"
|
|
- name: "test/py qemu-riscv64_spl"
|
|
env:
|
|
- TEST_PY_BD="qemu-riscv64_spl"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="riscv64-softmmu"
|
|
TOOLCHAIN="riscv"
|
|
- name: "test/py qemu-x86"
|
|
env:
|
|
- TEST_PY_BD="qemu-x86"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="i386-softmmu"
|
|
TOOLCHAIN="i386"
|
|
BUILD_ROM="yes"
|
|
- name: "test/py qemu-x86_64"
|
|
env:
|
|
- TEST_PY_BD="qemu-x86_64"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="x86_64-softmmu"
|
|
TOOLCHAIN="i386"
|
|
BUILD_ROM="yes"
|
|
- name: "test/py xilinx_zynq_virt"
|
|
env:
|
|
- TEST_PY_BD="xilinx_zynq_virt"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="arm-softmmu"
|
|
TEST_PY_ID="--id qemu"
|
|
- name: "test/py xilinx_versal_virt"
|
|
env:
|
|
- TEST_PY_BD="xilinx_versal_virt"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="aarch64-softmmu"
|
|
TEST_PY_ID="--id qemu"
|
|
- name: "test/py xtfpga"
|
|
env:
|
|
- TEST_PY_BD="xtfpga"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="xtensa-softmmu"
|
|
TEST_PY_ID="--id qemu"
|
|
TOOLCHAIN="xtensa-dc233c-elf"
|
|
|
|
# TODO make it perfect ;-r
|