Commit c7cb334d1490a891a1f145a9daea2ed2376a2ca3
Committed by
Tom Rini
1 parent
bd5053ffa5
Exists in
v2017.01-smarct4x
and in
37 other branches
.travis.yml: build u-boot on travis-ci
Goal: - building all variants of U-Boot with multiple configurations - code quality checks and metrics - https://travis-ci.org/u-boot/u-boot/builds
Showing 1 changed file with 150 additions and 0 deletions Side-by-side Diff
.travis.yml
1 | +# Copyright Roger Meier <r.meier@siemens.com> | |
2 | +# SPDX-License-Identifier: GPL-2.0+ | |
3 | + | |
4 | +# build U-Boot on Travis CI - https://travis-ci.org/ | |
5 | + | |
6 | +language: c | |
7 | + | |
8 | +cache: | |
9 | + - apt | |
10 | + | |
11 | +install: | |
12 | + # install U-Boot build dependencies | |
13 | + - sudo apt-get install -qq cppcheck sloccount sparse bc libsdl-dev gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihf | |
14 | + # install latest device tree compiler | |
15 | + - git clone --depth=1 https://git.kernel.org/pub/scm/utils/dtc/dtc.git /tmp/dtc | |
16 | + - make -j4 -C /tmp/dtc | |
17 | + # prepare buildman environment | |
18 | + - export BUILDMAN_ROOT="root:" | |
19 | + - export BUILDMAN_MIPS="mips:" | |
20 | + - export BUILDMAN_PPC="ppc:" | |
21 | + - echo -e "[toolchain]\\n${BUILDMAN_ROOT} /\n" > ~/.buildman | |
22 | + - echo -e "${BUILDMAN_MIPS} /opt/eldk-5.4/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux/" >> ~/.buildman | |
23 | + - echo -e "${BUILDMAN_PPC} /opt/eldk-5.4/powerpc/sysroots/i686-eldk-linux/usr/bin/powerpc-linux/" >> ~/.buildman | |
24 | + - export BUILDMAN_ALIAS="x86:" | |
25 | + - echo -e "[toolchain-alias]\\n${BUILDMAN_ALIAS} i386" >> ~/.buildman | |
26 | + - cat ~/.buildman | |
27 | + | |
28 | +env: | |
29 | + global: | |
30 | + - PATH=/tmp/dtc:$PATH | |
31 | + - BUILD_DIR=build | |
32 | + - CROSS_COMPILE="" | |
33 | + - HOSTCC="cc" | |
34 | + - HOSTCXX="c++" | |
35 | + - TEST_CONFIG_CMD="" | |
36 | + | |
37 | +before_script: | |
38 | + # install toolchains based on INSTALL_TOOLCHAIN} variable | |
39 | + - 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 | |
40 | + - if [[ "${INSTALL_TOOLCHAIN}" == *ppc* ]]; then sh eldk-eglibc-i686-powerpc-toolchain-gmae-5.4.sh -y ; fi | |
41 | + - 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 | |
42 | + - if [[ "${INSTALL_TOOLCHAIN}" == *mips* ]]; then sh eldk-eglibc-i686-mips-toolchain-gmae-5.4.sh -y ; fi | |
43 | + | |
44 | +script: | |
45 | + # the execution sequence for each test | |
46 | + - echo ${TEST_CONFIG_CMD} | |
47 | + - ${TEST_CONFIG_CMD} | |
48 | + - echo ${TEST_CMD} | |
49 | + - ${TEST_CMD} | |
50 | + | |
51 | +matrix: | |
52 | + include: | |
53 | + # we need to build by vendor due to 50min time limit for builds | |
54 | + # each env setting here is a dedicated build | |
55 | + - env: | |
56 | + - TEST_CMD="./MAKEALL -a arm -v atmel" | |
57 | + CROSS_COMPILE="arm-linux-gnueabi-" | |
58 | + - env: | |
59 | + - TEST_CMD="./MAKEALL -a arm -v denx" | |
60 | + CROSS_COMPILE="arm-linux-gnueabi-" | |
61 | + - env: | |
62 | + - TEST_CMD="./MAKEALL -a arm -v freescale" | |
63 | + CROSS_COMPILE="arm-linux-gnueabi-" | |
64 | + - env: | |
65 | + - TEST_CMD="./MAKEALL -a arm -v siemens" | |
66 | + CROSS_COMPILE="arm-linux-gnueabi-" | |
67 | + - env: | |
68 | + - TEST_CMD="./MAKEALL -a arm -v ti" | |
69 | + CROSS_COMPILE="arm-linux-gnueabi-" | |
70 | + - env: | |
71 | + - TEST_CONFIG_CMD="make sandbox_defconfig" | |
72 | + TEST_CMD="make -j4" | |
73 | + HOSTCC = "gcc" | |
74 | + HOSTCXX = "g++" | |
75 | + - env: | |
76 | + - TEST_CONFIG_CMD="make sandbox_defconfig" | |
77 | + TEST_CMD="make -j4" | |
78 | + HOSTCC = "clang" | |
79 | + HOSTCXX = "clang++" | |
80 | + - env: | |
81 | + - TEST_CMD="./MAKEALL -a mips" | |
82 | + INSTALL_TOOLCHAIN="mips" | |
83 | + CROSS_COMPILE="/opt/eldk-5.4/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux/mips-linux-" | |
84 | + - env: | |
85 | + - TEST_CMD="tools/buildman/buildman --list-error-boards atmel" | |
86 | + - env: | |
87 | + - TEST_CMD="tools/buildman/buildman --list-error-boards denx" | |
88 | + - env: | |
89 | + - TEST_CMD="tools/buildman/buildman --list-error-boards freescale arm" | |
90 | + - env: | |
91 | + - TEST_CMD="tools/buildman/buildman --list-error-boards siemens" | |
92 | + - env: | |
93 | + - TEST_CMD="tools/buildman/buildman --list-error-boards ti" | |
94 | + - env: | |
95 | + - TEST_CMD="tools/buildman/buildman mips" | |
96 | + INSTALL_TOOLCHAIN="mips" | |
97 | + - env: | |
98 | + - TEST_CMD="tools/buildman/buildman mpc5xx" | |
99 | + INSTALL_TOOLCHAIN="ppc" | |
100 | + - env: | |
101 | + - TEST_CMD="tools/buildman/buildman mpc8xx" | |
102 | + INSTALL_TOOLCHAIN="ppc" | |
103 | + - env: | |
104 | + - TEST_CMD="tools/buildman/buildman mpc5xxx" | |
105 | + INSTALL_TOOLCHAIN="ppc" | |
106 | + - env: | |
107 | + - TEST_CMD="tools/buildman/buildman mpc512x" | |
108 | + INSTALL_TOOLCHAIN="ppc" | |
109 | + - env: | |
110 | + - TEST_CMD="tools/buildman/buildman mpc824x" | |
111 | + INSTALL_TOOLCHAIN="ppc" | |
112 | + - env: | |
113 | + - TEST_CMD="tools/buildman/buildman mpc8260" | |
114 | + INSTALL_TOOLCHAIN="ppc" | |
115 | + - env: | |
116 | + - TEST_CMD="tools/buildman/buildman mpc83xx" | |
117 | + INSTALL_TOOLCHAIN="ppc" | |
118 | + - env: | |
119 | + - TEST_CMD="tools/buildman/buildman mpc85xx" | |
120 | + INSTALL_TOOLCHAIN="ppc" | |
121 | + - env: | |
122 | + - TEST_CMD="tools/buildman/buildman mpc86xx" | |
123 | + INSTALL_TOOLCHAIN="ppc" | |
124 | + | |
125 | + - env: | |
126 | + - TEST_CMD="tools/buildman/buildman --list-error-boards sandbox x86" | |
127 | + | |
128 | + # QA jobs for code analytics | |
129 | + # static code analysis with cppcheck (we can add --enable=all later) | |
130 | + - env: | |
131 | + - TEST_CMD="cppcheck --force --quiet --inline-suppr ." | |
132 | + # search for TODO within source tree | |
133 | + - env: | |
134 | + - TEST_CMD="grep -r TODO ." | |
135 | + # search for FIXME within source tree | |
136 | + - env: | |
137 | + - TEST_CMD="grep -r FIXME ." | |
138 | + # search for HACK within source tree and ignore HACKKIT board | |
139 | + - env: | |
140 | + - TEST_CMD="grep -r HACK . | grep -v HACKKIT" | |
141 | + script: | |
142 | + - grep -r HACK . | grep -v HACKKIT | |
143 | + # some statistics about the code base | |
144 | + - env: | |
145 | + - TEST_CMD="sloccount ." | |
146 | + | |
147 | +notifications: | |
148 | + email: false | |
149 | + | |
150 | +# TODO make it perfect ;-r |