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