]>
Commit | Line | Data |
---|---|---|
c7cb334d MR |
1 | # Copyright Roger Meier <[email protected]> |
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 |