Goal: - building all variants of U-Boot with multiple configurations - code quality checks and metrics - https://travis-ci.org/u-boot/u-boot/buildsmaster
parent
bd5053ffa5
commit
c7cb334d14
@ -0,0 +1,150 @@ |
||||
# Copyright Roger Meier <r.meier@siemens.com> |
||||
# SPDX-License-Identifier: GPL-2.0+ |
||||
|
||||
# build U-Boot on Travis CI - https://travis-ci.org/ |
||||
|
||||
language: c |
||||
|
||||
cache: |
||||
- apt |
||||
|
||||
install: |
||||
# install U-Boot build dependencies |
||||
- sudo apt-get install -qq cppcheck sloccount sparse bc libsdl-dev gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihf |
||||
# install latest device tree compiler |
||||
- git clone --depth=1 https://git.kernel.org/pub/scm/utils/dtc/dtc.git /tmp/dtc |
||||
- make -j4 -C /tmp/dtc |
||||
# prepare buildman environment |
||||
- export BUILDMAN_ROOT="root:" |
||||
- export BUILDMAN_MIPS="mips:" |
||||
- export BUILDMAN_PPC="ppc:" |
||||
- echo -e "[toolchain]\\n${BUILDMAN_ROOT} /\n" > ~/.buildman |
||||
- echo -e "${BUILDMAN_MIPS} /opt/eldk-5.4/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux/" >> ~/.buildman |
||||
- echo -e "${BUILDMAN_PPC} /opt/eldk-5.4/powerpc/sysroots/i686-eldk-linux/usr/bin/powerpc-linux/" >> ~/.buildman |
||||
- export BUILDMAN_ALIAS="x86:" |
||||
- echo -e "[toolchain-alias]\\n${BUILDMAN_ALIAS} i386" >> ~/.buildman |
||||
- cat ~/.buildman |
||||
|
||||
env: |
||||
global: |
||||
- PATH=/tmp/dtc:$PATH |
||||
- BUILD_DIR=build |
||||
- CROSS_COMPILE="" |
||||
- HOSTCC="cc" |
||||
- HOSTCXX="c++" |
||||
- TEST_CONFIG_CMD="" |
||||
|
||||
before_script: |
||||
# install toolchains based on INSTALL_TOOLCHAIN} variable |
||||
- if [[ "${INSTALL_TOOLCHAIN}" == *ppc* ]]; then wget ftp://ftp.denx.de/pub/eldk/5.4/targets/powerpc/eldk-eglibc-i686-powerpc-toolchain-gmae-5.4.sh ; fi |
||||
- if [[ "${INSTALL_TOOLCHAIN}" == *ppc* ]]; then sh eldk-eglibc-i686-powerpc-toolchain-gmae-5.4.sh -y ; fi |
||||
- if [[ "${INSTALL_TOOLCHAIN}" == *mips* ]]; then wget ftp://ftp.denx.de/pub/eldk/5.4/targets/mips/eldk-eglibc-i686-mips-toolchain-gmae-5.4.sh ; fi |
||||
- if [[ "${INSTALL_TOOLCHAIN}" == *mips* ]]; then sh eldk-eglibc-i686-mips-toolchain-gmae-5.4.sh -y ; fi |
||||
|
||||
script: |
||||
# the execution sequence for each test |
||||
- echo ${TEST_CONFIG_CMD} |
||||
- ${TEST_CONFIG_CMD} |
||||
- echo ${TEST_CMD} |
||||
- ${TEST_CMD} |
||||
|
||||
matrix: |
||||
include: |
||||
# we need to build by vendor due to 50min time limit for builds |
||||
# each env setting here is a dedicated build |
||||
- env: |
||||
- TEST_CMD="./MAKEALL -a arm -v atmel" |
||||
CROSS_COMPILE="arm-linux-gnueabi-" |
||||
- env: |
||||
- TEST_CMD="./MAKEALL -a arm -v denx" |
||||
CROSS_COMPILE="arm-linux-gnueabi-" |
||||
- env: |
||||
- TEST_CMD="./MAKEALL -a arm -v freescale" |
||||
CROSS_COMPILE="arm-linux-gnueabi-" |
||||
- env: |
||||
- TEST_CMD="./MAKEALL -a arm -v siemens" |
||||
CROSS_COMPILE="arm-linux-gnueabi-" |
||||
- env: |
||||
- TEST_CMD="./MAKEALL -a arm -v ti" |
||||
CROSS_COMPILE="arm-linux-gnueabi-" |
||||
- env: |
||||
- TEST_CONFIG_CMD="make sandbox_defconfig" |
||||
TEST_CMD="make -j4" |
||||
HOSTCC = "gcc" |
||||
HOSTCXX = "g++" |
||||
- env: |
||||
- TEST_CONFIG_CMD="make sandbox_defconfig" |
||||
TEST_CMD="make -j4" |
||||
HOSTCC = "clang" |
||||
HOSTCXX = "clang++" |
||||
- env: |
||||
- TEST_CMD="./MAKEALL -a mips" |
||||
INSTALL_TOOLCHAIN="mips" |
||||
CROSS_COMPILE="/opt/eldk-5.4/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux/mips-linux-" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman --list-error-boards atmel" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman --list-error-boards denx" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman --list-error-boards freescale arm" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman --list-error-boards siemens" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman --list-error-boards ti" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman mips" |
||||
INSTALL_TOOLCHAIN="mips" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman mpc5xx" |
||||
INSTALL_TOOLCHAIN="ppc" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman mpc8xx" |
||||
INSTALL_TOOLCHAIN="ppc" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman mpc5xxx" |
||||
INSTALL_TOOLCHAIN="ppc" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman mpc512x" |
||||
INSTALL_TOOLCHAIN="ppc" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman mpc824x" |
||||
INSTALL_TOOLCHAIN="ppc" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman mpc8260" |
||||
INSTALL_TOOLCHAIN="ppc" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman mpc83xx" |
||||
INSTALL_TOOLCHAIN="ppc" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman mpc85xx" |
||||
INSTALL_TOOLCHAIN="ppc" |
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman mpc86xx" |
||||
INSTALL_TOOLCHAIN="ppc" |
||||
|
||||
- env: |
||||
- TEST_CMD="tools/buildman/buildman --list-error-boards sandbox x86" |
||||
|
||||
# QA jobs for code analytics |
||||
# static code analysis with cppcheck (we can add --enable=all later) |
||||
- env: |
||||
- TEST_CMD="cppcheck --force --quiet --inline-suppr ." |
||||
# search for TODO within source tree |
||||
- env: |
||||
- TEST_CMD="grep -r TODO ." |
||||
# search for FIXME within source tree |
||||
- env: |
||||
- TEST_CMD="grep -r FIXME ." |
||||
# search for HACK within source tree and ignore HACKKIT board |
||||
- env: |
||||
- TEST_CMD="grep -r HACK . | grep -v HACKKIT" |
||||
script: |
||||
- grep -r HACK . | grep -v HACKKIT |
||||
# some statistics about the code base |
||||
- env: |
||||
- TEST_CMD="sloccount ." |
||||
|
||||
notifications: |
||||
email: false |
||||
|
||||
# TODO make it perfect ;-r |
Loading…
Reference in new issue