]>
Commit | Line | Data |
---|---|---|
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 build-essential | |
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 | - 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 | |
28 | - export BUILDMAN_ALIAS="x86:" | |
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 | |
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 | |
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 | |
48 | - if [[ "${INSTALL_TOOLCHAIN}" == *avr32* ]]; then ./tools/buildman/buildman --fetch-arch avr32 ; fi | |
49 | - if [[ "${INSTALL_TOOLCHAIN}" == *i386* ]]; then ./tools/buildman/buildman sandbox --fetch-arch i386 ; fi | |
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 | |
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" | |
69 | INSTALL_TOOLCHAIN="arm" | |
70 | CROSS_COMPILE="/opt/eldk-5.4/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/arm-linux-gnueabi-" | |
71 | - env: | |
72 | - TEST_CMD="./MAKEALL -a arm -v denx" | |
73 | INSTALL_TOOLCHAIN="arm" | |
74 | CROSS_COMPILE="/opt/eldk-5.4/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/arm-linux-gnueabi-" | |
75 | - env: | |
76 | - TEST_CMD="./MAKEALL -a arm -v freescale" | |
77 | INSTALL_TOOLCHAIN="arm" | |
78 | CROSS_COMPILE="/opt/eldk-5.4/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/arm-linux-gnueabi-" | |
79 | - env: | |
80 | - TEST_CMD="./MAKEALL -a arm -v siemens" | |
81 | INSTALL_TOOLCHAIN="arm" | |
82 | CROSS_COMPILE="/opt/eldk-5.4/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/arm-linux-gnueabi-" | |
83 | - env: | |
84 | - TEST_CMD="./MAKEALL -a arm -v ti" | |
85 | INSTALL_TOOLCHAIN="arm" | |
86 | CROSS_COMPILE="/opt/eldk-5.4/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/arm-linux-gnueabi-" | |
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: | |
102 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
103 | TEST_CMD="tools/buildman/buildman --list-error-boards arm1136" | |
104 | INSTALL_TOOLCHAIN="arm" | |
105 | - env: | |
106 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
107 | TEST_CMD="tools/buildman/buildman --list-error-boards arm1176" | |
108 | INSTALL_TOOLCHAIN="arm" | |
109 | - env: | |
110 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
111 | TEST_CMD="tools/buildman/buildman --list-error-boards arm720t" | |
112 | INSTALL_TOOLCHAIN="arm" | |
113 | - env: | |
114 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
115 | TEST_CMD="tools/buildman/buildman --list-error-boards arm920t" | |
116 | INSTALL_TOOLCHAIN="arm" | |
117 | - env: | |
118 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
119 | TEST_CMD="tools/buildman/buildman --list-error-boards atmel -x avr32" | |
120 | INSTALL_TOOLCHAIN="arm" | |
121 | - env: | |
122 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
123 | TEST_CMD="tools/buildman/buildman --list-error-boards avr32" | |
124 | INSTALL_TOOLCHAIN="avr32" | |
125 | - env: | |
126 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
127 | TEST_CMD="tools/buildman/buildman --list-error-boards davinci" | |
128 | INSTALL_TOOLCHAIN="arm" | |
129 | - env: | |
130 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
131 | TEST_CMD="tools/buildman/buildman --list-error-boards denx" | |
132 | INSTALL_TOOLCHAIN="arm" | |
133 | - env: | |
134 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
135 | TEST_CMD="tools/buildman/buildman --list-error-boards freescale -x powerpc,m68k,aarch64" | |
136 | INSTALL_TOOLCHAIN="arm" | |
137 | - env: | |
138 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
139 | TEST_CMD="tools/buildman/buildman --list-error-boards freescale -x arm,m68k,aarch64" | |
140 | INSTALL_TOOLCHAIN="ppc" | |
141 | - env: | |
142 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
143 | TEST_CMD="tools/buildman/buildman --list-error-boards sandbox x86" | |
144 | INSTALL_TOOLCHAIN="i386" | |
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" | |
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" | |
153 | - env: | |
154 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
155 | TEST_CMD="tools/buildman/buildman mips" | |
156 | INSTALL_TOOLCHAIN="mips" | |
157 | - env: | |
158 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
159 | TEST_CMD="tools/buildman/buildman mpc512x" | |
160 | INSTALL_TOOLCHAIN="ppc" | |
161 | - env: | |
162 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
163 | TEST_CMD="tools/buildman/buildman mpc5xx" | |
164 | INSTALL_TOOLCHAIN="ppc" | |
165 | - env: | |
166 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
167 | TEST_CMD="tools/buildman/buildman mpc5xxx" | |
168 | INSTALL_TOOLCHAIN="ppc" | |
169 | - env: | |
170 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
171 | TEST_CMD="tools/buildman/buildman mpc8260" | |
172 | INSTALL_TOOLCHAIN="ppc" | |
173 | - env: | |
174 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
175 | TEST_CMD="tools/buildman/buildman mpc83xx" | |
176 | INSTALL_TOOLCHAIN="ppc" | |
177 | - env: | |
178 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
179 | TEST_CMD="tools/buildman/buildman mpc85xx" | |
180 | INSTALL_TOOLCHAIN="ppc" | |
181 | - env: | |
182 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
183 | TEST_CMD="tools/buildman/buildman mpc86xx" | |
184 | INSTALL_TOOLCHAIN="ppc" | |
185 | - env: | |
186 | - TEST_CONFIG_CMD="tools/buildman/buildman --list-tool-chains" | |
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" | |
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 |