Tom Rini | 10e4779 | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0+ |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 2 | # Copyright Roger Meier <r.meier@siemens.com> |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 3 | |
| 4 | # build U-Boot on Travis CI - https://travis-ci.org/ |
| 5 | |
Tom Rini | 9569d66 | 2016-10-20 11:03:19 -0400 | [diff] [blame] | 6 | sudo: required |
Tom Rini | ff720fc | 2019-10-08 08:39:26 -0400 | [diff] [blame] | 7 | dist: bionic |
Stephen Warren | a427efc | 2016-02-03 10:41:34 -0700 | [diff] [blame] | 8 | |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 9 | language: c |
| 10 | |
Roger Meier | aad5beb | 2016-01-25 20:22:41 +0100 | [diff] [blame] | 11 | addons: |
| 12 | apt: |
Tom Rini | 89d8880 | 2018-10-07 14:20:30 -0400 | [diff] [blame] | 13 | sources: |
| 14 | - ubuntu-toolchain-r-test |
Tom Rini | ff720fc | 2019-10-08 08:39:26 -0400 | [diff] [blame] | 15 | - llvm-toolchain-bionic-7 |
Roger Meier | aad5beb | 2016-01-25 20:22:41 +0100 | [diff] [blame] | 16 | packages: |
Bin Meng | 485a927 | 2020-03-28 07:25:25 -0700 | [diff] [blame] | 17 | - autopoint |
Roger Meier | aad5beb | 2016-01-25 20:22:41 +0100 | [diff] [blame] | 18 | - cppcheck |
| 19 | - sloccount |
| 20 | - sparse |
| 21 | - bc |
| 22 | - build-essential |
Simon Glass | b6f4c1c | 2020-02-03 07:36:12 -0700 | [diff] [blame] | 23 | - libsdl2-dev |
Stephen Warren | ef52e41 | 2016-02-08 18:23:35 -0700 | [diff] [blame] | 24 | - python |
Tom Rini | ebcd214 | 2019-10-24 11:59:27 -0400 | [diff] [blame] | 25 | - python-pyelftools |
Tom Rini | 7e4acf8 | 2020-02-24 15:10:36 -0500 | [diff] [blame] | 26 | - python3-sphinx |
Tom Rini | ebcd214 | 2019-10-24 11:59:27 -0400 | [diff] [blame] | 27 | - python3-virtualenv |
| 28 | - python3-pip |
Tom Rini | 89d191f | 2017-01-23 17:40:22 -0500 | [diff] [blame] | 29 | - swig |
| 30 | - libpython-dev |
Tom Rini | e1776a8 | 2016-10-20 11:08:26 -0400 | [diff] [blame] | 31 | - iasl |
Alexander Graf | d558629 | 2016-11-18 13:18:00 +0100 | [diff] [blame] | 32 | - grub-efi-ia32-bin |
Bin Meng | 51c8711 | 2018-10-13 20:52:12 -0700 | [diff] [blame] | 33 | - grub-efi-amd64-bin |
Alexander Graf | d558629 | 2016-11-18 13:18:00 +0100 | [diff] [blame] | 34 | - rpm2cpio |
| 35 | - wget |
Tom Rini | 61d0fac | 2017-09-23 13:00:57 -0400 | [diff] [blame] | 36 | - device-tree-compiler |
Tom Rini | 2ad6990 | 2018-03-14 14:02:49 -0400 | [diff] [blame] | 37 | - lzop |
Simon Glass | 7ba3359 | 2018-09-14 04:57:26 -0600 | [diff] [blame] | 38 | - liblz4-tool |
Simon Glass | 96a6296 | 2019-07-08 13:18:52 -0600 | [diff] [blame] | 39 | - lzma-alone |
Tom Rini | 89d8880 | 2018-10-07 14:20:30 -0400 | [diff] [blame] | 40 | - libisl15 |
| 41 | - clang-7 |
Marek Vasut | d44ad5a | 2019-03-14 01:01:24 +0100 | [diff] [blame] | 42 | - srecord |
Heinrich Schuchardt | e335201 | 2020-02-21 18:24:00 +0100 | [diff] [blame] | 43 | - graphviz |
Daniel Schwierzeck | 40261f9 | 2018-05-10 07:15:53 -0400 | [diff] [blame] | 44 | |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 45 | install: |
Tom Rini | 719ad57 | 2016-10-20 11:26:40 -0400 | [diff] [blame] | 46 | # Clone uboot-test-hooks |
| 47 | - git clone --depth=1 git://github.com/swarren/uboot-test-hooks.git /tmp/uboot-test-hooks |
| 48 | - ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname` |
| 49 | - ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname` |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 50 | # prepare buildman environment |
Stephen Warren | 05bc432 | 2016-10-26 11:05:31 -0600 | [diff] [blame] | 51 | - echo -e "[toolchain]\nroot = /usr" > ~/.buildman |
Alexey Brodkin | ea555b2 | 2018-12-03 17:09:13 +0300 | [diff] [blame] | 52 | - echo -e "arc = /tmp/arc_gnu_2018.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman |
Tom Rini | 1d7ed2d | 2019-11-05 10:44:16 -0500 | [diff] [blame] | 53 | - echo -e "\n[toolchain-alias]\nsh = sh2" >> ~/.buildman |
| 54 | - echo -e "x86 = i386" >> ~/.buildman; |
| 55 | - echo -e "riscv = riscv64" >> ~/.buildman; |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 56 | - cat ~/.buildman |
Tom Rini | ff720fc | 2019-10-08 08:39:26 -0400 | [diff] [blame] | 57 | - grub-mkimage --prefix="" -o ~/grub_x86.efi -O i386-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd |
| 58 | - grub-mkimage --prefix="" -o ~/grub_x64.efi -O x86_64-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd |
Tom Rini | ff720fc | 2019-10-08 08:39:26 -0400 | [diff] [blame] | 59 | - 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 |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 60 | |
| 61 | env: |
| 62 | global: |
Ramon Fried | bd818c4 | 2019-08-12 20:43:38 +0300 | [diff] [blame] | 63 | - PATH=/tmp/qemu-install/bin:/tmp/uboot-test-hooks/bin:/usr/bin:/bin:/usr/local/bin |
Alexander Graf | c4d32e2 | 2016-11-17 18:31:04 +0100 | [diff] [blame] | 64 | - PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 65 | - BUILD_DIR=build |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 66 | - HOSTCC="cc" |
| 67 | - HOSTCXX="c++" |
Tom Rini | b8555f4 | 2020-01-11 08:07:03 -0500 | [diff] [blame] | 68 | - QEMU_VERSION="v4.2.0" |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 69 | |
| 70 | before_script: |
Roger Meier | aad5beb | 2016-01-25 20:22:41 +0100 | [diff] [blame] | 71 | # install toolchains based on TOOLCHAIN} variable |
Roger Meier | aad5beb | 2016-01-25 20:22:41 +0100 | [diff] [blame] | 72 | - if [[ "${TOOLCHAIN}" == *m68k* ]]; then ./tools/buildman/buildman --fetch-arch m68k ; fi |
Tom Rini | e1776a8 | 2016-10-20 11:08:26 -0400 | [diff] [blame] | 73 | - if [[ "${TOOLCHAIN}" == *microblaze* ]]; then ./tools/buildman/buildman --fetch-arch microblaze ; fi |
Roger Meier | aad5beb | 2016-01-25 20:22:41 +0100 | [diff] [blame] | 74 | - if [[ "${TOOLCHAIN}" == *mips* ]]; then ./tools/buildman/buildman --fetch-arch mips ; fi |
Daniel Schwierzeck | 40261f9 | 2018-05-10 07:15:53 -0400 | [diff] [blame] | 75 | - if [[ "${TOOLCHAIN}" == *sh* ]]; then ./tools/buildman/buildman --fetch-arch sh2 ; fi |
Bin Meng | a2086a8 | 2018-10-08 16:53:54 -0700 | [diff] [blame] | 76 | - if [[ "${TOOLCHAIN}" == *i386* ]]; then |
| 77 | ./tools/buildman/buildman --fetch-arch i386; |
Stephen Warren | 7cb9402 | 2016-10-26 11:05:33 -0600 | [diff] [blame] | 78 | fi |
Alexey Brodkin | 8bfb9f1 | 2017-04-21 13:35:43 +0300 | [diff] [blame] | 79 | - if [[ "${TOOLCHAIN}" == arc ]]; then |
Alexey Brodkin | ea555b2 | 2018-12-03 17:09:13 +0300 | [diff] [blame] | 80 | wget https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2018.09-release/arc_gnu_2018.09_prebuilt_uclibc_le_archs_linux_install.tar.gz && |
| 81 | tar -C /tmp -xf arc_gnu_2018.09_prebuilt_uclibc_le_archs_linux_install.tar.gz; |
Alexey Brodkin | 8bfb9f1 | 2017-04-21 13:35:43 +0300 | [diff] [blame] | 82 | fi |
Rick Chen | b7caf25 | 2019-01-14 13:36:15 +0800 | [diff] [blame] | 83 | - if [[ "${TOOLCHAIN}" == "nds32" ]]; then |
| 84 | wget https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz && |
| 85 | tar -C /tmp -xf nds32le-linux-glibc-v3-upstream.tar.gz && |
| 86 | echo -e "\n[toolchain-prefix]\nnds32 = /tmp/nds32le-linux-glibc-v3-upstream/bin/nds32le-linux-" >> ~/.buildman; |
| 87 | fi |
Max Filippov | 8cb1584 | 2018-02-07 15:30:01 -0800 | [diff] [blame] | 88 | - if [[ "${TOOLCHAIN}" == *xtensa* ]]; then |
| 89 | wget https://github.com/foss-xtensa/toolchain/releases/download/2018.02/x86_64-2018.02-${TOOLCHAIN}.tar.gz && |
| 90 | tar -C /tmp -xf x86_64-2018.02-${TOOLCHAIN}.tar.gz && |
| 91 | echo -e "\n[toolchain-prefix]\nxtensa = /tmp/2018.02/${TOOLCHAIN}/bin/${TOOLCHAIN}-" >> ~/.buildman; |
| 92 | fi |
Tom Rini | b060eb0 | 2017-04-14 19:47:51 -0400 | [diff] [blame] | 93 | # If TOOLCHAIN is unset, we're on some flavour of ARM. |
| 94 | - if [[ "${TOOLCHAIN}" == "" ]]; then |
Daniel Schwierzeck | 40261f9 | 2018-05-10 07:15:53 -0400 | [diff] [blame] | 95 | ./tools/buildman/buildman --fetch-arch arm && |
| 96 | ./tools/buildman/buildman --fetch-arch aarch64; |
Tom Rini | b060eb0 | 2017-04-14 19:47:51 -0400 | [diff] [blame] | 97 | fi |
Daniel Schwierzeck | 40261f9 | 2018-05-10 07:15:53 -0400 | [diff] [blame] | 98 | - if [[ "${TOOLCHAIN}" == "powerpc" ]]; then ./tools/buildman/buildman --fetch-arch powerpc; fi |
Rick Chen | 626605d | 2018-01-12 14:57:09 +0800 | [diff] [blame] | 99 | - if [[ "${TOOLCHAIN}" == "riscv" ]]; then |
Bin Meng | 6205c37 | 2020-03-28 07:25:26 -0700 | [diff] [blame] | 100 | ./tools/buildman/buildman --fetch-arch riscv32 && |
Bin Meng | b14d508 | 2018-08-30 06:17:06 -0700 | [diff] [blame] | 101 | ./tools/buildman/buildman --fetch-arch riscv64; |
Rick Chen | 626605d | 2018-01-12 14:57:09 +0800 | [diff] [blame] | 102 | fi |
Tom Rini | 6cd2f9c | 2016-12-07 11:20:40 -0500 | [diff] [blame] | 103 | - if [[ "${QEMU_TARGET}" != "" ]]; then |
| 104 | git clone git://git.qemu.org/qemu.git /tmp/qemu; |
| 105 | pushd /tmp/qemu; |
| 106 | git submodule update --init dtc && |
Michal Simek | 6eba06e | 2019-01-16 15:18:43 +0100 | [diff] [blame] | 107 | git checkout ${QEMU_VERSION} && |
Tom Rini | 6cd2f9c | 2016-12-07 11:20:40 -0500 | [diff] [blame] | 108 | ./configure --prefix=/tmp/qemu-install --target-list=${QEMU_TARGET} && |
| 109 | make -j4 all install; |
| 110 | popd; |
| 111 | fi |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 112 | |
Bin Meng | 485a927 | 2020-03-28 07:25:25 -0700 | [diff] [blame] | 113 | # Build GRUB UEFI targets |
| 114 | - if [[ "${QEMU_TARGET}" == "arm-softmmu" ]]; then |
| 115 | git clone git://git.savannah.gnu.org/grub.git /tmp/grub && |
| 116 | pushd /tmp/grub && |
| 117 | git checkout grub-2.04 && |
| 118 | ./bootstrap && |
| 119 | ./configure --target=arm --with-platform=efi |
| 120 | CC=gcc |
Bin Meng | 94faac4 | 2020-04-06 06:07:00 -0700 | [diff] [blame] | 121 | TARGET_CC=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc |
| 122 | TARGET_OBJCOPY=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-objcopy |
| 123 | TARGET_STRIP=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-strip |
| 124 | TARGET_NM=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-nm |
| 125 | TARGET_RANLIB=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ranlib && |
Bin Meng | 485a927 | 2020-03-28 07:25:25 -0700 | [diff] [blame] | 126 | make -j4 && |
| 127 | ./grub-mkimage -O arm-efi -o ~/grub_arm.efi --prefix= -d |
| 128 | grub-core cat chain configfile echo efinet ext2 fat halt help linux |
| 129 | lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot |
| 130 | search search_fs_file search_fs_uuid search_label serial sleep test |
| 131 | true && |
| 132 | popd; |
| 133 | fi |
| 134 | - if [[ "${QEMU_TARGET}" == "aarch64-softmmu" ]]; then |
| 135 | git clone git://git.savannah.gnu.org/grub.git /tmp/grub && |
| 136 | pushd /tmp/grub && |
| 137 | git checkout grub-2.04 && |
| 138 | ./bootstrap && |
| 139 | ./configure --target=aarch64 --with-platform=efi |
| 140 | CC=gcc |
Bin Meng | 94faac4 | 2020-04-06 06:07:00 -0700 | [diff] [blame] | 141 | TARGET_CC=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc |
| 142 | TARGET_OBJCOPY=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-objcopy |
| 143 | TARGET_STRIP=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-strip |
| 144 | TARGET_NM=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-nm |
| 145 | TARGET_RANLIB=~/.buildman-toolchains/gcc-9.2.0-nolibc/aarch64-linux/bin/aarch64-linux-ranlib && |
Bin Meng | 485a927 | 2020-03-28 07:25:25 -0700 | [diff] [blame] | 146 | make -j4 && |
| 147 | ./grub-mkimage -O arm64-efi -o ~/grub_arm64.efi --prefix= -d |
| 148 | grub-core cat chain configfile echo efinet ext2 fat halt help linux |
| 149 | lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot |
| 150 | search search_fs_file search_fs_uuid search_label serial sleep test |
| 151 | true && |
| 152 | popd; |
| 153 | fi |
Bin Meng | 6205c37 | 2020-03-28 07:25:26 -0700 | [diff] [blame] | 154 | - if [[ "${QEMU_TARGET}" == "riscv32-softmmu" ]]; then |
| 155 | git clone git://git.savannah.gnu.org/grub.git /tmp/grub && |
| 156 | pushd /tmp/grub && |
| 157 | git checkout grub-2.04 && |
| 158 | ./bootstrap && |
| 159 | ./configure --target=riscv32 --with-platform=efi |
| 160 | CC=gcc |
Bin Meng | 94faac4 | 2020-04-06 06:07:00 -0700 | [diff] [blame] | 161 | TARGET_CC=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-gcc |
| 162 | TARGET_OBJCOPY=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-objcopy |
| 163 | TARGET_STRIP=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-strip |
| 164 | TARGET_NM=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-nm |
| 165 | TARGET_RANLIB=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv32-linux/bin/riscv32-linux-ranlib && |
Bin Meng | 6205c37 | 2020-03-28 07:25:26 -0700 | [diff] [blame] | 166 | make -j4 && |
| 167 | ./grub-mkimage -O riscv32-efi -o ~/grub_riscv32.efi --prefix= -d |
| 168 | grub-core cat chain configfile echo efinet ext2 fat halt help linux |
| 169 | lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot |
| 170 | search search_fs_file search_fs_uuid search_label serial sleep test |
| 171 | true && |
| 172 | popd; |
| 173 | fi |
| 174 | - if [[ "${QEMU_TARGET}" == "riscv64-softmmu" ]]; then |
| 175 | git clone git://git.savannah.gnu.org/grub.git /tmp/grub && |
| 176 | pushd /tmp/grub && |
| 177 | git checkout grub-2.04 && |
| 178 | ./bootstrap && |
| 179 | ./configure --target=riscv64 --with-platform=efi |
| 180 | CC=gcc |
Bin Meng | 94faac4 | 2020-04-06 06:07:00 -0700 | [diff] [blame] | 181 | TARGET_CC=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-gcc |
| 182 | TARGET_OBJCOPY=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-objcopy |
| 183 | TARGET_STRIP=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-strip |
| 184 | TARGET_NM=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-nm |
| 185 | TARGET_RANLIB=~/.buildman-toolchains/gcc-9.2.0-nolibc/riscv64-linux/bin/riscv64-linux-ranlib && |
Bin Meng | 6205c37 | 2020-03-28 07:25:26 -0700 | [diff] [blame] | 186 | make -j4 && |
| 187 | ./grub-mkimage -O riscv64-efi -o ~/grub_riscv64.efi --prefix= -d |
| 188 | grub-core cat chain configfile echo efinet ext2 fat halt help linux |
| 189 | lsefisystab loadenv lvm minicmd normal part_msdos part_gpt reboot |
| 190 | search search_fs_file search_fs_uuid search_label serial sleep test |
| 191 | true && |
| 192 | popd; |
| 193 | fi |
Bin Meng | b68d9d6 | 2020-03-28 07:25:29 -0700 | [diff] [blame] | 194 | - if [[ "${TEST_PY_BD}" == "qemu-riscv32_spl" ]]; then |
| 195 | wget -O - https://github.com/riscv/opensbi/releases/download/v0.6/opensbi-0.6-rv32-bin.tar.xz | tar -C /tmp -xJ; |
| 196 | export OPENSBI=/tmp/opensbi-0.6-rv32-bin/platform/qemu/virt/firmware/fw_dynamic.bin; |
| 197 | fi |
| 198 | - if [[ "${TEST_PY_BD}" == "qemu-riscv64_spl" ]]; then |
| 199 | wget -O - https://github.com/riscv/opensbi/releases/download/v0.6/opensbi-0.6-rv64-bin.tar.xz | tar -C /tmp -xJ; |
| 200 | export OPENSBI=/tmp/opensbi-0.6-rv64-bin/platform/qemu/virt/firmware/fw_dynamic.bin; |
| 201 | fi |
Bin Meng | 485a927 | 2020-03-28 07:25:25 -0700 | [diff] [blame] | 202 | |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 203 | script: |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 204 | # Comments must be outside the command strings below, or the Travis parser |
| 205 | # will get confused. |
| 206 | # |
Tom Rini | 89d8880 | 2018-10-07 14:20:30 -0400 | [diff] [blame] | 207 | # From buildman, exit code 129 means warnings only. If we've been asked to |
| 208 | # use clang only do one configuration. |
Simon Glass | 9f28ddd | 2020-03-18 09:42:49 -0600 | [diff] [blame] | 209 | # Build a selection of boards if TEST_PY_BD is empty |
Simon Glass | 41e8fbe | 2020-03-18 09:42:52 -0600 | [diff] [blame] | 210 | - if [[ "${BUILDMAN}" != "" ]]; then |
Tom Rini | 89d8880 | 2018-10-07 14:20:30 -0400 | [diff] [blame] | 211 | ret=0; |
Simon Glass | 6c659f8 | 2019-01-07 16:44:21 -0700 | [diff] [blame] | 212 | tools/buildman/buildman -P -E ${BUILDMAN} ${OVERRIDE}|| ret=$?; |
Stephen Warren | cf1cebf | 2016-10-26 11:05:35 -0600 | [diff] [blame] | 213 | if [[ $ret -ne 0 && $ret -ne 129 ]]; then |
Simon Glass | ad8eaed | 2020-03-18 09:42:53 -0600 | [diff] [blame] | 214 | tools/buildman/buildman -seP ${BUILDMAN}; |
Stephen Warren | a0d0c22 | 2016-10-26 11:05:32 -0600 | [diff] [blame] | 215 | exit $ret; |
| 216 | fi; |
Roger Meier | aad5beb | 2016-01-25 20:22:41 +0100 | [diff] [blame] | 217 | fi |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 218 | # "not a_test_which_does_not_exist" is a dummy -k parameter which will |
| 219 | # never prevent any test from running. That way, we can always pass |
| 220 | # "-k something" even when $TEST_PY_TEST_SPEC doesnt need a custom |
| 221 | # value. |
Simon Glass | 9f28ddd | 2020-03-18 09:42:49 -0600 | [diff] [blame] | 222 | # Build just the one board needed for testing, if TEST_PY_BD is non-empty |
Simon Glass | 57bccec | 2020-03-18 09:42:48 -0600 | [diff] [blame] | 223 | - if [[ "${TEST_PY_BD}" != "" ]]; then |
Simon Glass | 9f28ddd | 2020-03-18 09:42:49 -0600 | [diff] [blame] | 224 | export UBOOT_TRAVIS_BUILD_DIR=`cd .. && pwd`/${TEST_PY_BD}; |
Simon Glass | 57bccec | 2020-03-18 09:42:48 -0600 | [diff] [blame] | 225 | cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/; |
| 226 | cp ~/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/; |
| 227 | if [[ -e ~/grub_arm.efi ]]; then |
| 228 | cp ~/grub_arm.efi $UBOOT_TRAVIS_BUILD_DIR/; |
| 229 | fi; |
| 230 | if [[ -e ~/grub_arm64.efi ]]; then |
| 231 | cp ~/grub_arm64.efi $UBOOT_TRAVIS_BUILD_DIR/; |
| 232 | fi; |
| 233 | if [[ -e ~/grub_riscv32.efi ]]; then |
| 234 | cp ~/grub_riscv32.efi $UBOOT_TRAVIS_BUILD_DIR/; |
| 235 | fi; |
| 236 | if [[ -e ~/grub_riscv64.efi ]]; then |
| 237 | cp ~/grub_riscv64.efi $UBOOT_TRAVIS_BUILD_DIR/; |
| 238 | fi; |
Simon Glass | 9f28ddd | 2020-03-18 09:42:49 -0600 | [diff] [blame] | 239 | ret=0; |
Simon Glass | b49bfe7 | 2020-03-18 09:42:51 -0600 | [diff] [blame] | 240 | tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E |
Simon Glass | 41e8fbe | 2020-03-18 09:42:52 -0600 | [diff] [blame] | 241 | --board ${TEST_PY_BD} ${OVERRIDE}|| ret=$?; |
Simon Glass | 9f28ddd | 2020-03-18 09:42:49 -0600 | [diff] [blame] | 242 | if [[ $ret -ne 0 && $ret -ne 129 ]]; then |
Simon Glass | ad8eaed | 2020-03-18 09:42:53 -0600 | [diff] [blame] | 243 | tools/buildman/buildman -se -o ${UBOOT_TRAVIS_BUILD_DIR} -w |
Simon Glass | 41e8fbe | 2020-03-18 09:42:52 -0600 | [diff] [blame] | 244 | --board ${TEST_PY_BD}; |
Simon Glass | 9f28ddd | 2020-03-18 09:42:49 -0600 | [diff] [blame] | 245 | exit $ret; |
| 246 | fi; |
Tom Rini | ebcd214 | 2019-10-24 11:59:27 -0400 | [diff] [blame] | 247 | virtualenv -p /usr/bin/python3 /tmp/venv; |
| 248 | . /tmp/venv/bin/activate; |
| 249 | pip install -r test/py/requirements.txt; |
| 250 | ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID} |
| 251 | -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}" |
| 252 | --build-dir "$UBOOT_TRAVIS_BUILD_DIR"; |
| 253 | ret=$?; |
| 254 | if [[ $ret -ne 0 ]]; then |
| 255 | exit $ret; |
| 256 | fi; |
Tom Rini | 6c88310 | 2020-02-11 12:41:14 -0500 | [diff] [blame] | 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}"; |
| 260 | ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test && |
| 261 | ./tools/patman/patman --test && |
| 262 | ./tools/buildman/buildman -t && |
Tom Rini | 0b3e0c4 | 2020-03-11 18:11:15 -0400 | [diff] [blame] | 263 | ./tools/dtoc/dtoc -t && |
| 264 | make testconfig; |
Tom Rini | 6c88310 | 2020-02-11 12:41:14 -0500 | [diff] [blame] | 265 | fi; |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 266 | fi |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 267 | |
| 268 | matrix: |
| 269 | include: |
| 270 | # we need to build by vendor due to 50min time limit for builds |
| 271 | # each env setting here is a dedicated build |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 272 | - name: "buildman arc" |
| 273 | env: |
Alexey Brodkin | 8bfb9f1 | 2017-04-21 13:35:43 +0300 | [diff] [blame] | 274 | - BUILDMAN="arc" |
| 275 | TOOLCHAIN="arc" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 276 | - name: "buildman arm11 arm7 arm920t arm946es" |
| 277 | env: |
Tom Rini | 9662fa2 | 2018-05-10 07:15:54 -0400 | [diff] [blame] | 278 | - BUILDMAN="arm11 arm7 arm920t arm946es" |
Eugen Hristev | 55d6a29 | 2019-04-01 11:04:03 +0000 | [diff] [blame] | 279 | - name: "buildman arm926ejs (non-NXP,siemens,at91,kirkwood,spear)" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 280 | env: |
Tom Rini | d30ec58 | 2016-11-05 19:34:49 -0400 | [diff] [blame] | 281 | - JOB="arm926ejs" |
Eugen Hristev | 55d6a29 | 2019-04-01 11:04:03 +0000 | [diff] [blame] | 282 | BUILDMAN="arm926ejs -x freescale,siemens,at91,kirkwood,spear,omap" |
| 283 | - name: "buildman at91 (non arm v7)" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 284 | env: |
Eugen Hristev | 55d6a29 | 2019-04-01 11:04:03 +0000 | [diff] [blame] | 285 | - BUILDMAN="at91 -x armv7" |
| 286 | - name: "buildman at91 (non arm926ejs)" |
| 287 | env: |
| 288 | - BUILDMAN="at91 -x arm926ejs" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 289 | - name: "buildman boundary engicam toradex" |
| 290 | env: |
| 291 | - BUILDMAN="boundary engicam toradex" |
Tom Rini | 4875695 | 2019-10-13 11:21:56 -0400 | [diff] [blame] | 292 | - name: "buildman ARM bcm" |
Tom Rini | 7aa2eec | 2019-10-09 11:01:06 -0400 | [diff] [blame] | 293 | env: |
Tom Rini | 4875695 | 2019-10-13 11:21:56 -0400 | [diff] [blame] | 294 | - BUILDMAN="bcm -x mips" |
Heiko Schocher | 56b9b31 | 2019-11-22 11:17:29 +0100 | [diff] [blame] | 295 | - name: "buildman NXP ARM32 (catch-all)" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 296 | env: |
Heiko Schocher | 56b9b31 | 2019-11-22 11:17:29 +0100 | [diff] [blame] | 297 | - BUILDMAN="freescale -x powerpc,m68k,aarch64,ls101,ls102,ls104,ls108,ls20,lx216" |
| 298 | - name: "buildman NXP LS101x" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 299 | env: |
Heiko Schocher | 56b9b31 | 2019-11-22 11:17:29 +0100 | [diff] [blame] | 300 | - BUILDMAN="freescale&ls101" |
| 301 | - name: "buildman NXP LS102x" |
Prabhakar Kushwaha | b390a30 | 2019-06-19 17:47:12 +0530 | [diff] [blame] | 302 | env: |
Heiko Schocher | 56b9b31 | 2019-11-22 11:17:29 +0100 | [diff] [blame] | 303 | - BUILDMAN="freescale&ls102" |
| 304 | - name: "buildman NXP LS104x" |
Tom Rini | 59ff66c | 2018-10-23 11:58:44 -0400 | [diff] [blame] | 305 | env: |
Heiko Schocher | 56b9b31 | 2019-11-22 11:17:29 +0100 | [diff] [blame] | 306 | - BUILDMAN="freescale&ls104" |
| 307 | - name: "buildman NXP LS108x" |
Tom Rini | 2c92994 | 2019-01-16 07:19:26 -0500 | [diff] [blame] | 308 | env: |
Heiko Schocher | 56b9b31 | 2019-11-22 11:17:29 +0100 | [diff] [blame] | 309 | - BUILDMAN="freescale&ls108" |
| 310 | - name: "buildman NXP LS20xx" |
Tom Rini | 2c92994 | 2019-01-16 07:19:26 -0500 | [diff] [blame] | 311 | env: |
Heiko Schocher | 56b9b31 | 2019-11-22 11:17:29 +0100 | [diff] [blame] | 312 | - BUILDMAN="freescale&ls20" |
| 313 | - name: "buildman NXP LX216x" |
Prabhakar Kushwaha | b390a30 | 2019-06-19 17:47:12 +0530 | [diff] [blame] | 314 | env: |
Heiko Schocher | 56b9b31 | 2019-11-22 11:17:29 +0100 | [diff] [blame] | 315 | - BUILDMAN="freescale&lx216" |
Tom Rini | 13883b2 | 2019-10-15 07:27:13 -0400 | [diff] [blame] | 316 | - name: "buildman i.MX6 tqc" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 317 | env: |
Tom Rini | 13883b2 | 2019-10-15 07:27:13 -0400 | [diff] [blame] | 318 | - BUILDMAN="mx6&tqc" |
| 319 | - name: "buildman i.MX6 (catch-all)" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 320 | env: |
Tom Rini | 13883b2 | 2019-10-15 07:27:13 -0400 | [diff] [blame] | 321 | - BUILDMAN="mx6 -x boundary,engicam,freescale,technexion,toradex,tqc" |
| 322 | - name: "buildman i.MX (non-i.MX6 catch-all)" |
| 323 | env: |
| 324 | - BUILDMAN="mx -x freescale,mx6,toradex,technexion" |
Tom Rini | 298ad4d | 2019-10-09 11:02:21 -0400 | [diff] [blame] | 325 | - name: "buildman keystone 2/3" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 326 | env: |
Tom Rini | 298ad4d | 2019-10-09 11:02:21 -0400 | [diff] [blame] | 327 | - BUILDMAN="k2 k3" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 328 | - name: "buildman samsung socfpga" |
| 329 | env: |
Tom Rini | 9662fa2 | 2018-05-10 07:15:54 -0400 | [diff] [blame] | 330 | - BUILDMAN="samsung socfpga" |
Tom Rini | 59ff66c | 2018-10-23 11:58:44 -0400 | [diff] [blame] | 331 | - name: "buildman spear" |
| 332 | env: |
| 333 | - BUILDMAN="spear" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 334 | - name: "buildman sun4i" |
| 335 | env: |
Tom Rini | d30ec58 | 2016-11-05 19:34:49 -0400 | [diff] [blame] | 336 | - BUILDMAN="sun4i" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 337 | - name: "buildman sun5i" |
| 338 | env: |
Tom Rini | d30ec58 | 2016-11-05 19:34:49 -0400 | [diff] [blame] | 339 | - BUILDMAN="sun5i" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 340 | - name: "buildman sun6i" |
| 341 | env: |
Tom Rini | d30ec58 | 2016-11-05 19:34:49 -0400 | [diff] [blame] | 342 | - BUILDMAN="sun6i" |
Tuomas Tynkkynen | ba67d03 | 2018-09-08 00:53:18 +0300 | [diff] [blame] | 343 | - name: "buildman sun7i" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 344 | env: |
Tom Rini | d30ec58 | 2016-11-05 19:34:49 -0400 | [diff] [blame] | 345 | - BUILDMAN="sun7i" |
Tom Rini | 5aa0f0d | 2019-10-15 07:27:14 -0400 | [diff] [blame] | 346 | - name: "buildman 64bit sun8i" |
| 347 | env: |
Heiko Schocher | 8c00c55 | 2019-11-21 06:50:12 +0100 | [diff] [blame] | 348 | - BUILDMAN="sun8i&aarch64 -x orangepi" |
Tom Rini | 5aa0f0d | 2019-10-15 07:27:14 -0400 | [diff] [blame] | 349 | - name: "buildman 32bit sun8i" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 350 | env: |
Heiko Schocher | 8c00c55 | 2019-11-21 06:50:12 +0100 | [diff] [blame] | 351 | - BUILDMAN="sun8i&armv7 -x orangepi" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 352 | - name: "buildman sun9i" |
| 353 | env: |
Tom Rini | d30ec58 | 2016-11-05 19:34:49 -0400 | [diff] [blame] | 354 | - BUILDMAN="sun9i" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 355 | - name: "buildman sun50i" |
| 356 | env: |
Heiko Schocher | 8c00c55 | 2019-11-21 06:50:12 +0100 | [diff] [blame] | 357 | - BUILDMAN="sun50i -x orangepi" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 358 | - name: "buildman catch-all ARM" |
| 359 | env: |
Tom Rini | e289a16 | 2020-03-09 13:01:57 -0400 | [diff] [blame] | 360 | - 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" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 361 | - name: "buildman sandbox x86" |
| 362 | env: |
Roger Meier | aad5beb | 2016-01-25 20:22:41 +0100 | [diff] [blame] | 363 | - BUILDMAN="sandbox x86" |
Bin Meng | a2086a8 | 2018-10-08 16:53:54 -0700 | [diff] [blame] | 364 | TOOLCHAIN="i386" |
Tom Rini | 13883b2 | 2019-10-15 07:27:13 -0400 | [diff] [blame] | 365 | - name: "buildman technexion" |
| 366 | env: |
| 367 | - BUILDMAN="technexion" |
Stefan Roese | 4a79738 | 2019-04-25 11:53:18 +0200 | [diff] [blame] | 368 | - name: "buildman kirkwood" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 369 | env: |
Stefan Roese | 4a79738 | 2019-04-25 11:53:18 +0200 | [diff] [blame] | 370 | - BUILDMAN="kirkwood" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 371 | - name: "buildman mvebu" |
| 372 | env: |
Stefan Roese | 2670ab0 | 2016-12-01 13:52:08 +0100 | [diff] [blame] | 373 | - BUILDMAN="mvebu" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 374 | - name: "buildman m68k" |
| 375 | env: |
Roger Meier | aad5beb | 2016-01-25 20:22:41 +0100 | [diff] [blame] | 376 | - BUILDMAN="m68k" |
| 377 | TOOLCHAIN="m68k" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 378 | - name: "buildman microblaze" |
| 379 | env: |
Tom Rini | 1d54325 | 2017-10-07 15:54:18 -0400 | [diff] [blame] | 380 | - BUILDMAN="microblaze" |
Tom Rini | 31fedfe | 2016-10-20 11:23:15 -0400 | [diff] [blame] | 381 | TOOLCHAIN="microblaze" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 382 | - name: "buildman mips" |
| 383 | env: |
Roger Meier | aad5beb | 2016-01-25 20:22:41 +0100 | [diff] [blame] | 384 | - BUILDMAN="mips" |
| 385 | TOOLCHAIN="mips" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 386 | - name: "buildman non-Freescale PowerPC" |
| 387 | env: |
| 388 | - BUILDMAN="powerpc -x freescale" |
Daniel Schwierzeck | 40261f9 | 2018-05-10 07:15:53 -0400 | [diff] [blame] | 389 | TOOLCHAIN="powerpc" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 390 | - name: "buildman mpc85xx&freescale (excluding many)" |
| 391 | env: |
Tom Rini | 9662fa2 | 2018-05-10 07:15:54 -0400 | [diff] [blame] | 392 | - BUILDMAN="mpc85xx&freescale -x t208xrdb -x t4qds -x t102* -x p1_p2_rdb_pc -x p1010rdb -x corenet_ds -x b4860qds -x bsc91*" |
Daniel Schwierzeck | 40261f9 | 2018-05-10 07:15:53 -0400 | [diff] [blame] | 393 | TOOLCHAIN="powerpc" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 394 | - name: "buildman t208xrdb corenet_ds" |
| 395 | env: |
Tom Rini | 9662fa2 | 2018-05-10 07:15:54 -0400 | [diff] [blame] | 396 | - BUILDMAN="t208xrdb corenet_ds" |
Daniel Schwierzeck | 40261f9 | 2018-05-10 07:15:53 -0400 | [diff] [blame] | 397 | TOOLCHAIN="powerpc" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 398 | - name: "buildman Freescale PowerPC" |
| 399 | env: |
Tom Rini | 9662fa2 | 2018-05-10 07:15:54 -0400 | [diff] [blame] | 400 | - BUILDMAN="t4qds b4860qds mpc83xx&freescale mpc86xx&freescale" |
Daniel Schwierzeck | 40261f9 | 2018-05-10 07:15:53 -0400 | [diff] [blame] | 401 | TOOLCHAIN="powerpc" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 402 | - name: "buildman t102*" |
| 403 | env: |
Philipp Tomsich | b0bfa76 | 2017-12-20 11:06:31 +0100 | [diff] [blame] | 404 | - BUILDMAN="t102*" |
Daniel Schwierzeck | 40261f9 | 2018-05-10 07:15:53 -0400 | [diff] [blame] | 405 | TOOLCHAIN="powerpc" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 406 | - name: "buildman p1_p2_rdb_pc" |
| 407 | env: |
Tom Rini | 180af9f | 2017-01-21 17:58:08 -0500 | [diff] [blame] | 408 | - BUILDMAN="p1_p2_rdb_pc" |
Daniel Schwierzeck | 40261f9 | 2018-05-10 07:15:53 -0400 | [diff] [blame] | 409 | TOOLCHAIN="powerpc" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 410 | - name: "buildman p1010rdb bsc91" |
| 411 | env: |
Tom Rini | 9662fa2 | 2018-05-10 07:15:54 -0400 | [diff] [blame] | 412 | - BUILDMAN="p1010rdb bsc91" |
Daniel Schwierzeck | 40261f9 | 2018-05-10 07:15:53 -0400 | [diff] [blame] | 413 | TOOLCHAIN="powerpc" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 414 | - name: "buildman siemens" |
| 415 | env: |
Roger Meier | aad5beb | 2016-01-25 20:22:41 +0100 | [diff] [blame] | 416 | - BUILDMAN="siemens" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 417 | - name: "buildman tegra" |
| 418 | env: |
| 419 | - BUILDMAN="tegra -x toradex" |
| 420 | - name: "buildman am33xx (no siemens)" |
| 421 | env: |
| 422 | - BUILDMAN="am33xx -x siemens" |
| 423 | - name: "buildman omap" |
| 424 | env: |
Tom Rini | 9662fa2 | 2018-05-10 07:15:54 -0400 | [diff] [blame] | 425 | - BUILDMAN="omap" |
Heiko Schocher | 8c00c55 | 2019-11-21 06:50:12 +0100 | [diff] [blame] | 426 | - name: "buildman orangepi" |
| 427 | env: |
| 428 | - BUILDMAN="orangepi" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 429 | - name: "buildman uniphier" |
| 430 | env: |
Tom Rini | c0d6eb1 | 2016-10-29 17:11:17 -0400 | [diff] [blame] | 431 | - BUILDMAN="uniphier" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 432 | - name: "buildman catch-all AArch64" |
| 433 | env: |
Tom Rini | e289a16 | 2020-03-09 13:01:57 -0400 | [diff] [blame] | 434 | - BUILDMAN="aarch64 -x bcm,k3,tegra,ls1,ls2,lx216,mvebu,uniphier,sunxi,samsung,socfpga,rk,versal,zynq" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 435 | - name: "buildman rockchip" |
| 436 | env: |
Tom Rini | e289a16 | 2020-03-09 13:01:57 -0400 | [diff] [blame] | 437 | - BUILDMAN="rk -x orangepi" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 438 | - name: "buildman sh" |
| 439 | env: |
| 440 | - BUILDMAN="sh -x arm" |
Daniel Schwierzeck | 40261f9 | 2018-05-10 07:15:53 -0400 | [diff] [blame] | 441 | TOOLCHAIN="sh" |
Tom Rini | ca3561d | 2019-10-14 18:12:59 -0400 | [diff] [blame] | 442 | - name: "buildman Zynq* (ARMv7)" |
| 443 | env: |
| 444 | - BUILDMAN="zynq&armv7" |
| 445 | - name: "buildman ZynqMP and Versal" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 446 | env: |
Tom Rini | ca3561d | 2019-10-14 18:12:59 -0400 | [diff] [blame] | 447 | - BUILDMAN="versal|zynqmp&aarch64" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 448 | - name: "buildman xtensa" |
| 449 | env: |
Tom Rini | 31fedfe | 2016-10-20 11:23:15 -0400 | [diff] [blame] | 450 | - BUILDMAN="xtensa" |
Max Filippov | 8cb1584 | 2018-02-07 15:30:01 -0800 | [diff] [blame] | 451 | TOOLCHAIN="xtensa-dc233c-elf" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 452 | - name: "buildman riscv" |
| 453 | env: |
Rick Chen | 626605d | 2018-01-12 14:57:09 +0800 | [diff] [blame] | 454 | - BUILDMAN="riscv" |
| 455 | TOOLCHAIN="riscv" |
Rick Chen | b7caf25 | 2019-01-14 13:36:15 +0800 | [diff] [blame] | 456 | - name: "buildman nds32" |
| 457 | env: |
| 458 | - BUILDMAN="nds32" |
| 459 | TOOLCHAIN="nds32" |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 460 | |
| 461 | # QA jobs for code analytics |
| 462 | # static code analysis with cppcheck (we can add --enable=all later) |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 463 | - name: "cppcheck" |
Stephen Warren | 1c4c3d6 | 2016-10-24 16:41:48 -0600 | [diff] [blame] | 464 | script: |
Tom Rini | 5770a14 | 2016-10-20 11:24:52 -0400 | [diff] [blame] | 465 | - cppcheck --force --quiet --inline-suppr . |
Heinrich Schuchardt | e335201 | 2020-02-21 18:24:00 +0100 | [diff] [blame] | 466 | # build HTML documentation |
| 467 | - name: "htmldocs" |
| 468 | script: |
| 469 | - make htmldocs |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 470 | # search for TODO within source tree |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 471 | - name: "grep TODO" |
Stephen Warren | 1c4c3d6 | 2016-10-24 16:41:48 -0600 | [diff] [blame] | 472 | script: |
Tom Rini | 5770a14 | 2016-10-20 11:24:52 -0400 | [diff] [blame] | 473 | - grep -r TODO . |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 474 | # search for FIXME within source tree |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 475 | - name: "grep FIXME HACK" |
Stephen Warren | 1c4c3d6 | 2016-10-24 16:41:48 -0600 | [diff] [blame] | 476 | script: |
Tom Rini | 5770a14 | 2016-10-20 11:24:52 -0400 | [diff] [blame] | 477 | - grep -r FIXME . |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 478 | # search for HACK within source tree and ignore HACKKIT board |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 479 | script: |
| 480 | - grep -r HACK . | grep -v HACKKIT |
| 481 | # some statistics about the code base |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 482 | - name: "sloccount" |
Stephen Warren | 1c4c3d6 | 2016-10-24 16:41:48 -0600 | [diff] [blame] | 483 | script: |
Tom Rini | 5770a14 | 2016-10-20 11:24:52 -0400 | [diff] [blame] | 484 | - sloccount . |
Tom Rini | da75cc6 | 2018-12-06 16:39:43 -0500 | [diff] [blame] | 485 | # ensure all configs have MAINTAINERS entries |
| 486 | - name: "Check for configs without MAINTAINERS entry" |
| 487 | script: |
| 488 | - if [ `./tools/genboardscfg.py -f 2>&1 | wc -l` -ne 0 ]; then exit 1; fi |
Otavio Salvador | e2fa4ca | 2018-12-07 19:00:41 -0500 | [diff] [blame] | 489 | # Ensure host tools build |
| 490 | - name: "Build tools-only" |
| 491 | script: |
| 492 | - make tools-only_config tools-only -j$(nproc) |
Pierre-Jean Texier | 6812f5e | 2019-08-26 13:06:18 +0200 | [diff] [blame] | 493 | # Ensure env tools build |
| 494 | - name: "Build envtools" |
| 495 | script: |
| 496 | - make tools-only_config envtools -j$(nproc) |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 497 | |
Stephen Warren | ef52e41 | 2016-02-08 18:23:35 -0700 | [diff] [blame] | 498 | # test/py |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 499 | - name: "test/py sandbox" |
| 500 | env: |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 501 | - TEST_PY_BD="sandbox" |
Bin Meng | a2086a8 | 2018-10-08 16:53:54 -0700 | [diff] [blame] | 502 | TOOLCHAIN="i386" |
Tom Rini | 89d8880 | 2018-10-07 14:20:30 -0400 | [diff] [blame] | 503 | - name: "test/py sandbox with clang" |
| 504 | env: |
| 505 | - TEST_PY_BD="sandbox" |
Tom Rini | d00c306 | 2019-10-26 13:48:41 -0400 | [diff] [blame] | 506 | OVERRIDE="-O clang-7" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 507 | - name: "test/py sandbox_spl" |
| 508 | env: |
Tom Rini | fe9ef11 | 2017-08-07 15:24:50 -0400 | [diff] [blame] | 509 | - TEST_PY_BD="sandbox_spl" |
| 510 | TEST_PY_TEST_SPEC="test_ofplatdata" |
Bin Meng | a2086a8 | 2018-10-08 16:53:54 -0700 | [diff] [blame] | 511 | TOOLCHAIN="i386" |
Simon Glass | 23f4d6a | 2017-11-26 20:26:00 -0700 | [diff] [blame] | 512 | TEST_PY_TOOLS="yes" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 513 | - name: "test/py sandbox_flattree" |
| 514 | env: |
Tom Rini | fe9ef11 | 2017-08-07 15:24:50 -0400 | [diff] [blame] | 515 | - TEST_PY_BD="sandbox_flattree" |
Bin Meng | a2086a8 | 2018-10-08 16:53:54 -0700 | [diff] [blame] | 516 | TOOLCHAIN="i386" |
Joel Stanley | 9cfd7a5 | 2019-07-04 11:05:17 +0930 | [diff] [blame] | 517 | - name: "test/py evb-ast2500" |
| 518 | env: |
| 519 | - TEST_PY_BD="evb-ast2500" |
| 520 | TEST_PY_ID="--id qemu" |
| 521 | QEMU_TARGET="arm-softmmu" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 522 | - name: "test/py vexpress_ca15_tc2" |
| 523 | env: |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 524 | - TEST_PY_BD="vexpress_ca15_tc2" |
| 525 | TEST_PY_ID="--id qemu" |
Tom Rini | 6cd2f9c | 2016-12-07 11:20:40 -0500 | [diff] [blame] | 526 | QEMU_TARGET="arm-softmmu" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 527 | - name: "test/py vexpress_ca9x4" |
| 528 | env: |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 529 | - TEST_PY_BD="vexpress_ca9x4" |
| 530 | TEST_PY_ID="--id qemu" |
Tom Rini | 6cd2f9c | 2016-12-07 11:20:40 -0500 | [diff] [blame] | 531 | QEMU_TARGET="arm-softmmu" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 532 | - name: "test/py integratorcp_cm926ejs" |
| 533 | env: |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 534 | - TEST_PY_BD="integratorcp_cm926ejs" |
Alexander Graf | f97f532 | 2016-11-17 18:31:07 +0100 | [diff] [blame] | 535 | TEST_PY_TEST_SPEC="not sleep" |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 536 | TEST_PY_ID="--id qemu" |
Tom Rini | 6cd2f9c | 2016-12-07 11:20:40 -0500 | [diff] [blame] | 537 | QEMU_TARGET="arm-softmmu" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 538 | - name: "test/py qemu_arm" |
| 539 | env: |
Tuomas Tynkkynen | 5ed6846 | 2017-09-19 23:18:08 +0300 | [diff] [blame] | 540 | - TEST_PY_BD="qemu_arm" |
| 541 | TEST_PY_TEST_SPEC="not sleep" |
| 542 | QEMU_TARGET="arm-softmmu" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 543 | - name: "test/py qemu_arm64" |
| 544 | env: |
Tuomas Tynkkynen | 01588ff | 2018-01-11 16:11:26 +0200 | [diff] [blame] | 545 | - TEST_PY_BD="qemu_arm64" |
| 546 | TEST_PY_TEST_SPEC="not sleep" |
| 547 | QEMU_TARGET="aarch64-softmmu" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 548 | - name: "test/py qemu_mips" |
| 549 | env: |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 550 | - TEST_PY_BD="qemu_mips" |
| 551 | TEST_PY_TEST_SPEC="not sleep" |
Tom Rini | 6cd2f9c | 2016-12-07 11:20:40 -0500 | [diff] [blame] | 552 | QEMU_TARGET="mips-softmmu" |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 553 | TOOLCHAIN="mips" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 554 | - name: "test/py qemu_mipsel" |
| 555 | env: |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 556 | - TEST_PY_BD="qemu_mipsel" |
| 557 | TEST_PY_TEST_SPEC="not sleep" |
Tom Rini | 6cd2f9c | 2016-12-07 11:20:40 -0500 | [diff] [blame] | 558 | QEMU_TARGET="mipsel-softmmu" |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 559 | TOOLCHAIN="mips" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 560 | - name: "test/py qemu_mips64" |
| 561 | env: |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 562 | - TEST_PY_BD="qemu_mips64" |
| 563 | TEST_PY_TEST_SPEC="not sleep" |
Tom Rini | 6cd2f9c | 2016-12-07 11:20:40 -0500 | [diff] [blame] | 564 | QEMU_TARGET="mips64-softmmu" |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 565 | TOOLCHAIN="mips" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 566 | - name: "test/py qemu_mips64el" |
| 567 | env: |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 568 | - TEST_PY_BD="qemu_mips64el" |
| 569 | TEST_PY_TEST_SPEC="not sleep" |
Tom Rini | 6cd2f9c | 2016-12-07 11:20:40 -0500 | [diff] [blame] | 570 | QEMU_TARGET="mips64el-softmmu" |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 571 | TOOLCHAIN="mips" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 572 | - name: "test/py qemu-ppce500" |
| 573 | env: |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 574 | - TEST_PY_BD="qemu-ppce500" |
| 575 | TEST_PY_TEST_SPEC="not sleep" |
Tom Rini | 6cd2f9c | 2016-12-07 11:20:40 -0500 | [diff] [blame] | 576 | QEMU_TARGET="ppc-softmmu" |
Daniel Schwierzeck | 40261f9 | 2018-05-10 07:15:53 -0400 | [diff] [blame] | 577 | TOOLCHAIN="powerpc" |
Bin Meng | aeb3ea4 | 2020-03-28 07:25:27 -0700 | [diff] [blame] | 578 | - name: "test/py qemu-riscv32" |
| 579 | env: |
| 580 | - TEST_PY_BD="qemu-riscv32" |
| 581 | TEST_PY_TEST_SPEC="not sleep" |
| 582 | QEMU_TARGET="riscv32-softmmu" |
Bin Meng | aeb3ea4 | 2020-03-28 07:25:27 -0700 | [diff] [blame] | 583 | TOOLCHAIN="riscv" |
Heinrich Schuchardt | 81f0778 | 2019-07-18 06:33:58 +0200 | [diff] [blame] | 584 | - name: "test/py qemu-riscv64" |
| 585 | env: |
| 586 | - TEST_PY_BD="qemu-riscv64" |
| 587 | TEST_PY_TEST_SPEC="not sleep" |
| 588 | QEMU_TARGET="riscv64-softmmu" |
Heinrich Schuchardt | 81f0778 | 2019-07-18 06:33:58 +0200 | [diff] [blame] | 589 | TOOLCHAIN="riscv" |
Bin Meng | b68d9d6 | 2020-03-28 07:25:29 -0700 | [diff] [blame] | 590 | - name: "test/py qemu-riscv32_spl" |
| 591 | env: |
| 592 | - TEST_PY_BD="qemu-riscv32_spl" |
| 593 | TEST_PY_TEST_SPEC="not sleep" |
| 594 | QEMU_TARGET="riscv32-softmmu" |
Bin Meng | b68d9d6 | 2020-03-28 07:25:29 -0700 | [diff] [blame] | 595 | TOOLCHAIN="riscv" |
| 596 | - name: "test/py qemu-riscv64_spl" |
| 597 | env: |
| 598 | - TEST_PY_BD="qemu-riscv64_spl" |
| 599 | TEST_PY_TEST_SPEC="not sleep" |
| 600 | QEMU_TARGET="riscv64-softmmu" |
Bin Meng | b68d9d6 | 2020-03-28 07:25:29 -0700 | [diff] [blame] | 601 | TOOLCHAIN="riscv" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 602 | - name: "test/py qemu-x86" |
| 603 | env: |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 604 | - TEST_PY_BD="qemu-x86" |
| 605 | TEST_PY_TEST_SPEC="not sleep" |
Tom Rini | 6cd2f9c | 2016-12-07 11:20:40 -0500 | [diff] [blame] | 606 | QEMU_TARGET="i386-softmmu" |
Bin Meng | a2086a8 | 2018-10-08 16:53:54 -0700 | [diff] [blame] | 607 | TOOLCHAIN="i386" |
Stephen Warren | ed84b62 | 2016-10-26 11:05:36 -0600 | [diff] [blame] | 608 | BUILD_ROM="yes" |
Bin Meng | 9171049 | 2018-10-13 20:52:14 -0700 | [diff] [blame] | 609 | - name: "test/py qemu-x86_64" |
| 610 | env: |
| 611 | - TEST_PY_BD="qemu-x86_64" |
| 612 | TEST_PY_TEST_SPEC="not sleep" |
| 613 | QEMU_TARGET="x86_64-softmmu" |
Bin Meng | 9171049 | 2018-10-13 20:52:14 -0700 | [diff] [blame] | 614 | TOOLCHAIN="i386" |
| 615 | BUILD_ROM="yes" |
Michal Simek | f8834fd | 2020-02-13 15:03:29 +0100 | [diff] [blame] | 616 | - name: "test/py xilinx_zynq_virt" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 617 | env: |
Michal Simek | f8834fd | 2020-02-13 15:03:29 +0100 | [diff] [blame] | 618 | - TEST_PY_BD="xilinx_zynq_virt" |
Michal Simek | 64a885e | 2016-12-14 09:47:23 +0100 | [diff] [blame] | 619 | TEST_PY_TEST_SPEC="not sleep" |
| 620 | QEMU_TARGET="arm-softmmu" |
| 621 | TEST_PY_ID="--id qemu" |
Michal Simek | fedc48e | 2018-12-20 08:40:25 +0100 | [diff] [blame] | 622 | - name: "test/py xilinx_versal_virt" |
| 623 | env: |
| 624 | - TEST_PY_BD="xilinx_versal_virt" |
| 625 | TEST_PY_TEST_SPEC="not sleep" |
| 626 | QEMU_TARGET="aarch64-softmmu" |
| 627 | TEST_PY_ID="--id qemu" |
Stephen Warren | b52e853 | 2018-07-30 10:19:43 -0600 | [diff] [blame] | 628 | - name: "test/py xtfpga" |
| 629 | env: |
Max Filippov | 76f0bc2 | 2018-02-07 15:30:03 -0800 | [diff] [blame] | 630 | - TEST_PY_BD="xtfpga" |
| 631 | TEST_PY_TEST_SPEC="not sleep" |
| 632 | QEMU_TARGET="xtensa-softmmu" |
| 633 | TEST_PY_ID="--id qemu" |
Max Filippov | 76f0bc2 | 2018-02-07 15:30:03 -0800 | [diff] [blame] | 634 | TOOLCHAIN="xtensa-dc233c-elf" |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 635 | |
Meier, Roger | 3029f5b | 2014-11-19 15:26:18 +0100 | [diff] [blame] | 636 | # TODO make it perfect ;-r |