1c7cb334dSMeier, Roger# SPDX-License-Identifier: GPL-2.0+ 283d290c5STom Rini# Copyright Roger Meier <r.meier@siemens.com> 3c7cb334dSMeier, Roger 4c7cb334dSMeier, Roger# build U-Boot on Travis CI - https://travis-ci.org/ 5c7cb334dSMeier, Roger 62bb76f33STom Rinisudo: required 72bb76f33STom Rinidist: trusty 8e4c1b4d8SStephen Warren 9c7cb334dSMeier, Rogerlanguage: c 10c7cb334dSMeier, Roger 11050c7569SRoger Meieraddons: 12050c7569SRoger Meier apt: 134030f166STom Rini sources: 144030f166STom Rini - ubuntu-toolchain-r-test 154030f166STom Rini - llvm-toolchain-trusty-7 16050c7569SRoger Meier packages: 17050c7569SRoger Meier - cppcheck 18050c7569SRoger Meier - sloccount 19050c7569SRoger Meier - sparse 20050c7569SRoger Meier - bc 21050c7569SRoger Meier - build-essential 22050c7569SRoger Meier - libsdl1.2-dev 2307bf2122SStephen Warren - python 2407bf2122SStephen Warren - python-virtualenv 25f2b0c007STom Rini - swig 26f2b0c007STom Rini - libpython-dev 27cd402e01STom Rini - iasl 280e4e38aeSAlexander Graf - grub-efi-ia32-bin 2966a3a9cfSBin Meng - grub-efi-amd64-bin 300e4e38aeSAlexander Graf - rpm2cpio 310e4e38aeSAlexander Graf - wget 3236dd5f1bSTom Rini - device-tree-compiler 33706f0775STom Rini - lzop 3483d73c2fSSimon Glass - liblz4-tool 354030f166STom Rini - libisl15 364030f166STom Rini - clang-7 374c58d273SDaniel Schwierzeck 38c7cb334dSMeier, Rogerinstall: 395ac5861cSTom Rini # Clone uboot-test-hooks 405ac5861cSTom Rini - git clone --depth=1 git://github.com/swarren/uboot-test-hooks.git /tmp/uboot-test-hooks 415ac5861cSTom Rini - ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname` 425ac5861cSTom Rini - ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname` 43c7cb334dSMeier, Roger # prepare buildman environment 4443a68e49SStephen Warren - echo -e "[toolchain]\nroot = /usr" > ~/.buildman 45f0d964f4SAlexey Brodkin - echo -e "arc = /tmp/arc_gnu_2018.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman 46dca268a8STom Rini - echo -e "\n[toolchain-alias]\nsh = sh2\n" >> ~/.buildman 47c7cb334dSMeier, Roger - cat ~/.buildman 4807bf2122SStephen Warren - virtualenv /tmp/venv 4907bf2122SStephen Warren - . /tmp/venv/bin/activate 50f6206f85STom Rini - pip install pytest==2.8.7 5111ae93eeSSimon Glass - pip install python-subunit 520e4e38aeSAlexander Graf - grub-mkimage -o ~/grub_x86.efi -O i386-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd 5366a3a9cfSBin Meng - grub-mkimage -o ~/grub_x64.efi -O x86_64-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd 540e4e38aeSAlexander Graf - mkdir ~/grub2-arm 550e4e38aeSAlexander Graf - ( cd ~/grub2-arm; wget -O - http://download.opensuse.org/ports/armv7hl/distribution/leap/42.2/repo/oss/suse/armv7hl/grub2-arm-efi-2.02~beta2-87.1.armv7hl.rpm | rpm2cpio | cpio -di ) 561b012a3eSTuomas Tynkkynen - mkdir ~/grub2-arm64 571b012a3eSTuomas Tynkkynen - ( cd ~/grub2-arm64; wget -O - http://download.opensuse.org/ports/aarch64/distribution/leap/42.2/repo/oss/suse/aarch64/grub2-arm64-efi-2.02~beta2-87.1.aarch64.rpm | rpm2cpio | cpio -di ) 58c7cb334dSMeier, Roger 59c7cb334dSMeier, Rogerenv: 60c7cb334dSMeier, Roger global: 6136dd5f1bSTom Rini - PATH=/tmp/qemu-install/bin:/tmp/uboot-test-hooks/bin:/usr/bin:/bin 62e019660aSAlexander Graf - PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci 63c7cb334dSMeier, Roger - BUILD_DIR=build 64c7cb334dSMeier, Roger - HOSTCC="cc" 65c7cb334dSMeier, Roger - HOSTCXX="c++" 66facdc5fbSMichal Simek - QEMU_VERSION="v3.1.0" 67c7cb334dSMeier, Roger 68c7cb334dSMeier, Rogerbefore_script: 69050c7569SRoger Meier # install toolchains based on TOOLCHAIN} variable 70050c7569SRoger Meier - if [[ "${TOOLCHAIN}" == *m68k* ]]; then ./tools/buildman/buildman --fetch-arch m68k ; fi 71cd402e01STom Rini - if [[ "${TOOLCHAIN}" == *microblaze* ]]; then ./tools/buildman/buildman --fetch-arch microblaze ; fi 72050c7569SRoger Meier - if [[ "${TOOLCHAIN}" == *mips* ]]; then ./tools/buildman/buildman --fetch-arch mips ; fi 734c58d273SDaniel Schwierzeck - if [[ "${TOOLCHAIN}" == *sh* ]]; then ./tools/buildman/buildman --fetch-arch sh2 ; fi 740533fb8bSBin Meng - if [[ "${TOOLCHAIN}" == *i386* ]]; then 750533fb8bSBin Meng ./tools/buildman/buildman --fetch-arch i386; 760533fb8bSBin Meng echo -e "\n[toolchain-alias]\nx86 = i386" >> ~/.buildman; 772ded4bf9SStephen Warren fi 7880e4bbfcSAlexey Brodkin - if [[ "${TOOLCHAIN}" == arc ]]; then 79f0d964f4SAlexey Brodkin 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 && 80f0d964f4SAlexey Brodkin tar -C /tmp -xf arc_gnu_2018.09_prebuilt_uclibc_le_archs_linux_install.tar.gz; 8180e4bbfcSAlexey Brodkin fi 82f715ed45SRick Chen - if [[ "${TOOLCHAIN}" == "nds32" ]]; then 83f715ed45SRick Chen wget https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz && 84f715ed45SRick Chen tar -C /tmp -xf nds32le-linux-glibc-v3-upstream.tar.gz && 85f715ed45SRick Chen echo -e "\n[toolchain-prefix]\nnds32 = /tmp/nds32le-linux-glibc-v3-upstream/bin/nds32le-linux-" >> ~/.buildman; 86f715ed45SRick Chen fi 87b6f3a12eSMax Filippov - if [[ "${TOOLCHAIN}" == *xtensa* ]]; then 88b6f3a12eSMax Filippov wget https://github.com/foss-xtensa/toolchain/releases/download/2018.02/x86_64-2018.02-${TOOLCHAIN}.tar.gz && 89b6f3a12eSMax Filippov tar -C /tmp -xf x86_64-2018.02-${TOOLCHAIN}.tar.gz && 90b6f3a12eSMax Filippov echo -e "\n[toolchain-prefix]\nxtensa = /tmp/2018.02/${TOOLCHAIN}/bin/${TOOLCHAIN}-" >> ~/.buildman; 91b6f3a12eSMax Filippov fi 928399538cSTom Rini # If TOOLCHAIN is unset, we're on some flavour of ARM. 938399538cSTom Rini - if [[ "${TOOLCHAIN}" == "" ]]; then 944c58d273SDaniel Schwierzeck ./tools/buildman/buildman --fetch-arch arm && 954c58d273SDaniel Schwierzeck ./tools/buildman/buildman --fetch-arch aarch64; 968399538cSTom Rini fi 974c58d273SDaniel Schwierzeck - if [[ "${TOOLCHAIN}" == "powerpc" ]]; then ./tools/buildman/buildman --fetch-arch powerpc; fi 98b6896fcbSRick Chen - if [[ "${TOOLCHAIN}" == "riscv" ]]; then 99b5135e45SBin Meng ./tools/buildman/buildman --fetch-arch riscv64; 100b5135e45SBin Meng echo -e "\n[toolchain-alias]\nriscv = riscv64" >> ~/.buildman; 101b6896fcbSRick Chen fi 1023c643fb0STom Rini - if [[ "${QEMU_TARGET}" != "" ]]; then 1033c643fb0STom Rini git clone git://git.qemu.org/qemu.git /tmp/qemu; 1043c643fb0STom Rini pushd /tmp/qemu; 1053c643fb0STom Rini git submodule update --init dtc && 106984a1febSMichal Simek git checkout ${QEMU_VERSION} && 1073c643fb0STom Rini ./configure --prefix=/tmp/qemu-install --target-list=${QEMU_TARGET} && 1083c643fb0STom Rini make -j4 all install; 1093c643fb0STom Rini popd; 1103c643fb0STom Rini fi 111c7cb334dSMeier, Roger 112c7cb334dSMeier, Rogerscript: 1138304f053SStephen Warren # Comments must be outside the command strings below, or the Travis parser 1148304f053SStephen Warren # will get confused. 1158304f053SStephen Warren # 1164030f166STom Rini # From buildman, exit code 129 means warnings only. If we've been asked to 1174030f166STom Rini # use clang only do one configuration. 118e9500f49SSimon Glass - if [[ "${BUILDMAN}" != "" ]]; then 1194030f166STom Rini ret=0; 120e9500f49SSimon Glass tools/buildman/buildman -P -E ${BUILDMAN} ${OVERRIDE}|| ret=$?; 121bf1c0889SStephen Warren if [[ $ret -ne 0 && $ret -ne 129 ]]; then 122baade496STom Rini tools/buildman/buildman -sdeP ${BUILDMAN}; 1230c5145fcSStephen Warren exit $ret; 1240c5145fcSStephen Warren fi; 125050c7569SRoger Meier fi 1268304f053SStephen Warren # "not a_test_which_does_not_exist" is a dummy -k parameter which will 1278304f053SStephen Warren # never prevent any test from running. That way, we can always pass 1288304f053SStephen Warren # "-k something" even when $TEST_PY_TEST_SPEC doesnt need a custom 1298304f053SStephen Warren # value. 130faec290fSAlexander Graf - export UBOOT_TRAVIS_BUILD_DIR=`cd .. && pwd`/.bm-work/${TEST_PY_BD}; 1310e4e38aeSAlexander Graf cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/; 13266a3a9cfSBin Meng cp ~/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/; 1330e4e38aeSAlexander Graf cp ~/grub2-arm/usr/lib/grub2/arm-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi; 1341b012a3eSTuomas Tynkkynen cp ~/grub2-arm64/usr/lib/grub2/arm64-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi; 135faec290fSAlexander Graf if [[ "${TEST_PY_BD}" != "" ]]; then 1368304f053SStephen Warren ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID} 1378304f053SStephen Warren -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}" 138faec290fSAlexander Graf --build-dir "$UBOOT_TRAVIS_BUILD_DIR"; 139f2d07788SSimon Glass ret=$?; 140f2d07788SSimon Glass if [[ $ret -ne 0 ]]; then 141f2d07788SSimon Glass exit $ret; 142f2d07788SSimon Glass fi; 143f2d07788SSimon Glass fi; 144f2d07788SSimon Glass if [[ -n "${TEST_PY_TOOLS}" ]]; then 145f2d07788SSimon Glass PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt" 146f2d07788SSimon Glass PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}" 147f2d07788SSimon Glass ./tools/binman/binman -t && 148f2d07788SSimon Glass ./tools/patman/patman --test && 149f2d07788SSimon Glass ./tools/buildman/buildman -t && 150f2d07788SSimon Glass PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt" 151f2d07788SSimon Glass PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}" 152f2d07788SSimon Glass ./tools/dtoc/dtoc -t; 1538304f053SStephen Warren fi 154c7cb334dSMeier, Roger 155c7cb334dSMeier, Rogermatrix: 156c7cb334dSMeier, Roger include: 157c7cb334dSMeier, Roger # we need to build by vendor due to 50min time limit for builds 158c7cb334dSMeier, Roger # each env setting here is a dedicated build 159a032e0a6SStephen Warren - name: "buildman arc" 160a032e0a6SStephen Warren env: 16180e4bbfcSAlexey Brodkin - BUILDMAN="arc" 16280e4bbfcSAlexey Brodkin TOOLCHAIN="arc" 163a032e0a6SStephen Warren - name: "buildman arm11 arm7 arm920t arm946es" 164a032e0a6SStephen Warren env: 165dca268a8STom Rini - BUILDMAN="arm11 arm7 arm920t arm946es" 166*72522749SEugen Hristev - name: "buildman arm926ejs (non-NXP,siemens,at91,kirkwood,spear)" 167a032e0a6SStephen Warren env: 168baade496STom Rini - JOB="arm926ejs" 169*72522749SEugen Hristev BUILDMAN="arm926ejs -x freescale,siemens,at91,kirkwood,spear,omap" 170*72522749SEugen Hristev - name: "buildman at91 (non arm v7)" 171a032e0a6SStephen Warren env: 172*72522749SEugen Hristev - BUILDMAN="at91 -x armv7" 173*72522749SEugen Hristev - name: "buildman at91 (non arm926ejs)" 174*72522749SEugen Hristev env: 175*72522749SEugen Hristev - BUILDMAN="at91 -x arm926ejs" 176a032e0a6SStephen Warren - name: "buildman boundary engicam toradex" 177a032e0a6SStephen Warren env: 178a032e0a6SStephen Warren - BUILDMAN="boundary engicam toradex" 179aa132612STom Rini - name: "buildman NXP ARM32" 180a032e0a6SStephen Warren env: 181a032e0a6SStephen Warren - BUILDMAN="freescale -x powerpc,m68k,aarch64" 182aa132612STom Rini - name: "buildman NXP AArch64 LS101x" 183a032e0a6SStephen Warren env: 184aa132612STom Rini - BUILDMAN="freescale&aarch64&ls101" 185aa132612STom Rini - name: "buildman NXP AArch64 LS104x" 186818408e2STom Rini env: 187aa132612STom Rini - BUILDMAN="freescale&aarch64&ls104" 188aa132612STom Rini - name: "buildman NXP AArch64 LS108x" 189aa132612STom Rini env: 190aa132612STom Rini - BUILDMAN="freescale&aarch64&ls108" 191aa132612STom Rini - name: "buildman NXP AArch64 LS20xx" 192aa132612STom Rini env: 193aa132612STom Rini - BUILDMAN="freescale&aarch64&&ls20" 194aa132612STom Rini - name: "buildman i.MX6 (non-NXP)" 195a032e0a6SStephen Warren env: 196a032e0a6SStephen Warren - BUILDMAN="mx6 -x freescale,toradex,boundary,engicam" 197aa132612STom Rini - name: "buildman i.MX (non-NXP,i.MX6,toradex)" 198a032e0a6SStephen Warren env: 199a032e0a6SStephen Warren - BUILDMAN="mx -x freescale,mx6,toradex" 200a032e0a6SStephen Warren - name: "buildman k2" 201a032e0a6SStephen Warren env: 202afbdfd82STom Rini - BUILDMAN="k2" 203a032e0a6SStephen Warren - name: "buildman samsung socfpga" 204a032e0a6SStephen Warren env: 205dca268a8STom Rini - BUILDMAN="samsung socfpga" 206818408e2STom Rini - name: "buildman spear" 207818408e2STom Rini env: 208818408e2STom Rini - BUILDMAN="spear" 209a032e0a6SStephen Warren - name: "buildman sun4i" 210a032e0a6SStephen Warren env: 211baade496STom Rini - BUILDMAN="sun4i" 212a032e0a6SStephen Warren - name: "buildman sun5i" 213a032e0a6SStephen Warren env: 214baade496STom Rini - BUILDMAN="sun5i" 215a032e0a6SStephen Warren - name: "buildman sun6i" 216a032e0a6SStephen Warren env: 217baade496STom Rini - BUILDMAN="sun6i" 218b5ddd070STuomas Tynkkynen - name: "buildman sun7i" 219a032e0a6SStephen Warren env: 220baade496STom Rini - BUILDMAN="sun7i" 221a032e0a6SStephen Warren - name: "buildman sun8i" 222a032e0a6SStephen Warren env: 2238399538cSTom Rini - BUILDMAN="sun8i" 224a032e0a6SStephen Warren - name: "buildman sun9i" 225a032e0a6SStephen Warren env: 226baade496STom Rini - BUILDMAN="sun9i" 227a032e0a6SStephen Warren - name: "buildman sun50i" 228a032e0a6SStephen Warren env: 229baade496STom Rini - BUILDMAN="sun50i" 230a032e0a6SStephen Warren - name: "buildman catch-all ARM" 231a032e0a6SStephen Warren env: 232*72522749SEugen Hristev - BUILDMAN="arm -x arm11,arm7,arm9,aarch64,at91,freescale,kirkwood,mvebu,siemens,tegra,uniphier,mx,samsung,sunxi,am33xx,omap,pxa,rockchip,toradex,socfpga,k2,xilinx" 233a032e0a6SStephen Warren - name: "buildman sandbox x86" 234a032e0a6SStephen Warren env: 235050c7569SRoger Meier - BUILDMAN="sandbox x86" 2360533fb8bSBin Meng TOOLCHAIN="i386" 237a032e0a6SStephen Warren - name: "buildman kirkwood (excluding openrd)" 238a032e0a6SStephen Warren env: 239ae5afc37STom Rini - BUILDMAN="kirkwood -x openrd" 240a032e0a6SStephen Warren - name: "buildman mvebu" 241a032e0a6SStephen Warren env: 2420bf1bc44SStefan Roese - BUILDMAN="mvebu" 243a032e0a6SStephen Warren - name: "buildman PXA (non-toradex)" 244a032e0a6SStephen Warren env: 245bc3eed96STom Rini - BUILDMAN="pxa -x toradex" 246a032e0a6SStephen Warren - name: "buildman m68k" 247a032e0a6SStephen Warren env: 248050c7569SRoger Meier - BUILDMAN="m68k" 249050c7569SRoger Meier TOOLCHAIN="m68k" 250a032e0a6SStephen Warren - name: "buildman microblaze" 251a032e0a6SStephen Warren env: 2520d3aaa35STom Rini - BUILDMAN="microblaze" 25376761e7fSTom Rini TOOLCHAIN="microblaze" 254a032e0a6SStephen Warren - name: "buildman mips" 255a032e0a6SStephen Warren env: 256050c7569SRoger Meier - BUILDMAN="mips" 257050c7569SRoger Meier TOOLCHAIN="mips" 258a032e0a6SStephen Warren - name: "buildman non-Freescale PowerPC" 259a032e0a6SStephen Warren env: 260a032e0a6SStephen Warren - BUILDMAN="powerpc -x freescale" 2614c58d273SDaniel Schwierzeck TOOLCHAIN="powerpc" 262a032e0a6SStephen Warren - name: "buildman mpc85xx&freescale (excluding many)" 263a032e0a6SStephen Warren env: 264dca268a8STom Rini - BUILDMAN="mpc85xx&freescale -x t208xrdb -x t4qds -x t102* -x p1_p2_rdb_pc -x p1010rdb -x corenet_ds -x b4860qds -x bsc91*" 2654c58d273SDaniel Schwierzeck TOOLCHAIN="powerpc" 266a032e0a6SStephen Warren - name: "buildman t208xrdb corenet_ds" 267a032e0a6SStephen Warren env: 268dca268a8STom Rini - BUILDMAN="t208xrdb corenet_ds" 2694c58d273SDaniel Schwierzeck TOOLCHAIN="powerpc" 270a032e0a6SStephen Warren - name: "buildman Freescale PowerPC" 271a032e0a6SStephen Warren env: 272dca268a8STom Rini - BUILDMAN="t4qds b4860qds mpc83xx&freescale mpc86xx&freescale" 2734c58d273SDaniel Schwierzeck TOOLCHAIN="powerpc" 274a032e0a6SStephen Warren - name: "buildman t102*" 275a032e0a6SStephen Warren env: 2769464dd56SPhilipp Tomsich - BUILDMAN="t102*" 2774c58d273SDaniel Schwierzeck TOOLCHAIN="powerpc" 278a032e0a6SStephen Warren - name: "buildman p1_p2_rdb_pc" 279a032e0a6SStephen Warren env: 280afdf09acSTom Rini - BUILDMAN="p1_p2_rdb_pc" 2814c58d273SDaniel Schwierzeck TOOLCHAIN="powerpc" 282a032e0a6SStephen Warren - name: "buildman p1010rdb bsc91" 283a032e0a6SStephen Warren env: 284dca268a8STom Rini - BUILDMAN="p1010rdb bsc91" 2854c58d273SDaniel Schwierzeck TOOLCHAIN="powerpc" 286a032e0a6SStephen Warren - name: "buildman siemens" 287a032e0a6SStephen Warren env: 288050c7569SRoger Meier - BUILDMAN="siemens" 289a032e0a6SStephen Warren - name: "buildman tegra" 290a032e0a6SStephen Warren env: 291a032e0a6SStephen Warren - BUILDMAN="tegra -x toradex" 292a032e0a6SStephen Warren - name: "buildman am33xx (no siemens)" 293a032e0a6SStephen Warren env: 294a032e0a6SStephen Warren - BUILDMAN="am33xx -x siemens" 295a032e0a6SStephen Warren - name: "buildman omap" 296a032e0a6SStephen Warren env: 297dca268a8STom Rini - BUILDMAN="omap" 298a032e0a6SStephen Warren - name: "buildman uniphier" 299a032e0a6SStephen Warren env: 3005eba31c3STom Rini - BUILDMAN="uniphier" 301a032e0a6SStephen Warren - name: "buildman catch-all AArch64" 302a032e0a6SStephen Warren env: 303818408e2STom Rini - BUILDMAN="aarch64 -x tegra,ls1,ls2,mvebu,uniphier,sunxi,samsung,rockchip,xilinx" 304a032e0a6SStephen Warren - name: "buildman rockchip" 305a032e0a6SStephen Warren env: 306dbd5df89STom Rini - BUILDMAN="rockchip" 307a032e0a6SStephen Warren - name: "buildman sh" 308a032e0a6SStephen Warren env: 309a032e0a6SStephen Warren - BUILDMAN="sh -x arm" 3104c58d273SDaniel Schwierzeck TOOLCHAIN="sh" 311a032e0a6SStephen Warren - name: "buildman Xilinx (ARM)" 312a032e0a6SStephen Warren env: 313a032e0a6SStephen Warren - BUILDMAN="xilinx -x microblaze" 314a032e0a6SStephen Warren - name: "buildman xtensa" 315a032e0a6SStephen Warren env: 31676761e7fSTom Rini - BUILDMAN="xtensa" 317b6f3a12eSMax Filippov TOOLCHAIN="xtensa-dc233c-elf" 318a032e0a6SStephen Warren - name: "buildman riscv" 319a032e0a6SStephen Warren env: 320b6896fcbSRick Chen - BUILDMAN="riscv" 321b6896fcbSRick Chen TOOLCHAIN="riscv" 322f715ed45SRick Chen - name: "buildman nds32" 323f715ed45SRick Chen env: 324f715ed45SRick Chen - BUILDMAN="nds32" 325f715ed45SRick Chen TOOLCHAIN="nds32" 326c7cb334dSMeier, Roger 327c7cb334dSMeier, Roger # QA jobs for code analytics 328c7cb334dSMeier, Roger # static code analysis with cppcheck (we can add --enable=all later) 329a032e0a6SStephen Warren - name: "cppcheck" 330d7882210SStephen Warren script: 331c85b52e4STom Rini - cppcheck --force --quiet --inline-suppr . 332c7cb334dSMeier, Roger # search for TODO within source tree 333a032e0a6SStephen Warren - name: "grep TODO" 334d7882210SStephen Warren script: 335c85b52e4STom Rini - grep -r TODO . 336c7cb334dSMeier, Roger # search for FIXME within source tree 337a032e0a6SStephen Warren - name: "grep FIXME HACK" 338d7882210SStephen Warren script: 339c85b52e4STom Rini - grep -r FIXME . 340c7cb334dSMeier, Roger # search for HACK within source tree and ignore HACKKIT board 341c7cb334dSMeier, Roger script: 342c7cb334dSMeier, Roger - grep -r HACK . | grep -v HACKKIT 343c7cb334dSMeier, Roger # some statistics about the code base 344a032e0a6SStephen Warren - name: "sloccount" 345d7882210SStephen Warren script: 346c85b52e4STom Rini - sloccount . 347ee168783STom Rini # ensure all configs have MAINTAINERS entries 348ee168783STom Rini - name: "Check for configs without MAINTAINERS entry" 349ee168783STom Rini script: 350ee168783STom Rini - if [ `./tools/genboardscfg.py -f 2>&1 | wc -l` -ne 0 ]; then exit 1; fi 35180870e2aSOtavio Salvador # Ensure host tools build 35280870e2aSOtavio Salvador - name: "Build tools-only" 35380870e2aSOtavio Salvador script: 35480870e2aSOtavio Salvador - make tools-only_config tools-only -j$(nproc) 3558304f053SStephen Warren 35607bf2122SStephen Warren # test/py 357a032e0a6SStephen Warren - name: "test/py sandbox" 358a032e0a6SStephen Warren env: 3598304f053SStephen Warren - TEST_PY_BD="sandbox" 3608304f053SStephen Warren BUILDMAN="^sandbox$" 3610533fb8bSBin Meng TOOLCHAIN="i386" 3624030f166STom Rini - name: "test/py sandbox with clang" 3634030f166STom Rini env: 3644030f166STom Rini - TEST_PY_BD="sandbox" 3654030f166STom Rini BUILDMAN="^sandbox$" 366e9500f49SSimon Glass OVERRIDE="clang-7" 367a032e0a6SStephen Warren - name: "test/py sandbox_spl" 368a032e0a6SStephen Warren env: 36940c8d26aSTom Rini - TEST_PY_BD="sandbox_spl" 37040c8d26aSTom Rini TEST_PY_TEST_SPEC="test_ofplatdata" 37140c8d26aSTom Rini BUILDMAN="^sandbox$" 3720533fb8bSBin Meng TOOLCHAIN="i386" 373f2d07788SSimon Glass TEST_PY_TOOLS="yes" 374a032e0a6SStephen Warren - name: "test/py sandbox_flattree" 375a032e0a6SStephen Warren env: 37640c8d26aSTom Rini - TEST_PY_BD="sandbox_flattree" 37740c8d26aSTom Rini BUILDMAN="^sandbox_flattree$" 3780533fb8bSBin Meng TOOLCHAIN="i386" 379a032e0a6SStephen Warren - name: "test/py vexpress_ca15_tc2" 380a032e0a6SStephen Warren env: 3818304f053SStephen Warren - TEST_PY_BD="vexpress_ca15_tc2" 3828304f053SStephen Warren TEST_PY_ID="--id qemu" 3833c643fb0STom Rini QEMU_TARGET="arm-softmmu" 384facdc5fbSMichal Simek QEMU_VERSION="v3.0.0" 3858304f053SStephen Warren BUILDMAN="^vexpress_ca15_tc2$" 386a032e0a6SStephen Warren - name: "test/py vexpress_ca9x4" 387a032e0a6SStephen Warren env: 3888304f053SStephen Warren - TEST_PY_BD="vexpress_ca9x4" 3898304f053SStephen Warren TEST_PY_ID="--id qemu" 3903c643fb0STom Rini QEMU_TARGET="arm-softmmu" 3918304f053SStephen Warren BUILDMAN="^vexpress_ca9x4$" 392a032e0a6SStephen Warren - name: "test/py integratorcp_cm926ejs" 393a032e0a6SStephen Warren env: 3948304f053SStephen Warren - TEST_PY_BD="integratorcp_cm926ejs" 39578992845SAlexander Graf TEST_PY_TEST_SPEC="not sleep" 3968304f053SStephen Warren TEST_PY_ID="--id qemu" 3973c643fb0STom Rini QEMU_TARGET="arm-softmmu" 3988304f053SStephen Warren BUILDMAN="^integratorcp_cm926ejs$" 399a032e0a6SStephen Warren - name: "test/py qemu_arm" 400a032e0a6SStephen Warren env: 4017b09dffcSTuomas Tynkkynen - TEST_PY_BD="qemu_arm" 4027b09dffcSTuomas Tynkkynen TEST_PY_TEST_SPEC="not sleep" 4037b09dffcSTuomas Tynkkynen QEMU_TARGET="arm-softmmu" 4047b09dffcSTuomas Tynkkynen BUILDMAN="^qemu_arm$" 405a032e0a6SStephen Warren - name: "test/py qemu_arm64" 406a032e0a6SStephen Warren env: 407a5bee507STuomas Tynkkynen - TEST_PY_BD="qemu_arm64" 408a5bee507STuomas Tynkkynen TEST_PY_TEST_SPEC="not sleep" 409a5bee507STuomas Tynkkynen QEMU_TARGET="aarch64-softmmu" 410a5bee507STuomas Tynkkynen BUILDMAN="^qemu_arm64$" 411a032e0a6SStephen Warren - name: "test/py qemu_mips" 412a032e0a6SStephen Warren env: 4138304f053SStephen Warren - TEST_PY_BD="qemu_mips" 4148304f053SStephen Warren TEST_PY_TEST_SPEC="not sleep" 4153c643fb0STom Rini QEMU_TARGET="mips-softmmu" 4168304f053SStephen Warren BUILDMAN="^qemu_mips$" 4178304f053SStephen Warren TOOLCHAIN="mips" 418a032e0a6SStephen Warren - name: "test/py qemu_mipsel" 419a032e0a6SStephen Warren env: 4208304f053SStephen Warren - TEST_PY_BD="qemu_mipsel" 4218304f053SStephen Warren TEST_PY_TEST_SPEC="not sleep" 4223c643fb0STom Rini QEMU_TARGET="mipsel-softmmu" 4238304f053SStephen Warren BUILDMAN="^qemu_mipsel$" 4248304f053SStephen Warren TOOLCHAIN="mips" 425a032e0a6SStephen Warren - name: "test/py qemu_mips64" 426a032e0a6SStephen Warren env: 4278304f053SStephen Warren - TEST_PY_BD="qemu_mips64" 4288304f053SStephen Warren TEST_PY_TEST_SPEC="not sleep" 4293c643fb0STom Rini QEMU_TARGET="mips64-softmmu" 4308304f053SStephen Warren BUILDMAN="^qemu_mips64$" 4318304f053SStephen Warren TOOLCHAIN="mips" 432a032e0a6SStephen Warren - name: "test/py qemu_mips64el" 433a032e0a6SStephen Warren env: 4348304f053SStephen Warren - TEST_PY_BD="qemu_mips64el" 4358304f053SStephen Warren TEST_PY_TEST_SPEC="not sleep" 4363c643fb0STom Rini QEMU_TARGET="mips64el-softmmu" 4378304f053SStephen Warren BUILDMAN="^qemu_mips64el$" 4388304f053SStephen Warren TOOLCHAIN="mips" 439a032e0a6SStephen Warren - name: "test/py qemu-ppce500" 440a032e0a6SStephen Warren env: 4418304f053SStephen Warren - TEST_PY_BD="qemu-ppce500" 4428304f053SStephen Warren TEST_PY_TEST_SPEC="not sleep" 4433c643fb0STom Rini QEMU_TARGET="ppc-softmmu" 4448304f053SStephen Warren BUILDMAN="^qemu-ppce500$" 4454c58d273SDaniel Schwierzeck TOOLCHAIN="powerpc" 446a032e0a6SStephen Warren - name: "test/py qemu-x86" 447a032e0a6SStephen Warren env: 4488304f053SStephen Warren - TEST_PY_BD="qemu-x86" 4498304f053SStephen Warren TEST_PY_TEST_SPEC="not sleep" 4503c643fb0STom Rini QEMU_TARGET="i386-softmmu" 4518304f053SStephen Warren BUILDMAN="^qemu-x86$" 4520533fb8bSBin Meng TOOLCHAIN="i386" 4538304f053SStephen Warren BUILD_ROM="yes" 4543fdfca7aSBin Meng - name: "test/py qemu-x86_64" 4553fdfca7aSBin Meng env: 4563fdfca7aSBin Meng - TEST_PY_BD="qemu-x86_64" 4573fdfca7aSBin Meng TEST_PY_TEST_SPEC="not sleep" 4583fdfca7aSBin Meng QEMU_TARGET="x86_64-softmmu" 4593fdfca7aSBin Meng BUILDMAN="^qemu-x86_64$" 4603fdfca7aSBin Meng TOOLCHAIN="i386" 4613fdfca7aSBin Meng BUILD_ROM="yes" 462a032e0a6SStephen Warren - name: "test/py zynq_zc702" 463a032e0a6SStephen Warren env: 46441122d37SMichal Simek - TEST_PY_BD="zynq_zc702" 46541122d37SMichal Simek TEST_PY_TEST_SPEC="not sleep" 46641122d37SMichal Simek QEMU_TARGET="arm-softmmu" 46741122d37SMichal Simek TEST_PY_ID="--id qemu" 46841122d37SMichal Simek BUILDMAN="^zynq_zc702$" 469d9eaae3bSMichal Simek - name: "test/py xilinx_versal_virt" 470d9eaae3bSMichal Simek env: 471d9eaae3bSMichal Simek - TEST_PY_BD="xilinx_versal_virt" 472d9eaae3bSMichal Simek TEST_PY_TEST_SPEC="not sleep" 473d9eaae3bSMichal Simek QEMU_TARGET="aarch64-softmmu" 474d9eaae3bSMichal Simek TEST_PY_ID="--id qemu" 475d9eaae3bSMichal Simek BUILDMAN="^xilinx_versal_virt$" 476a032e0a6SStephen Warren - name: "test/py xtfpga" 477a032e0a6SStephen Warren env: 4784d690094SMax Filippov - TEST_PY_BD="xtfpga" 4794d690094SMax Filippov TEST_PY_TEST_SPEC="not sleep" 4804d690094SMax Filippov QEMU_TARGET="xtensa-softmmu" 4814d690094SMax Filippov TEST_PY_ID="--id qemu" 4824d690094SMax Filippov BUILDMAN="^xtfpga$" 4834d690094SMax Filippov TOOLCHAIN="xtensa-dc233c-elf" 484c7cb334dSMeier, Roger 485c7cb334dSMeier, Roger# TODO make it perfect ;-r 486