]>
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 | |
d9aa0197 | 13 | - sudo apt-get install -qq cppcheck sloccount sparse bc libsdl-dev build-essential |
c7cb334d MR |
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:" | |
d9aa0197 HS |
21 | - export BUILDMAN_ARM="arm:" |
22 | - export BUILDMAN_SANDBOX="sandbox:" | |
23 | - echo -e "[toolchain]\n${BUILDMAN_ROOT} /\n" > ~/.buildman | |
24 | - echo -e "${BUILDMAN_MIPS} /opt/eldk-5.4/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux/\n" >> ~/.buildman | |
25 | - echo -e "${BUILDMAN_PPC} /opt/eldk-5.4/powerpc/sysroots/i686-eldk-linux/usr/bin/powerpc-linux/\n" >> ~/.buildman | |
26 | - echo -e "${BUILDMAN_ARM} /opt/eldk-5.4/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/\n" >> ~/.buildman | |
27 | - echo -e "${BUILDMAN_SANDBOX} /usr/bin/gcc\n" >> ~/.buildman | |
c7cb334d | 28 | - export BUILDMAN_ALIAS="x86:" |
d9aa0197 HS |
29 | - export BUILDMAN_ALIAS_ARM="arm:" |
30 | - echo -e "\n\n[toolchain-alias]\n${BUILDMAN_ALIAS} i386\n" >> ~/.buildman | |
31 | - echo -e "${BUILDMAN_ALIAS_ARM} armv5te\n" >> ~/.buildman | |
c7cb334d MR |
32 | - cat ~/.buildman |
33 | ||
34 | env: | |
35 | global: | |
36 | - PATH=/tmp/dtc:$PATH | |
37 | - BUILD_DIR=build | |
38 | - CROSS_COMPILE="" | |
39 | - HOSTCC="cc" | |
40 | - HOSTCXX="c++" | |
41 | - TEST_CONFIG_CMD="" | |
42 | ||
43 | before_script: | |
44 | # install toolchains based on INSTALL_TOOLCHAIN} variable | |
d9aa0197 HS |
45 | - if [[ "${INSTALL_TOOLCHAIN}" == *arm* ]]; then wget ftp://ftp.denx.de/pub/eldk/5.4/targets/armv5te/eldk-eglibc-i686-arm-toolchain-gmae-5.4.sh ; fi |
46 | - if [[ "${INSTALL_TOOLCHAIN}" == *arm* ]]; then sh eldk-eglibc-i686-arm-toolchain-gmae-5.4.sh -y ; fi | |
47 | - if [[ "${INSTALL_TOOLCHAIN}" == *arm* ]]; then ls -al /opt/eldk-5.4/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi ; fi | |
8cb2101b | 48 | - if [[ "${INSTALL_TOOLCHAIN}" == *avr32* ]]; then ./tools/buildman/buildman --fetch-arch avr32 ; fi |
d9aa0197 | 49 | - if [[ "${INSTALL_TOOLCHAIN}" == *i386* ]]; then ./tools/buildman/buildman sandbox --fetch-arch i386 ; fi |
8cb2101b HS |
50 | - if [[ "${INSTALL_TOOLCHAIN}" == *m68k* ]]; then ./tools/buildman/buildman --fetch-arch m68k ; fi |
51 | - 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 | |
52 | - if [[ "${INSTALL_TOOLCHAIN}" == *mips* ]]; then sh eldk-eglibc-i686-mips-toolchain-gmae-5.4.sh -y ; fi | |
53 | - 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 | |
54 | - if [[ "${INSTALL_TOOLCHAIN}" == *ppc* ]]; then sh eldk-eglibc-i686-powerpc-toolchain-gmae-5.4.sh -y ; fi | |
c7cb334d MR |
55 | |
56 | script: | |
57 | # the execution sequence for each test | |
58 | - echo ${TEST_CONFIG_CMD} | |
59 | - ${TEST_CONFIG_CMD} | |
60 | - echo ${TEST_CMD} | |
61 | - ${TEST_CMD} | |
62 | ||
63 | matrix: | |
64 | include: | |
65 | # we need to build by vendor due to 50min time limit for builds | |
66 | # each env setting here is a dedicated build | |
67 | - env: | |
68 | - TEST_CMD="./MAKEALL -a arm -v atmel" | |
d9aa0197 HS |
69 | INSTALL_TOOLCHAIN="arm" |
70 | CROSS_COMPILE="/opt/eldk-5.4/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/arm-linux-gnueabi-" | |
c7cb334d MR |
71 | - env: |
72 | - TEST_CMD="./MAKEALL -a arm -v denx" | |
d9aa0197 HS |
73 | INSTALL_TOOLCHAIN="arm" |
74 | CROSS_COMPILE="/opt/eldk-5.4/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/arm-linux-gnueabi-" | |
c7cb334d MR |
75 | - env: |
76 | - TEST_CMD="./MAKEALL -a arm -v freescale" | |
d9aa0197 HS |
77 | INSTALL_TOOLCHAIN="arm" |
78 | CROSS_COMPILE="/opt/eldk-5.4/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/arm-linux-gnueabi-" | |
c7cb334d MR |
79 | - env: |
80 | - TEST_CMD="./MAKEALL -a arm -v siemens" | |
d9aa0197 HS |
81 | INSTALL_TOOLCHAIN="arm" |
82 | CROSS_COMPILE="/opt/eldk-5.4/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/arm-linux-gnueabi-" | |
c7cb334d MR |
83 | - env: |
84 | - TEST_CMD="./MAKEALL -a arm -v ti" | |
d9aa0197 HS |
85 | INSTALL_TOOLCHAIN="arm" |
86 | CROSS_COMPILE="/opt/eldk-5.4/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/arm-linux-gnueabi-" | |
c7cb334d MR |
87 | - env: |
88 | - TEST_CONFIG_CMD="make sandbox_defconfig" | |
89 | TEST_CMD="make -j4" | |
90 | HOSTCC = "gcc" | |
91 | HOSTCXX = "g++" | |
92 | - env: | |
93 | - TEST_CONFIG_CMD="make sandbox_defconfig" | |
94 | TEST_CMD="make -j4" | |
95 | HOSTCC = "clang" | |
96 | HOSTCXX = "clang++" | |
97 | - env: | |
98 | - TEST_CMD="./MAKEALL -a mips" | |
99 | INSTALL_TOOLCHAIN="mips" | |
100 | CROSS_COMPILE="/opt/eldk-5.4/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux/mips-linux-" | |
101 | - env: | |
d9aa0197 | 102 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
8cb2101b | 103 | TEST_CMD="tools/buildman/buildman --list-error-boards arm1136" |
d9aa0197 | 104 | INSTALL_TOOLCHAIN="arm" |
c7cb334d | 105 | - env: |
d9aa0197 | 106 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
8cb2101b | 107 | TEST_CMD="tools/buildman/buildman --list-error-boards arm1176" |
d9aa0197 | 108 | INSTALL_TOOLCHAIN="arm" |
c7cb334d | 109 | - env: |
d9aa0197 | 110 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
8cb2101b | 111 | TEST_CMD="tools/buildman/buildman --list-error-boards arm720t" |
d9aa0197 | 112 | INSTALL_TOOLCHAIN="arm" |
c7cb334d | 113 | - env: |
d9aa0197 | 114 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
8cb2101b HS |
115 | TEST_CMD="tools/buildman/buildman --list-error-boards arm920t" |
116 | INSTALL_TOOLCHAIN="arm" | |
d9aa0197 HS |
117 | - env: |
118 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
8cb2101b | 119 | TEST_CMD="tools/buildman/buildman --list-error-boards atmel -x avr32" |
d9aa0197 HS |
120 | INSTALL_TOOLCHAIN="arm" |
121 | - env: | |
122 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
8cb2101b HS |
123 | TEST_CMD="tools/buildman/buildman --list-error-boards avr32" |
124 | INSTALL_TOOLCHAIN="avr32" | |
d9aa0197 HS |
125 | - env: |
126 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
8cb2101b | 127 | TEST_CMD="tools/buildman/buildman --list-error-boards davinci" |
d9aa0197 HS |
128 | INSTALL_TOOLCHAIN="arm" |
129 | - env: | |
130 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
8cb2101b | 131 | TEST_CMD="tools/buildman/buildman --list-error-boards denx" |
d9aa0197 | 132 | INSTALL_TOOLCHAIN="arm" |
c7cb334d | 133 | - env: |
d9aa0197 | 134 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
8cb2101b | 135 | TEST_CMD="tools/buildman/buildman --list-error-boards freescale -x powerpc,m68k,aarch64" |
d9aa0197 | 136 | INSTALL_TOOLCHAIN="arm" |
c7cb334d | 137 | - env: |
d9aa0197 | 138 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
8cb2101b HS |
139 | TEST_CMD="tools/buildman/buildman --list-error-boards freescale -x arm,m68k,aarch64" |
140 | INSTALL_TOOLCHAIN="ppc" | |
d9aa0197 HS |
141 | - env: |
142 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
8cb2101b HS |
143 | TEST_CMD="tools/buildman/buildman --list-error-boards sandbox x86" |
144 | INSTALL_TOOLCHAIN="i386" | |
d9aa0197 HS |
145 | - env: |
146 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
147 | TEST_CMD="tools/buildman/buildman --list-error-boards kirkwood" | |
148 | INSTALL_TOOLCHAIN="arm" | |
8cb2101b HS |
149 | - env: |
150 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
151 | TEST_CMD="tools/buildman/buildman --list-error-boards m68k" | |
152 | INSTALL_TOOLCHAIN="m68k" | |
d9aa0197 HS |
153 | - env: |
154 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
155 | TEST_CMD="tools/buildman/buildman mips" | |
c7cb334d MR |
156 | INSTALL_TOOLCHAIN="mips" |
157 | - env: | |
d9aa0197 | 158 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
8cb2101b | 159 | TEST_CMD="tools/buildman/buildman mpc512x" |
c7cb334d MR |
160 | INSTALL_TOOLCHAIN="ppc" |
161 | - env: | |
d9aa0197 | 162 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
8cb2101b | 163 | TEST_CMD="tools/buildman/buildman mpc5xx" |
c7cb334d MR |
164 | INSTALL_TOOLCHAIN="ppc" |
165 | - env: | |
d9aa0197 HS |
166 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
167 | TEST_CMD="tools/buildman/buildman mpc5xxx" | |
c7cb334d | 168 | INSTALL_TOOLCHAIN="ppc" |
c7cb334d | 169 | - env: |
d9aa0197 HS |
170 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
171 | TEST_CMD="tools/buildman/buildman mpc8260" | |
c7cb334d MR |
172 | INSTALL_TOOLCHAIN="ppc" |
173 | - env: | |
d9aa0197 HS |
174 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
175 | TEST_CMD="tools/buildman/buildman mpc83xx" | |
c7cb334d MR |
176 | INSTALL_TOOLCHAIN="ppc" |
177 | - env: | |
d9aa0197 HS |
178 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
179 | TEST_CMD="tools/buildman/buildman mpc85xx" | |
c7cb334d MR |
180 | INSTALL_TOOLCHAIN="ppc" |
181 | - env: | |
d9aa0197 HS |
182 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
183 | TEST_CMD="tools/buildman/buildman mpc86xx" | |
c7cb334d | 184 | INSTALL_TOOLCHAIN="ppc" |
c7cb334d | 185 | - env: |
d9aa0197 | 186 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" |
8cb2101b HS |
187 | TEST_CMD="tools/buildman/buildman mpc8xx" |
188 | INSTALL_TOOLCHAIN="ppc" | |
189 | - env: | |
190 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
191 | TEST_CMD="tools/buildman/buildman --list-error-boards siemens" | |
192 | INSTALL_TOOLCHAIN="arm" | |
193 | - env: | |
194 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
195 | TEST_CMD="tools/buildman/buildman --list-error-boards ti" | |
196 | INSTALL_TOOLCHAIN="arm" | |
c7cb334d MR |
197 | |
198 | # QA jobs for code analytics | |
199 | # static code analysis with cppcheck (we can add --enable=all later) | |
200 | - env: | |
201 | - TEST_CMD="cppcheck --force --quiet --inline-suppr ." | |
202 | # search for TODO within source tree | |
203 | - env: | |
204 | - TEST_CMD="grep -r TODO ." | |
205 | # search for FIXME within source tree | |
206 | - env: | |
207 | - TEST_CMD="grep -r FIXME ." | |
208 | # search for HACK within source tree and ignore HACKKIT board | |
209 | - env: | |
210 | - TEST_CMD="grep -r HACK . | grep -v HACKKIT" | |
211 | script: | |
212 | - grep -r HACK . | grep -v HACKKIT | |
213 | # some statistics about the code base | |
214 | - env: | |
215 | - TEST_CMD="sloccount ." | |
216 | ||
217 | notifications: | |
218 | email: false | |
219 | ||
220 | # TODO make it perfect ;-r |