]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | # SPDX-License-Identifier: GPL-2.0+ |
c7cb334d | 2 | # Copyright Roger Meier <[email protected]> |
c7cb334d MR |
3 | |
4 | # build U-Boot on Travis CI - https://travis-ci.org/ | |
5 | ||
2bb76f33 | 6 | sudo: required |
8b13e9bf | 7 | dist: bionic |
e4c1b4d8 | 8 | |
c7cb334d MR |
9 | language: c |
10 | ||
050c7569 RM |
11 | addons: |
12 | apt: | |
98178bdc | 13 | update: true |
4030f166 | 14 | sources: |
98178bdc TR |
15 | - sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main' |
16 | key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' | |
050c7569 | 17 | packages: |
091b48e0 | 18 | - autopoint |
050c7569 RM |
19 | - cppcheck |
20 | - sloccount | |
21 | - sparse | |
22 | - bc | |
23 | - build-essential | |
96d0cd46 | 24 | - libsdl2-dev |
07bf2122 | 25 | - python |
f36f15b6 | 26 | - python3-sphinx |
085b8978 TR |
27 | - python3-virtualenv |
28 | - python3-pip | |
bd73bb44 | 29 | - python3-pygit2 |
f2b0c007 TR |
30 | - swig |
31 | - libpython-dev | |
cd402e01 | 32 | - iasl |
0e4e38ae | 33 | - grub-efi-ia32-bin |
66a3a9cf | 34 | - grub-efi-amd64-bin |
0e4e38ae AG |
35 | - rpm2cpio |
36 | - wget | |
36dd5f1b | 37 | - device-tree-compiler |
706f0775 | 38 | - lzop |
83d73c2f | 39 | - liblz4-tool |
4997a7ed | 40 | - lzma-alone |
4030f166 | 41 | - libisl15 |
98178bdc | 42 | - clang-10 |
aa2e9c9e | 43 | - srecord |
bb9a76ea | 44 | - graphviz |
5bf1ea63 AT |
45 | - coreutils |
46 | - util-linux | |
47 | - dosfstools | |
48 | - gdisk | |
49 | - mount | |
50 | - mtools | |
51 | - openssl | |
52 | - sbsigntool | |
6cfd09d4 T |
53 | - fakeroot |
54 | - mtd-utils | |
e1ecfc12 | 55 | - squashfs-tools |
4c58d273 | 56 | |
c7cb334d | 57 | install: |
5ac5861c TR |
58 | # Clone uboot-test-hooks |
59 | - git clone --depth=1 git://github.com/swarren/uboot-test-hooks.git /tmp/uboot-test-hooks | |
60 | - ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname` | |
61 | - ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname` | |
c7cb334d | 62 | # prepare buildman environment |
43a68e49 | 63 | - echo -e "[toolchain]\nroot = /usr" > ~/.buildman |
7b8a43e7 | 64 | - echo -e "arc = /tmp/arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman |
14d39c9e TR |
65 | - echo -e "\n[toolchain-alias]\nsh = sh2" >> ~/.buildman |
66 | - echo -e "x86 = i386" >> ~/.buildman; | |
67 | - echo -e "riscv = riscv64" >> ~/.buildman; | |
c7cb334d | 68 | - cat ~/.buildman |
8b13e9bf TR |
69 | - grub-mkimage --prefix="" -o ~/grub_x86.efi -O i386-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd |
70 | - grub-mkimage --prefix="" -o ~/grub_x64.efi -O x86_64-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd | |
8b13e9bf | 71 | - wget http://mirrors.kernel.org/ubuntu/pool/main/m/mpfr4/libmpfr4_3.1.4-1_amd64.deb && sudo dpkg -i libmpfr4_3.1.4-1_amd64.deb && rm libmpfr4_3.1.4-1_amd64.deb |
5bf1ea63 | 72 | - wget http://mirrors.kernel.org/ubuntu/pool/universe/e/efitools/efitools_1.8.1-0ubuntu2_amd64.deb && sudo dpkg -i efitools_1.8.1-0ubuntu2_amd64.deb && rm efitools_1.8.1-0ubuntu2_amd64.deb |
c7cb334d MR |
73 | |
74 | env: | |
75 | global: | |
5bf1ea63 | 76 | - PATH=/tmp/qemu-install/bin:/tmp/uboot-test-hooks/bin:/sbin:/usr/bin:/bin:/usr/local/bin |
e019660a | 77 | - PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci |
c7cb334d | 78 | - BUILD_DIR=build |
c7cb334d MR |
79 | - HOSTCC="cc" |
80 | - HOSTCXX="c++" | |
88366b96 | 81 | - QEMU_VERSION="v4.2.0" |
c7cb334d MR |
82 | |
83 | before_script: | |
050c7569 | 84 | # install toolchains based on TOOLCHAIN} variable |
050c7569 | 85 | - if [[ "${TOOLCHAIN}" == *m68k* ]]; then ./tools/buildman/buildman --fetch-arch m68k ; fi |
cd402e01 | 86 | - if [[ "${TOOLCHAIN}" == *microblaze* ]]; then ./tools/buildman/buildman --fetch-arch microblaze ; fi |
050c7569 | 87 | - if [[ "${TOOLCHAIN}" == *mips* ]]; then ./tools/buildman/buildman --fetch-arch mips ; fi |
4c58d273 | 88 | - if [[ "${TOOLCHAIN}" == *sh* ]]; then ./tools/buildman/buildman --fetch-arch sh2 ; fi |
0533fb8b BM |
89 | - if [[ "${TOOLCHAIN}" == *i386* ]]; then |
90 | ./tools/buildman/buildman --fetch-arch i386; | |
2ded4bf9 | 91 | fi |
80e4bbfc | 92 | - if [[ "${TOOLCHAIN}" == arc ]]; then |
7b8a43e7 TR |
93 | wget https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2019.09-release/arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install.tar.gz && |
94 | tar -C /tmp -xf arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install.tar.gz; | |
80e4bbfc | 95 | fi |
f715ed45 RC |
96 | - if [[ "${TOOLCHAIN}" == "nds32" ]]; then |
97 | wget https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz && | |
98 | tar -C /tmp -xf nds32le-linux-glibc-v3-upstream.tar.gz && | |
99 | echo -e "\n[toolchain-prefix]\nnds32 = /tmp/nds32le-linux-glibc-v3-upstream/bin/nds32le-linux-" >> ~/.buildman; | |
100 | fi | |
b6f3a12e MF |
101 | - if [[ "${TOOLCHAIN}" == *xtensa* ]]; then |
102 | wget https://github.com/foss-xtensa/toolchain/releases/download/2018.02/x86_64-2018.02-${TOOLCHAIN}.tar.gz && | |
103 | tar -C /tmp -xf x86_64-2018.02-${TOOLCHAIN}.tar.gz && | |
104 | echo -e "\n[toolchain-prefix]\nxtensa = /tmp/2018.02/${TOOLCHAIN}/bin/${TOOLCHAIN}-" >> ~/.buildman; | |
105 | fi | |
8399538c TR |
106 | # If TOOLCHAIN is unset, we're on some flavour of ARM. |
107 | - if [[ "${TOOLCHAIN}" == "" ]]; then | |
4c58d273 DS |
108 | ./tools/buildman/buildman --fetch-arch arm && |
109 | ./tools/buildman/buildman --fetch-arch aarch64; | |
8399538c | 110 | fi |
4c58d273 | 111 | - if [[ "${TOOLCHAIN}" == "powerpc" ]]; then ./tools/buildman/buildman --fetch-arch powerpc; fi |
b6896fcb | 112 | - if [[ "${TOOLCHAIN}" == "riscv" ]]; then |
9eed8cdd | 113 | ./tools/buildman/buildman --fetch-arch riscv32 && |
b5135e45 | 114 | ./tools/buildman/buildman --fetch-arch riscv64; |
b6896fcb | 115 | fi |
3c643fb0 TR |
116 | - if [[ "${QEMU_TARGET}" != "" ]]; then |
117 | git clone git://git.qemu.org/qemu.git /tmp/qemu; | |
118 | pushd /tmp/qemu; | |
119 | git submodule update --init dtc && | |
984a1feb | 120 | git checkout ${QEMU_VERSION} && |
3c643fb0 TR |
121 | ./configure --prefix=/tmp/qemu-install --target-list=${QEMU_TARGET} && |
122 | make -j4 all install; | |
123 | popd; | |
124 | fi | |
c7cb334d | 125 | |
091b48e0 BM |
126 | # Build GRUB UEFI targets |
127 | - if [[ "${QEMU_TARGET}" == "arm-softmmu" ]]; then | |
128 | git clone git://git.savannah.gnu.org/grub.git /tmp/grub && | |
129 | pushd /tmp/grub && | |
130 | git checkout grub-2.04 && | |
131 | ./bootstrap && | |
132 | ./configure --target=arm --with-platform=efi | |
133 | CC=gcc | |
ddd4d992 BM |
134 | TARGET_CC=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc |
135 | TARGET_OBJCOPY=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-objcopy | |
136 | TARGET_STRIP=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-strip | |
137 | TARGET_NM=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-nm | |
138 | TARGET_RANLIB=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ranlib && | |
091b48e0 BM |
139 | make -j4 && |
140 | ./grub-mkimage -O arm-efi -o ~/grub_arm.efi --prefix= -d | |
141 | grub-core cat chain configfile echo efinet ext2 fat halt help linux | |
142 | lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot | |
143 | search search_fs_file search_fs_uuid search_label serial sleep test | |
144 | true && | |
145 | popd; | |
146 | fi | |
147 | - if [[ "${QEMU_TARGET}" == "aarch64-softmmu" ]]; then | |
148 | git clone git://git.savannah.gnu.org/grub.git /tmp/grub && | |
149 | pushd /tmp/grub && | |
150 | git checkout grub-2.04 && | |
151 | ./bootstrap && | |
152 | ./configure --target=aarch64 --with-platform=efi | |
153 | CC=gcc | |
ddd4d992 BM |
154 | TARGET_CC=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc |
155 | TARGET_OBJCOPY=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-objcopy | |
156 | TARGET_STRIP=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-strip | |
157 | TARGET_NM=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-nm | |
158 | TARGET_RANLIB=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-ranlib && | |
091b48e0 BM |
159 | make -j4 && |
160 | ./grub-mkimage -O arm64-efi -o ~/grub_arm64.efi --prefix= -d | |
161 | grub-core cat chain configfile echo efinet ext2 fat halt help linux | |
162 | lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot | |
163 | search search_fs_file search_fs_uuid search_label serial sleep test | |
164 | true && | |
165 | popd; | |
166 | fi | |
9eed8cdd BM |
167 | - if [[ "${QEMU_TARGET}" == "riscv32-softmmu" ]]; then |
168 | git clone git://git.savannah.gnu.org/grub.git /tmp/grub && | |
169 | pushd /tmp/grub && | |
170 | git checkout grub-2.04 && | |
171 | ./bootstrap && | |
172 | ./configure --target=riscv32 --with-platform=efi | |
173 | CC=gcc | |
ddd4d992 BM |
174 | TARGET_CC=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-gcc |
175 | TARGET_OBJCOPY=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-objcopy | |
176 | TARGET_STRIP=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-strip | |
177 | TARGET_NM=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-nm | |
178 | TARGET_RANLIB=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-ranlib && | |
9eed8cdd BM |
179 | make -j4 && |
180 | ./grub-mkimage -O riscv32-efi -o ~/grub_riscv32.efi --prefix= -d | |
181 | grub-core cat chain configfile echo efinet ext2 fat halt help linux | |
182 | lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot | |
183 | search search_fs_file search_fs_uuid search_label serial sleep test | |
184 | true && | |
185 | popd; | |
186 | fi | |
187 | - if [[ "${QEMU_TARGET}" == "riscv64-softmmu" ]]; then | |
188 | git clone git://git.savannah.gnu.org/grub.git /tmp/grub && | |
189 | pushd /tmp/grub && | |
190 | git checkout grub-2.04 && | |
191 | ./bootstrap && | |
192 | ./configure --target=riscv64 --with-platform=efi | |
193 | CC=gcc | |
ddd4d992 BM |
194 | TARGET_CC=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-gcc |
195 | TARGET_OBJCOPY=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-objcopy | |
196 | TARGET_STRIP=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-strip | |
197 | TARGET_NM=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-nm | |
198 | TARGET_RANLIB=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-ranlib && | |
9eed8cdd BM |
199 | make -j4 && |
200 | ./grub-mkimage -O riscv64-efi -o ~/grub_riscv64.efi --prefix= -d | |
201 | grub-core cat chain configfile echo efinet ext2 fat halt help linux | |
202 | lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot | |
203 | search search_fs_file search_fs_uuid search_label serial sleep test | |
204 | true && | |
205 | popd; | |
206 | fi | |
49fb28a4 | 207 | - if [[ "${TEST_PY_BD}" == "qemu-riscv32_spl" ]]; then |
d20d0a57 BM |
208 | wget -O - https://github.com/riscv/opensbi/releases/download/v0.8/opensbi-0.8-rv-bin.tar.xz | tar -C /tmp -xJ; |
209 | export OPENSBI=/tmp/opensbi-0.8-rv-bin/share/opensbi/ilp32/generic/firmware/fw_dynamic.bin; | |
49fb28a4 BM |
210 | fi |
211 | - if [[ "${TEST_PY_BD}" == "qemu-riscv64_spl" ]]; then | |
d20d0a57 BM |
212 | wget -O - https://github.com/riscv/opensbi/releases/download/v0.8/opensbi-0.8-rv-bin.tar.xz | tar -C /tmp -xJ; |
213 | export OPENSBI=/tmp/opensbi-0.8-rv-bin/share/opensbi/lp64/generic/firmware/fw_dynamic.bin; | |
49fb28a4 | 214 | fi |
091b48e0 | 215 | |
c7cb334d | 216 | script: |
8304f053 SW |
217 | # Comments must be outside the command strings below, or the Travis parser |
218 | # will get confused. | |
219 | # | |
dd5c954e SG |
220 | # If we've been asked to use clang only do one configuration. |
221 | # | |
e7c05b1f | 222 | # Build a selection of boards if TEST_PY_BD is empty |
573605d4 | 223 | - if [[ "${BUILDMAN}" != "" ]]; then |
08140dba SG |
224 | ret=0 |
225 | tools/buildman/buildman -P -E -W ${BUILDMAN} ${OVERRIDE} || ret=$?; | |
dd5c954e | 226 | if [[ $ret -ne 0 ]]; then |
b52f5a19 | 227 | tools/buildman/buildman -seP ${BUILDMAN}; |
0c5145fc SW |
228 | exit $ret; |
229 | fi; | |
050c7569 | 230 | fi |
e7c05b1f | 231 | # Build just the one board needed for testing, if TEST_PY_BD is non-empty |
4080d097 | 232 | # Note: "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not |
f08c8ef9 | 233 | - if [[ "${TEST_PY_BD}" != "" ]]; then |
e7c05b1f | 234 | export UBOOT_TRAVIS_BUILD_DIR=`cd .. && pwd`/${TEST_PY_BD}; |
f08c8ef9 SG |
235 | cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/; |
236 | cp ~/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/; | |
237 | if [[ -e ~/grub_arm.efi ]]; then | |
238 | cp ~/grub_arm.efi $UBOOT_TRAVIS_BUILD_DIR/; | |
239 | fi; | |
240 | if [[ -e ~/grub_arm64.efi ]]; then | |
241 | cp ~/grub_arm64.efi $UBOOT_TRAVIS_BUILD_DIR/; | |
242 | fi; | |
243 | if [[ -e ~/grub_riscv32.efi ]]; then | |
244 | cp ~/grub_riscv32.efi $UBOOT_TRAVIS_BUILD_DIR/; | |
245 | fi; | |
246 | if [[ -e ~/grub_riscv64.efi ]]; then | |
247 | cp ~/grub_riscv64.efi $UBOOT_TRAVIS_BUILD_DIR/; | |
248 | fi; | |
7ec1255c SG |
249 | tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e |
250 | --board ${TEST_PY_BD} ${OVERRIDE} || exit; | |
085b8978 TR |
251 | virtualenv -p /usr/bin/python3 /tmp/venv; |
252 | . /tmp/venv/bin/activate; | |
253 | pip install -r test/py/requirements.txt; | |
f3092473 | 254 | ./test/py/test.py -ra --bd ${TEST_PY_BD} ${TEST_PY_ID} |
4080d097 | 255 | ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"} |
cec1e856 | 256 | --build-dir "$UBOOT_TRAVIS_BUILD_DIR" || exit; |
26a426a1 TR |
257 | if [[ -n "${TEST_PY_TOOLS}" ]]; then |
258 | export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"; | |
259 | export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}"; | |
fc341421 | 260 | pip install pyelftools && |
26a426a1 | 261 | ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test && |
6bb74de7 | 262 | ./tools/patman/patman test && |
26a426a1 | 263 | ./tools/buildman/buildman -t && |
7261833f TR |
264 | ./tools/dtoc/dtoc -t && |
265 | make testconfig; | |
26a426a1 | 266 | fi; |
8304f053 | 267 | fi |
c7cb334d MR |
268 | |
269 | matrix: | |
270 | include: | |
271 | # we need to build by vendor due to 50min time limit for builds | |
272 | # each env setting here is a dedicated build | |
a032e0a6 SW |
273 | - name: "buildman arc" |
274 | env: | |
80e4bbfc AB |
275 | - BUILDMAN="arc" |
276 | TOOLCHAIN="arc" | |
a032e0a6 SW |
277 | - name: "buildman arm11 arm7 arm920t arm946es" |
278 | env: | |
dca268a8 | 279 | - BUILDMAN="arm11 arm7 arm920t arm946es" |
72522749 | 280 | - name: "buildman arm926ejs (non-NXP,siemens,at91,kirkwood,spear)" |
a032e0a6 | 281 | env: |
baade496 | 282 | - JOB="arm926ejs" |
72522749 EH |
283 | BUILDMAN="arm926ejs -x freescale,siemens,at91,kirkwood,spear,omap" |
284 | - name: "buildman at91 (non arm v7)" | |
a032e0a6 | 285 | env: |
72522749 EH |
286 | - BUILDMAN="at91 -x armv7" |
287 | - name: "buildman at91 (non arm926ejs)" | |
288 | env: | |
289 | - BUILDMAN="at91 -x arm926ejs" | |
a032e0a6 SW |
290 | - name: "buildman boundary engicam toradex" |
291 | env: | |
292 | - BUILDMAN="boundary engicam toradex" | |
7a779ed1 | 293 | - name: "buildman ARM bcm" |
50aeb3ae | 294 | env: |
7a779ed1 | 295 | - BUILDMAN="bcm -x mips" |
af771625 | 296 | - name: "buildman NXP ARM32 (catch-all)" |
a032e0a6 | 297 | env: |
af771625 HS |
298 | - BUILDMAN="freescale -x powerpc,m68k,aarch64,ls101,ls102,ls104,ls108,ls20,lx216" |
299 | - name: "buildman NXP LS101x" | |
a032e0a6 | 300 | env: |
af771625 HS |
301 | - BUILDMAN="freescale&ls101" |
302 | - name: "buildman NXP LS102x" | |
5845ac12 | 303 | env: |
af771625 HS |
304 | - BUILDMAN="freescale&ls102" |
305 | - name: "buildman NXP LS104x" | |
818408e2 | 306 | env: |
af771625 HS |
307 | - BUILDMAN="freescale&ls104" |
308 | - name: "buildman NXP LS108x" | |
aa132612 | 309 | env: |
af771625 HS |
310 | - BUILDMAN="freescale&ls108" |
311 | - name: "buildman NXP LS20xx" | |
aa132612 | 312 | env: |
af771625 HS |
313 | - BUILDMAN="freescale&ls20" |
314 | - name: "buildman NXP LX216x" | |
5845ac12 | 315 | env: |
af771625 | 316 | - BUILDMAN="freescale&lx216" |
984c0051 | 317 | - name: "buildman i.MX6 tqc" |
a032e0a6 | 318 | env: |
984c0051 TR |
319 | - BUILDMAN="mx6&tqc" |
320 | - name: "buildman i.MX6 (catch-all)" | |
a032e0a6 | 321 | env: |
984c0051 TR |
322 | - BUILDMAN="mx6 -x boundary,engicam,freescale,technexion,toradex,tqc" |
323 | - name: "buildman i.MX (non-i.MX6 catch-all)" | |
324 | env: | |
325 | - BUILDMAN="mx -x freescale,mx6,toradex,technexion" | |
548aefa5 | 326 | - name: "buildman keystone 2/3" |
a032e0a6 | 327 | env: |
548aefa5 | 328 | - BUILDMAN="k2 k3" |
a032e0a6 SW |
329 | - name: "buildman samsung socfpga" |
330 | env: | |
dca268a8 | 331 | - BUILDMAN="samsung socfpga" |
818408e2 TR |
332 | - name: "buildman spear" |
333 | env: | |
334 | - BUILDMAN="spear" | |
a032e0a6 SW |
335 | - name: "buildman sun4i" |
336 | env: | |
baade496 | 337 | - BUILDMAN="sun4i" |
a032e0a6 SW |
338 | - name: "buildman sun5i" |
339 | env: | |
baade496 | 340 | - BUILDMAN="sun5i" |
a032e0a6 SW |
341 | - name: "buildman sun6i" |
342 | env: | |
baade496 | 343 | - BUILDMAN="sun6i" |
b5ddd070 | 344 | - name: "buildman sun7i" |
a032e0a6 | 345 | env: |
baade496 | 346 | - BUILDMAN="sun7i" |
95b22154 | 347 | - name: "buildman 64bit sun8i" |
a032e0a6 | 348 | env: |
56d35f2e | 349 | - BUILDMAN="sun8i&aarch64 -x orangepi" |
95b22154 TR |
350 | - name: "buildman 32bit sun8i" |
351 | env: | |
56d35f2e | 352 | - BUILDMAN="sun8i&armv7 -x orangepi" |
a032e0a6 SW |
353 | - name: "buildman sun9i" |
354 | env: | |
baade496 | 355 | - BUILDMAN="sun9i" |
a032e0a6 SW |
356 | - name: "buildman sun50i" |
357 | env: | |
56d35f2e | 358 | - BUILDMAN="sun50i -x orangepi" |
a032e0a6 SW |
359 | - name: "buildman catch-all ARM" |
360 | env: | |
2d4cd12d | 361 | - BUILDMAN="arm -x arm11,arm7,arm9,aarch64,at91,bcm,freescale,kirkwood,mvebu,siemens,tegra,uniphier,mx,samsung,sunxi,am33xx,omap,rk,toradex,socfpga,k2,k3,zynq" |
a032e0a6 SW |
362 | - name: "buildman sandbox x86" |
363 | env: | |
050c7569 | 364 | - BUILDMAN="sandbox x86" |
0533fb8b | 365 | TOOLCHAIN="i386" |
984c0051 TR |
366 | - name: "buildman technexion" |
367 | env: | |
368 | - BUILDMAN="technexion" | |
b684d403 | 369 | - name: "buildman kirkwood" |
a032e0a6 | 370 | env: |
b684d403 | 371 | - BUILDMAN="kirkwood" |
a032e0a6 SW |
372 | - name: "buildman mvebu" |
373 | env: | |
0bf1bc44 | 374 | - BUILDMAN="mvebu" |
a032e0a6 SW |
375 | - name: "buildman m68k" |
376 | env: | |
050c7569 RM |
377 | - BUILDMAN="m68k" |
378 | TOOLCHAIN="m68k" | |
a032e0a6 SW |
379 | - name: "buildman microblaze" |
380 | env: | |
0d3aaa35 | 381 | - BUILDMAN="microblaze" |
76761e7f | 382 | TOOLCHAIN="microblaze" |
a032e0a6 SW |
383 | - name: "buildman mips" |
384 | env: | |
050c7569 RM |
385 | - BUILDMAN="mips" |
386 | TOOLCHAIN="mips" | |
a032e0a6 SW |
387 | - name: "buildman non-Freescale PowerPC" |
388 | env: | |
389 | - BUILDMAN="powerpc -x freescale" | |
4c58d273 | 390 | TOOLCHAIN="powerpc" |
a032e0a6 SW |
391 | - name: "buildman mpc85xx&freescale (excluding many)" |
392 | env: | |
dca268a8 | 393 | - BUILDMAN="mpc85xx&freescale -x t208xrdb -x t4qds -x t102* -x p1_p2_rdb_pc -x p1010rdb -x corenet_ds -x b4860qds -x bsc91*" |
4c58d273 | 394 | TOOLCHAIN="powerpc" |
a032e0a6 SW |
395 | - name: "buildman t208xrdb corenet_ds" |
396 | env: | |
dca268a8 | 397 | - BUILDMAN="t208xrdb corenet_ds" |
4c58d273 | 398 | TOOLCHAIN="powerpc" |
a032e0a6 SW |
399 | - name: "buildman Freescale PowerPC" |
400 | env: | |
dca268a8 | 401 | - BUILDMAN="t4qds b4860qds mpc83xx&freescale mpc86xx&freescale" |
4c58d273 | 402 | TOOLCHAIN="powerpc" |
a032e0a6 SW |
403 | - name: "buildman t102*" |
404 | env: | |
9464dd56 | 405 | - BUILDMAN="t102*" |
4c58d273 | 406 | TOOLCHAIN="powerpc" |
a032e0a6 SW |
407 | - name: "buildman p1_p2_rdb_pc" |
408 | env: | |
afdf09ac | 409 | - BUILDMAN="p1_p2_rdb_pc" |
4c58d273 | 410 | TOOLCHAIN="powerpc" |
a032e0a6 SW |
411 | - name: "buildman p1010rdb bsc91" |
412 | env: | |
dca268a8 | 413 | - BUILDMAN="p1010rdb bsc91" |
4c58d273 | 414 | TOOLCHAIN="powerpc" |
a032e0a6 SW |
415 | - name: "buildman siemens" |
416 | env: | |
050c7569 | 417 | - BUILDMAN="siemens" |
a032e0a6 SW |
418 | - name: "buildman tegra" |
419 | env: | |
420 | - BUILDMAN="tegra -x toradex" | |
421 | - name: "buildman am33xx (no siemens)" | |
422 | env: | |
423 | - BUILDMAN="am33xx -x siemens" | |
424 | - name: "buildman omap" | |
425 | env: | |
dca268a8 | 426 | - BUILDMAN="omap" |
56d35f2e HS |
427 | - name: "buildman orangepi" |
428 | env: | |
429 | - BUILDMAN="orangepi" | |
a032e0a6 SW |
430 | - name: "buildman uniphier" |
431 | env: | |
5eba31c3 | 432 | - BUILDMAN="uniphier" |
a032e0a6 SW |
433 | - name: "buildman catch-all AArch64" |
434 | env: | |
2d4cd12d | 435 | - BUILDMAN="aarch64 -x bcm,k3,tegra,ls1,ls2,lx216,mvebu,uniphier,sunxi,samsung,socfpga,rk,versal,zynq" |
a032e0a6 SW |
436 | - name: "buildman rockchip" |
437 | env: | |
2d4cd12d | 438 | - BUILDMAN="rk -x orangepi" |
a032e0a6 SW |
439 | - name: "buildman sh" |
440 | env: | |
441 | - BUILDMAN="sh -x arm" | |
4c58d273 | 442 | TOOLCHAIN="sh" |
568356d8 | 443 | - name: "buildman Zynq* (ARMv7)" |
a032e0a6 | 444 | env: |
568356d8 TR |
445 | - BUILDMAN="zynq&armv7" |
446 | - name: "buildman ZynqMP and Versal" | |
447 | env: | |
448 | - BUILDMAN="versal|zynqmp&aarch64" | |
a032e0a6 SW |
449 | - name: "buildman xtensa" |
450 | env: | |
76761e7f | 451 | - BUILDMAN="xtensa" |
b6f3a12e | 452 | TOOLCHAIN="xtensa-dc233c-elf" |
a032e0a6 SW |
453 | - name: "buildman riscv" |
454 | env: | |
b6896fcb RC |
455 | - BUILDMAN="riscv" |
456 | TOOLCHAIN="riscv" | |
f715ed45 RC |
457 | - name: "buildman nds32" |
458 | env: | |
459 | - BUILDMAN="nds32" | |
460 | TOOLCHAIN="nds32" | |
c7cb334d MR |
461 | |
462 | # QA jobs for code analytics | |
463 | # static code analysis with cppcheck (we can add --enable=all later) | |
a032e0a6 | 464 | - name: "cppcheck" |
d7882210 | 465 | script: |
4ee7f527 | 466 | - cppcheck -j$(nproc) --force --quiet --inline-suppr . |
bb9a76ea HS |
467 | # build HTML documentation |
468 | - name: "htmldocs" | |
469 | script: | |
470 | - make htmldocs | |
c7cb334d | 471 | # search for TODO within source tree |
a032e0a6 | 472 | - name: "grep TODO" |
d7882210 | 473 | script: |
c85b52e4 | 474 | - grep -r TODO . |
c7cb334d | 475 | # search for FIXME within source tree |
a032e0a6 | 476 | - name: "grep FIXME HACK" |
d7882210 | 477 | script: |
c85b52e4 | 478 | - grep -r FIXME . |
c7cb334d | 479 | # search for HACK within source tree and ignore HACKKIT board |
c7cb334d MR |
480 | script: |
481 | - grep -r HACK . | grep -v HACKKIT | |
482 | # some statistics about the code base | |
a032e0a6 | 483 | - name: "sloccount" |
d7882210 | 484 | script: |
c85b52e4 | 485 | - sloccount . |
ee168783 TR |
486 | # ensure all configs have MAINTAINERS entries |
487 | - name: "Check for configs without MAINTAINERS entry" | |
488 | script: | |
489 | - if [ `./tools/genboardscfg.py -f 2>&1 | wc -l` -ne 0 ]; then exit 1; fi | |
80870e2a OS |
490 | # Ensure host tools build |
491 | - name: "Build tools-only" | |
492 | script: | |
493 | - make tools-only_config tools-only -j$(nproc) | |
1f3910da PJT |
494 | # Ensure env tools build |
495 | - name: "Build envtools" | |
496 | script: | |
497 | - make tools-only_config envtools -j$(nproc) | |
8304f053 | 498 | |
6cfd09d4 T |
499 | - name: "Run tests for Nokia RX-51 (aka N900)" |
500 | script: | |
501 | - export PATH=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/:$PATH | |
502 | - test/nokia_rx51_test.sh | |
503 | ||
07bf2122 | 504 | # test/py |
a032e0a6 SW |
505 | - name: "test/py sandbox" |
506 | env: | |
8304f053 | 507 | - TEST_PY_BD="sandbox" |
0533fb8b | 508 | TOOLCHAIN="i386" |
4030f166 TR |
509 | - name: "test/py sandbox with clang" |
510 | env: | |
511 | - TEST_PY_BD="sandbox" | |
98178bdc | 512 | OVERRIDE="-O clang-10" |
a032e0a6 SW |
513 | - name: "test/py sandbox_spl" |
514 | env: | |
40c8d26a | 515 | - TEST_PY_BD="sandbox_spl" |
afb26ba9 | 516 | TEST_PY_TEST_SPEC="test_ofplatdata or test_handoff or test_spl" |
0533fb8b | 517 | TOOLCHAIN="i386" |
f2d07788 | 518 | TEST_PY_TOOLS="yes" |
a032e0a6 SW |
519 | - name: "test/py sandbox_flattree" |
520 | env: | |
40c8d26a | 521 | - TEST_PY_BD="sandbox_flattree" |
0533fb8b | 522 | TOOLCHAIN="i386" |
998dc83a JS |
523 | - name: "test/py evb-ast2500" |
524 | env: | |
525 | - TEST_PY_BD="evb-ast2500" | |
526 | TEST_PY_ID="--id qemu" | |
527 | QEMU_TARGET="arm-softmmu" | |
a032e0a6 SW |
528 | - name: "test/py vexpress_ca15_tc2" |
529 | env: | |
8304f053 SW |
530 | - TEST_PY_BD="vexpress_ca15_tc2" |
531 | TEST_PY_ID="--id qemu" | |
3c643fb0 | 532 | QEMU_TARGET="arm-softmmu" |
a032e0a6 SW |
533 | - name: "test/py vexpress_ca9x4" |
534 | env: | |
8304f053 SW |
535 | - TEST_PY_BD="vexpress_ca9x4" |
536 | TEST_PY_ID="--id qemu" | |
3c643fb0 | 537 | QEMU_TARGET="arm-softmmu" |
a032e0a6 SW |
538 | - name: "test/py integratorcp_cm926ejs" |
539 | env: | |
8304f053 | 540 | - TEST_PY_BD="integratorcp_cm926ejs" |
78992845 | 541 | TEST_PY_TEST_SPEC="not sleep" |
8304f053 | 542 | TEST_PY_ID="--id qemu" |
3c643fb0 | 543 | QEMU_TARGET="arm-softmmu" |
a032e0a6 SW |
544 | - name: "test/py qemu_arm" |
545 | env: | |
7b09dffc TT |
546 | - TEST_PY_BD="qemu_arm" |
547 | TEST_PY_TEST_SPEC="not sleep" | |
548 | QEMU_TARGET="arm-softmmu" | |
a032e0a6 SW |
549 | - name: "test/py qemu_arm64" |
550 | env: | |
a5bee507 TT |
551 | - TEST_PY_BD="qemu_arm64" |
552 | TEST_PY_TEST_SPEC="not sleep" | |
553 | QEMU_TARGET="aarch64-softmmu" | |
a032e0a6 SW |
554 | - name: "test/py qemu_mips" |
555 | env: | |
8304f053 SW |
556 | - TEST_PY_BD="qemu_mips" |
557 | TEST_PY_TEST_SPEC="not sleep" | |
3c643fb0 | 558 | QEMU_TARGET="mips-softmmu" |
8304f053 | 559 | TOOLCHAIN="mips" |
a032e0a6 SW |
560 | - name: "test/py qemu_mipsel" |
561 | env: | |
8304f053 SW |
562 | - TEST_PY_BD="qemu_mipsel" |
563 | TEST_PY_TEST_SPEC="not sleep" | |
3c643fb0 | 564 | QEMU_TARGET="mipsel-softmmu" |
8304f053 | 565 | TOOLCHAIN="mips" |
a032e0a6 SW |
566 | - name: "test/py qemu_mips64" |
567 | env: | |
8304f053 SW |
568 | - TEST_PY_BD="qemu_mips64" |
569 | TEST_PY_TEST_SPEC="not sleep" | |
3c643fb0 | 570 | QEMU_TARGET="mips64-softmmu" |
8304f053 | 571 | TOOLCHAIN="mips" |
a032e0a6 SW |
572 | - name: "test/py qemu_mips64el" |
573 | env: | |
8304f053 SW |
574 | - TEST_PY_BD="qemu_mips64el" |
575 | TEST_PY_TEST_SPEC="not sleep" | |
3c643fb0 | 576 | QEMU_TARGET="mips64el-softmmu" |
8304f053 | 577 | TOOLCHAIN="mips" |
d985aaa5 DS |
578 | - name: "test/py qemu-malta" |
579 | env: | |
580 | - TEST_PY_BD="malta" | |
581 | TEST_PY_TEST_SPEC="not sleep and not efi" | |
582 | TEST_PY_ID="--id qemu" | |
583 | QEMU_TARGET="mips-softmmu" | |
584 | TOOLCHAIN="mips" | |
585 | - name: "test/py qemu-maltael" | |
586 | env: | |
587 | - TEST_PY_BD="maltael" | |
588 | TEST_PY_TEST_SPEC="not sleep and not efi" | |
589 | TEST_PY_ID="--id qemu" | |
590 | QEMU_TARGET="mipsel-softmmu" | |
591 | TOOLCHAIN="mips" | |
592 | - name: "test/py qemu-malta64" | |
593 | env: | |
594 | - TEST_PY_BD="malta64" | |
595 | TEST_PY_TEST_SPEC="not sleep and not efi" | |
596 | TEST_PY_ID="--id qemu" | |
597 | QEMU_TARGET="mips64-softmmu" | |
598 | TOOLCHAIN="mips" | |
599 | - name: "test/py qemu-malta64el" | |
600 | env: | |
601 | - TEST_PY_BD="malta64el" | |
602 | TEST_PY_TEST_SPEC="not sleep and not efi" | |
603 | TEST_PY_ID="--id qemu" | |
604 | QEMU_TARGET="mips64el-softmmu" | |
605 | TOOLCHAIN="mips" | |
a032e0a6 SW |
606 | - name: "test/py qemu-ppce500" |
607 | env: | |
8304f053 SW |
608 | - TEST_PY_BD="qemu-ppce500" |
609 | TEST_PY_TEST_SPEC="not sleep" | |
3c643fb0 | 610 | QEMU_TARGET="ppc-softmmu" |
4c58d273 | 611 | TOOLCHAIN="powerpc" |
a379d330 BM |
612 | - name: "test/py qemu-riscv32" |
613 | env: | |
614 | - TEST_PY_BD="qemu-riscv32" | |
615 | TEST_PY_TEST_SPEC="not sleep" | |
616 | QEMU_TARGET="riscv32-softmmu" | |
a379d330 | 617 | TOOLCHAIN="riscv" |
22c7b7d6 HS |
618 | - name: "test/py qemu-riscv64" |
619 | env: | |
620 | - TEST_PY_BD="qemu-riscv64" | |
621 | TEST_PY_TEST_SPEC="not sleep" | |
622 | QEMU_TARGET="riscv64-softmmu" | |
22c7b7d6 | 623 | TOOLCHAIN="riscv" |
49fb28a4 BM |
624 | - name: "test/py qemu-riscv32_spl" |
625 | env: | |
626 | - TEST_PY_BD="qemu-riscv32_spl" | |
627 | TEST_PY_TEST_SPEC="not sleep" | |
628 | QEMU_TARGET="riscv32-softmmu" | |
49fb28a4 BM |
629 | TOOLCHAIN="riscv" |
630 | - name: "test/py qemu-riscv64_spl" | |
631 | env: | |
632 | - TEST_PY_BD="qemu-riscv64_spl" | |
633 | TEST_PY_TEST_SPEC="not sleep" | |
634 | QEMU_TARGET="riscv64-softmmu" | |
49fb28a4 | 635 | TOOLCHAIN="riscv" |
a032e0a6 SW |
636 | - name: "test/py qemu-x86" |
637 | env: | |
8304f053 SW |
638 | - TEST_PY_BD="qemu-x86" |
639 | TEST_PY_TEST_SPEC="not sleep" | |
3c643fb0 | 640 | QEMU_TARGET="i386-softmmu" |
0533fb8b | 641 | TOOLCHAIN="i386" |
8304f053 | 642 | BUILD_ROM="yes" |
3fdfca7a BM |
643 | - name: "test/py qemu-x86_64" |
644 | env: | |
645 | - TEST_PY_BD="qemu-x86_64" | |
646 | TEST_PY_TEST_SPEC="not sleep" | |
647 | QEMU_TARGET="x86_64-softmmu" | |
3fdfca7a BM |
648 | TOOLCHAIN="i386" |
649 | BUILD_ROM="yes" | |
0e125756 MV |
650 | - name: "test/py r2dplus_i82557c" |
651 | env: | |
652 | - TEST_PY_BD="r2dplus" | |
653 | TEST_PY_ID="--id i82557c_qemu" | |
654 | QEMU_TARGET="sh4-softmmu" | |
655 | BUILDMAN="sh -x arm" | |
656 | TOOLCHAIN="sh" | |
657 | - name: "test/py r2dplus_pcnet" | |
658 | env: | |
659 | - TEST_PY_BD="r2dplus" | |
660 | TEST_PY_ID="--id pcnet_qemu" | |
661 | QEMU_TARGET="sh4-softmmu" | |
662 | BUILDMAN="sh -x arm" | |
663 | TOOLCHAIN="sh" | |
664 | - name: "test/py r2dplus_rtl8139" | |
665 | env: | |
666 | - TEST_PY_BD="r2dplus" | |
667 | TEST_PY_ID="--id rtl8139_qemu" | |
668 | QEMU_TARGET="sh4-softmmu" | |
669 | BUILDMAN="sh -x arm" | |
670 | TOOLCHAIN="sh" | |
671 | - name: "test/py r2dplus_tulip" | |
672 | env: | |
673 | - TEST_PY_BD="r2dplus" | |
674 | TEST_PY_ID="--id tulip_qemu" | |
675 | QEMU_TARGET="sh4-softmmu" | |
676 | BUILDMAN="sh -x arm" | |
677 | TOOLCHAIN="sh" | |
f7c6ee7f | 678 | - name: "test/py xilinx_zynq_virt" |
a032e0a6 | 679 | env: |
f7c6ee7f | 680 | - TEST_PY_BD="xilinx_zynq_virt" |
41122d37 MS |
681 | TEST_PY_TEST_SPEC="not sleep" |
682 | QEMU_TARGET="arm-softmmu" | |
683 | TEST_PY_ID="--id qemu" | |
d9eaae3b MS |
684 | - name: "test/py xilinx_versal_virt" |
685 | env: | |
686 | - TEST_PY_BD="xilinx_versal_virt" | |
687 | TEST_PY_TEST_SPEC="not sleep" | |
688 | QEMU_TARGET="aarch64-softmmu" | |
689 | TEST_PY_ID="--id qemu" | |
a032e0a6 SW |
690 | - name: "test/py xtfpga" |
691 | env: | |
4d690094 MF |
692 | - TEST_PY_BD="xtfpga" |
693 | TEST_PY_TEST_SPEC="not sleep" | |
694 | QEMU_TARGET="xtensa-softmmu" | |
695 | TEST_PY_ID="--id qemu" | |
4d690094 | 696 | TOOLCHAIN="xtensa-dc233c-elf" |
c7cb334d | 697 | |
c7cb334d | 698 | # TODO make it perfect ;-r |