diff options
author | Tom Rini <trini@konsulko.com> | 2023-08-10 12:29:14 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-08-10 12:29:14 -0400 |
commit | 212acc7b5a507cd642143d337b1a7ef6f87018fe (patch) | |
tree | 68f38d90b37a17081cb0a83645e3b7925279386d | |
parent | 48103eda8f32fbf5c7817ebd0d1eef3c7da02293 (diff) | |
download | u-boot-TEST/CI-testing.zip u-boot-TEST/CI-testing.tar.gz u-boot-TEST/CI-testing.tar.bz2 |
HACK: Remove everything from CI except the just changed testsTEST/CI-testing
Signed-off-by: Tom Rini <trini@konsulko.com>
-rw-r--r-- | .azure-pipelines.yml | 508 | ||||
-rw-r--r-- | .gitlab-ci.yml | 367 |
2 files changed, 0 insertions, 875 deletions
diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml index 61d4bf8..3ab40d6 100644 --- a/.azure-pipelines.yml +++ b/.azure-pipelines.yml @@ -12,141 +12,6 @@ variables: stages: - stage: testsuites jobs: - - job: tools_only_windows - displayName: 'Ensure host tools build for Windows' - pool: - vmImage: $(windows_vm) - steps: - - powershell: | - (New-Object Net.WebClient).DownloadFile("https://github.com/msys2/msys2-installer/releases/download/2021-06-04/msys2-base-x86_64-20210604.sfx.exe", "sfx.exe") - displayName: 'Install MSYS2' - - script: | - sfx.exe -y -o%CD:~0,2%\ - %CD:~0,2%\msys64\usr\bin\bash -lc " " - %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm -Syuu" - %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm -Syuu" - displayName: 'Update MSYS2' - - script: | - %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm --needed -Sy make gcc bison flex diffutils openssl-devel libgnutls-devel libutil-linux-devel" - displayName: 'Install Toolchain' - - script: | - echo make tools-only_defconfig tools-only > build-tools.sh - %CD:~0,2%\msys64\usr\bin\bash -lc "bash build-tools.sh" - displayName: 'Build Host Tools' - env: - # Tell MSYS2 we need a POSIX emulation layer - MSYSTEM: MSYS - # Tell MSYS2 not to ‘cd’ our startup directory to HOME - CHERE_INVOKING: yes - - - job: tools_only_macOS - displayName: 'Ensure host tools build for macOS X' - pool: - vmImage: $(macos_vm) - steps: - - script: brew install make ossp-uuid - displayName: Brew install dependencies - - script: | - gmake tools-only_config tools-only \ - HOSTCFLAGS="-I/usr/local/opt/openssl@1.1/include" \ - HOSTLDFLAGS="-L/usr/local/opt/openssl@1.1/lib" \ - -j$(sysctl -n hw.logicalcpu) - displayName: 'Perform tools-only build' - - - job: check_for_new_CONFIG_symbols_outside_Kconfig - displayName: 'Check for new CONFIG symbols outside Kconfig' - pool: - vmImage: $(ubuntu_vm) - container: - image: $(ci_runner_image) - options: $(container_option) - steps: - # If grep succeeds and finds a match the test fails as we should - # have no matches. - - script: git grep -E '^#[[:blank:]]*(define|undef)[[:blank:]]*CONFIG_' - :^doc/ :^arch/arm/dts/ :^scripts/kconfig/lkc.h - :^include/linux/kconfig.h :^tools/ && exit 1 || exit 0 - - - job: cppcheck - displayName: 'Static code analysis with cppcheck' - pool: - vmImage: $(ubuntu_vm) - container: - image: $(ci_runner_image) - options: $(container_option) - steps: - - script: cppcheck -j$(nproc) --force --quiet --inline-suppr . - - - job: docs - displayName: 'Build documentation' - pool: - vmImage: $(ubuntu_vm) - container: - image: $(ci_runner_image) - options: $(container_option) - steps: - - script: | - virtualenv -p /usr/bin/python3 /tmp/venvhtml - . /tmp/venvhtml/bin/activate - pip install -r doc/sphinx/requirements.txt - make htmldocs KDOC_WERROR=1 - make infodocs - - - job: todo - displayName: 'Search for TODO within source tree' - pool: - vmImage: $(ubuntu_vm) - container: - image: $(ci_runner_image) - options: $(container_option) - steps: - - script: grep -r TODO . - - script: grep -r FIXME . - - script: grep -r HACK . | grep -v HACKKIT - - - job: sloccount - displayName: 'Some statistics about the code base' - pool: - vmImage: $(ubuntu_vm) - container: - image: $(ci_runner_image) - options: $(container_option) - steps: - - script: sloccount . - - - job: maintainers - displayName: 'Ensure all configs have MAINTAINERS entries' - pool: - vmImage: $(ubuntu_vm) - container: - image: $(ci_runner_image) - options: $(container_option) - steps: - - script: | - ./tools/buildman/buildman --maintainer-check || exit 0 - - - job: tools_only - displayName: 'Ensure host tools build' - pool: - vmImage: $(ubuntu_vm) - container: - image: $(ci_runner_image) - options: $(container_option) - steps: - - script: | - make tools-only_config tools-only -j$(nproc) - - - job: envtools - displayName: 'Ensure env tools build' - pool: - vmImage: $(ubuntu_vm) - container: - image: $(ci_runner_image) - options: $(container_option) - steps: - - script: | - make tools-only_config envtools -j$(nproc) - - job: utils displayName: 'Run binman, buildman, dtoc, Kconfig and patman testsuites' pool: @@ -179,25 +44,6 @@ stages: # seems to hang forever with pre-configured "container" environment docker run -v $PWD:$(work_dir) $(ci_runner_image) /bin/bash $(work_dir)/build.sh - - job: nokia_rx51_test - displayName: 'Run tests for Nokia RX-51 (aka N900)' - pool: - vmImage: $(ubuntu_vm) - container: - image: $(ci_runner_image) - options: $(container_option) - steps: - - script: | - mkdir nokia_rx51_tmp - ln -s /opt/nokia/u-boot-gen-combined nokia_rx51_tmp/ - ln -s /opt/nokia/qemu-n900.tar.gz nokia_rx51_tmp/ - ln -s /opt/nokia/kernel_2.6.28-20103103+0m5_armel.deb nokia_rx51_tmp/ - ln -s /opt/nokia/libc6_2.5.1-1eglibc27+0m5_armel.deb nokia_rx51_tmp/ - ln -s /opt/nokia/busybox_1.10.2.legal-1osso30+0m5_armel.deb nokia_rx51_tmp/ - ln -s /opt/nokia/qemu-system-arm nokia_rx51_tmp/ - export PATH=/opt/gcc-13.1.0-nolibc/arm-linux-gnueabi/bin:$PATH - test/nokia_rx51_test.sh - - job: pylint displayName: Check for any pylint regressions pool: @@ -221,357 +67,3 @@ stages: pylint --version export PYTHONPATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt make pylint_err - - - job: check_for_pre_schema_tags - displayName: 'Check for pre-schema driver model tags' - pool: - vmImage: $(ubuntu_vm) - container: - image: $(ci_runner_image) - options: $(container_option) - steps: - # If grep succeeds and finds a match the test fails as we should - # have no matches. - - script: git grep u-boot,dm- -- '*.dts*' && exit 1 || exit 0 - - - job: check_packing_of_python_tools - displayName: 'Check we can package the Python tools' - pool: - vmImage: $(ubuntu_vm) - container: - image: $(ci_runner_image) - options: $(container_option) - steps: - - script: make pip - -- stage: test_py - jobs: - - job: test_py - displayName: 'test.py' - pool: - vmImage: $(ubuntu_vm) - strategy: - matrix: - sandbox: - TEST_PY_BD: "sandbox" - sandbox_clang: - TEST_PY_BD: "sandbox" - OVERRIDE: "-O clang-16" - sandbox_nolto: - TEST_PY_BD: "sandbox" - BUILD_ENV: "NO_LTO=1" - sandbox_spl: - TEST_PY_BD: "sandbox_spl" - TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl" - sandbox_vpl: - TEST_PY_BD: "sandbox_vpl" - TEST_PY_TEST_SPEC: "vpl or test_spl" - sandbox_noinst: - TEST_PY_BD: "sandbox_noinst" - TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl" - sandbox_flattree: - TEST_PY_BD: "sandbox_flattree" - sandbox_trace: - TEST_PY_BD: "sandbox" - BUILD_ENV: "FTRACE=1 NO_LTO=1" - TEST_PY_TEST_SPEC: "trace" - OVERRIDE: "-a CONFIG_TRACE=y -a CONFIG_TRACE_EARLY=y -a CONFIG_TRACE_EARLY_SIZE=0x01000000" - coreboot: - TEST_PY_BD: "coreboot" - TEST_PY_ID: "--id qemu" - TEST_PY_TEST_SPEC: "not sleep" - evb_ast2500: - TEST_PY_BD: "evb-ast2500" - TEST_PY_ID: "--id qemu" - evb_ast2600: - TEST_PY_BD: "evb-ast2600" - TEST_PY_ID: "--id qemu" - vexpress_ca9x4: - TEST_PY_BD: "vexpress_ca9x4" - TEST_PY_ID: "--id qemu" - integratorcp_cm926ejs: - TEST_PY_BD: "integratorcp_cm926ejs" - TEST_PY_ID: "--id qemu" - TEST_PY_TEST_SPEC: "not sleep" - qemu_arm: - TEST_PY_BD: "qemu_arm" - TEST_PY_TEST_SPEC: "not sleep" - qemu_arm64: - TEST_PY_BD: "qemu_arm64" - TEST_PY_TEST_SPEC: "not sleep" - qemu_m68k: - TEST_PY_BD: "M5208EVBE" - TEST_PY_ID: "--id qemu" - TEST_PY_TEST_SPEC: "not sleep and not efi" - OVERRIDE: "-a CONFIG_M68K_QEMU=y -a ~CONFIG_MCFTMR" - qemu_malta: - TEST_PY_BD: "malta" - TEST_PY_ID: "--id qemu" - TEST_PY_TEST_SPEC: "not sleep and not efi" - qemu_maltael: - TEST_PY_BD: "maltael" - TEST_PY_ID: "--id qemu" - TEST_PY_TEST_SPEC: "not sleep and not efi" - qemu_malta64: - TEST_PY_BD: "malta64" - TEST_PY_ID: "--id qemu" - TEST_PY_TEST_SPEC: "not sleep and not efi" - qemu_malta64el: - TEST_PY_BD: "malta64el" - TEST_PY_ID: "--id qemu" - TEST_PY_TEST_SPEC: "not sleep and not efi" - qemu_ppce500: - TEST_PY_BD: "qemu-ppce500" - TEST_PY_TEST_SPEC: "not sleep" - qemu_riscv32: - TEST_PY_BD: "qemu-riscv32" - TEST_PY_TEST_SPEC: "not sleep" - qemu_riscv64: - TEST_PY_BD: "qemu-riscv64" - TEST_PY_TEST_SPEC: "not sleep" - qemu_riscv32_spl: - TEST_PY_BD: "qemu-riscv32_spl" - TEST_PY_TEST_SPEC: "not sleep" - qemu_riscv64_spl: - TEST_PY_BD: "qemu-riscv64_spl" - TEST_PY_TEST_SPEC: "not sleep" - qemu_x86: - TEST_PY_BD: "qemu-x86" - TEST_PY_TEST_SPEC: "not sleep" - qemu_x86_64: - TEST_PY_BD: "qemu-x86_64" - TEST_PY_TEST_SPEC: "not sleep" - r2dplus_i82557c: - TEST_PY_BD: "r2dplus" - TEST_PY_ID: "--id i82557c_qemu" - r2dplus_pcnet: - TEST_PY_BD: "r2dplus" - TEST_PY_ID: "--id pcnet_qemu" - r2dplus_rtl8139: - TEST_PY_BD: "r2dplus" - TEST_PY_ID: "--id rtl8139_qemu" - r2dplus_tulip: - TEST_PY_BD: "r2dplus" - TEST_PY_ID: "--id tulip_qemu" - sifive_unleashed_sdcard: - TEST_PY_BD: "sifive_unleashed" - TEST_PY_ID: "--id sdcard_qemu" - sifive_unleashed_spi-nor: - TEST_PY_BD: "sifive_unleashed" - TEST_PY_ID: "--id spi-nor_qemu" - xilinx_zynq_virt: - TEST_PY_BD: "xilinx_zynq_virt" - TEST_PY_ID: "--id qemu" - TEST_PY_TEST_SPEC: "not sleep" - xilinx_versal_virt: - TEST_PY_BD: "xilinx_versal_virt" - TEST_PY_ID: "--id qemu" - TEST_PY_TEST_SPEC: "not sleep" - xtfpga: - TEST_PY_BD: "xtfpga" - TEST_PY_ID: "--id qemu" - TEST_PY_TEST_SPEC: "not sleep" - steps: - - script: | - cat << EOF > test.sh - set -ex - # make environment variables available as tests are running inside a container - export WORK_DIR="${WORK_DIR}" - export TEST_PY_BD="${TEST_PY_BD}" - export TEST_PY_ID="${TEST_PY_ID}" - export TEST_PY_TEST_SPEC="${TEST_PY_TEST_SPEC}" - export OVERRIDE="${OVERRIDE}" - export BUILD_ENV="${BUILD_ENV}" - EOF - cat << "EOF" >> test.sh - # the below corresponds to .gitlab-ci.yml "before_script" - cd ${WORK_DIR} - git config --global --add safe.directory ${WORK_DIR} - git clone --depth=1 https://source.denx.de/u-boot/u-boot-test-hooks /tmp/uboot-test-hooks - ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname` - ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname` - grub-mkimage --prefix=\"\" -o ~/grub_x86.efi -O i386-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd - grub-mkimage --prefix=\"\" -o ~/grub_x64.efi -O x86_64-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd - if [[ "${TEST_PY_BD}" == "qemu-riscv32_spl" ]]; then - wget -O - https://github.com/riscv-software-src/opensbi/releases/download/v1.2/opensbi-1.2-rv-bin.tar.xz | tar -C /tmp -xJ; - export OPENSBI=/tmp/opensbi-1.2-rv-bin/share/opensbi/ilp32/generic/firmware/fw_dynamic.bin; - fi - if [[ "${TEST_PY_BD}" == "qemu-riscv64_spl" ]] || [[ "${TEST_PY_BD}" == "sifive_unleashed" ]]; then - wget -O - https://github.com/riscv-software-src/opensbi/releases/download/v1.2/opensbi-1.2-rv-bin.tar.xz | tar -C /tmp -xJ; - export OPENSBI=/tmp/opensbi-1.2-rv-bin/share/opensbi/lp64/generic/firmware/fw_dynamic.bin; - fi - # the below corresponds to .gitlab-ci.yml "script" - cd ${WORK_DIR} - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}; - if [ -n "${BUILD_ENV}" ]; then - export ${BUILD_ENV}; - fi - pip install -r tools/buildman/requirements.txt - tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e --board ${TEST_PY_BD} ${OVERRIDE} - cp ~/grub_x86.efi ${UBOOT_TRAVIS_BUILD_DIR}/ - cp ~/grub_x64.efi ${UBOOT_TRAVIS_BUILD_DIR}/ - cp /opt/grub/grubriscv64.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_riscv64.efi - cp /opt/grub/grubaa64.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_arm64.efi - cp /opt/grub/grubarm.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_arm.efi - # create sdcard / spi-nor images for sifive unleashed using genimage - if [[ "${TEST_PY_BD}" == "sifive_unleashed" ]]; then - mkdir -p root; - cp ${UBOOT_TRAVIS_BUILD_DIR}/spl/u-boot-spl.bin .; - cp ${UBOOT_TRAVIS_BUILD_DIR}/u-boot.itb .; - rm -rf tmp; - genimage --inputpath . --config board/sifive/unleashed/genimage_sdcard.cfg; - cp images/sdcard.img ${UBOOT_TRAVIS_BUILD_DIR}/; - rm -rf tmp; - genimage --inputpath . --config board/sifive/unleashed/genimage_spi-nor.cfg; - cp images/spi-nor.img ${UBOOT_TRAVIS_BUILD_DIR}/; - fi - if [[ "${TEST_PY_BD}" == "coreboot" ]]; then - wget -O - "https://drive.google.com/uc?id=1x6nrtWIyIRPLS2cQBwYTnT2TbOI8UjmM&export=download" |xz -dc >${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom; - wget -O - "https://drive.google.com/uc?id=149Cz-5SZXHNKpi9xg6R_5XITWohu348y&export=download" >cbfstool; - chmod a+x cbfstool; - ./cbfstool ${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom add-flat-binary -f ${UBOOT_TRAVIS_BUILD_DIR}/u-boot.bin -n fallback/payload -c LZMA -l 0x1110000 -e 0x1110000; - fi - virtualenv -p /usr/bin/python3 /tmp/venv - . /tmp/venv/bin/activate - pip install -r test/py/requirements.txt - pip install pytest-azurepipelines - export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH}; - export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci; - # "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not - ./test/py/test.py -ra -o cache_dir="$UBOOT_TRAVIS_BUILD_DIR"/.pytest_cache --bd ${TEST_PY_BD} ${TEST_PY_ID} ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"} --build-dir "$UBOOT_TRAVIS_BUILD_DIR" --report-dir "$UBOOT_TRAVIS_BUILD_DIR"; - # the below corresponds to .gitlab-ci.yml "after_script" - rm -rf /tmp/uboot-test-hooks /tmp/venv - EOF - cat test.sh - # make current directory writeable to uboot user inside the container - # as sandbox testing need create files like spi flash images, etc. - # (TODO: clean up this in the future) - chmod 777 . - # Filesystem tests need extra docker args to run - set -- - if [[ "${TEST_PY_BD}" == "sandbox" ]]; then - # mount -o loop needs the loop devices - if modprobe loop; then - for d in $(find /dev -maxdepth 1 -name 'loop*'); do - set -- "$@" --device $d:$d - done - fi - # Needed for mount syscall (for guestmount as well) - set -- "$@" --cap-add SYS_ADMIN - # Default apparmor profile denies mounts - set -- "$@" --security-opt apparmor=unconfined - fi - # Some tests using libguestfs-tools need the fuse device to run - docker run "$@" --device /dev/fuse:/dev/fuse -v $PWD:$(work_dir) $(ci_runner_image) /bin/bash $(work_dir)/test.sh - retryCountOnTaskFailure: 2 # QEMU may be too slow, etc. - -- stage: world_build - jobs: - - job: build_the_world - displayName: 'Build the World' - pool: - vmImage: $(ubuntu_vm) - strategy: - # Use almost the same target division in .travis.yml, only merged - # 3 small build jobs (arc/microblaze/xtensa) into one. - matrix: - arc_nios2_m68k_microblaze_xtensa: - BUILDMAN: "arc nios2 microblaze m68k xtensa" - amlogic: - BUILDMAN: "amlogic" - arm11_arm7_arm920t_arm946es: - BUILDMAN: "arm11 arm7 arm920t arm946es" - arm926ejs: - BUILDMAN: "arm926ejs -x freescale,siemens,at91,kirkwood,omap" - at91_non_armv7: - BUILDMAN: "at91 -x armv7" - at91_non_arm926ejs: - BUILDMAN: "at91 -x arm926ejs" - boundary_engicam_toradex: - BUILDMAN: "boundary engicam toradex" - arm_bcm: - BUILDMAN: "bcm -x mips" - nxp_arm32: - BUILDMAN: "freescale -x powerpc,m68k,aarch64,ls101,ls102,ls104,ls108,ls20,lx216" - nxp_ls101x_ls108x: - BUILDMAN: "freescale&ls101 freescale&ls108" - nxp_ls102x: - BUILDMAN: "freescale&ls102 -x keymile" - nxp_ls104x: - BUILDMAN: "freescale&ls104" - nxp_ls20xx_lx216x: - BUILDMAN: "freescale&ls20 freescale&lx216" - imx6: - BUILDMAN: "mx6 -x boundary,engicam,freescale,technexion,toradex" - imx: - BUILDMAN: "mx -x mx6,imx8,freescale,technexion,toradex" - imx8_imx9: - BUILDMAN: "imx8 imx9 -x engicam,technexion,toradex" - keymiles_siemens_technexion: - BUILDMAN: "keymile siemens technexion" - keystone2_keystone3: - BUILDMAN: "k2 k3 -x siemens,toradex" - sandbox_asan: - BUILDMAN: "sandbox" - OVERRIDE: "-a ASAN" - sandbox_clang_asan: - BUILDMAN: "sandbox" - OVERRIDE: "-O clang-16 -a ASAN" - samsung_socfpga_renesas: - BUILDMAN: "samsung socfpga renesas" - sun4i_sun9i: - BUILDMAN: "sun4i sun9i" - sun5i_sun6i: - BUILDMAN: "sun5i sun6i" - sun7i: - BUILDMAN: "sun7i" - sun8i: - BUILDMAN: "sun8i" - sun50i: - BUILDMAN: "sun50i" - arm_catch_all: - BUILDMAN: "arm -x arm11,arm7,arm9,aarch64,at91,bcm,freescale,kirkwood,mvebu,renesas,siemens,tegra,uniphier,mx,samsung,sunxi,am33xx,omap,toradex,socfpga,k2,k3,zynq" - sandbox_x86: - BUILDMAN: "sandbox x86" - kirkwood_mvebu_uniphier: - BUILDMAN: "kirkwood mvebu uniphier" - mips: - BUILDMAN: "mips" - powerpc: - BUILDMAN: "powerpc -x keymile" - tegra: - BUILDMAN: "tegra -x toradex" - am33xx_omap: - BUILDMAN: "am33xx omap -x siemens" - aarch64_catch_all: - BUILDMAN: "aarch64 -x amlogic,bcm,imx8,imx9,k3,tegra,ls1,ls2,lx216,mvebu,uniphier,renesas,sunxi,samsung,socfpga,rk,versal,zynq" - rk_non_rockchip_64bit: - BUILDMAN: "rk&aarch64 -x rockchip" - rk_rockchip_64bit: - BUILDMAN: "rk&aarch64&rockchip" - zynq_zynqmp_versal: - BUILDMAN: "zynq&armv7 versal zynqmp&aarch64" - riscv: - BUILDMAN: "riscv" - steps: - - script: | - cat << EOF > build.sh - set -ex - cd ${WORK_DIR} - # make environment variables available as tests are running inside a container - export BUILDMAN="${BUILDMAN}" - git config --global --add safe.directory ${WORK_DIR} - pip install -r tools/buildman/requirements.txt - EOF - cat << "EOF" >> build.sh - if [[ "${BUILDMAN}" != "" ]]; then - ret=0; - tools/buildman/buildman -o /tmp -PEWM ${BUILDMAN} ${OVERRIDE} || ret=$?; - if [[ $ret -ne 0 ]]; then - tools/buildman/buildman -o /tmp -seP ${BUILDMAN}; - exit $ret; - fi; - fi - EOF - cat build.sh - docker run -v $PWD:$(work_dir) $(ci_runner_image) /bin/bash $(work_dir)/build.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d9f6b31..67e20f4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,8 +15,6 @@ image: ${MIRROR_DOCKER}/trini/u-boot-gitlab-ci-runner:jammy-20230624-20Jul2023 # We run some tests in different order, to catch some failures quicker. stages: - testsuites - - test.py - - world build .buildman_and_testpy_template: &buildman_and_testpy_dfn stage: test.py @@ -93,114 +91,6 @@ stages: - "*.css" expire_in: 1 week -build all 32bit ARM platforms: - stage: world build - script: - - ret=0; - git config --global --add safe.directory "${CI_PROJECT_DIR}"; - pip install -r tools/buildman/requirements.txt; - ./tools/buildman/buildman -o /tmp -PEWM arm -x aarch64 || ret=$?; - if [[ $ret -ne 0 ]]; then - ./tools/buildman/buildman -o /tmp -seP; - exit $ret; - fi; - -build all 64bit ARM platforms: - stage: world build - script: - - virtualenv -p /usr/bin/python3 /tmp/venv - - . /tmp/venv/bin/activate - - ret=0; - git config --global --add safe.directory "${CI_PROJECT_DIR}"; - pip install -r tools/buildman/requirements.txt; - ./tools/buildman/buildman -o /tmp -PEWM aarch64 || ret=$?; - if [[ $ret -ne 0 ]]; then - ./tools/buildman/buildman -o /tmp -seP; - exit $ret; - fi; - -build all PowerPC platforms: - stage: world build - script: - - ret=0; - git config --global --add safe.directory "${CI_PROJECT_DIR}"; - ./tools/buildman/buildman -o /tmp -P -E -W powerpc || ret=$?; - if [[ $ret -ne 0 ]]; then - ./tools/buildman/buildman -o /tmp -seP; - exit $ret; - fi; - -build all other platforms: - stage: world build - script: - - ret=0; - git config --global --add safe.directory "${CI_PROJECT_DIR}"; - ./tools/buildman/buildman -o /tmp -PEWM -x arm,powerpc || ret=$?; - if [[ $ret -ne 0 ]]; then - ./tools/buildman/buildman -o /tmp -seP; - exit $ret; - fi; - -check for new CONFIG symbols outside Kconfig: - stage: testsuites - script: - - git config --global --add safe.directory "${CI_PROJECT_DIR}" - # If grep succeeds and finds a match the test fails as we should - # have no matches. - - git grep -E '^#[[:blank:]]*(define|undef)[[:blank:]]*CONFIG_' - :^doc/ :^arch/arm/dts/ :^scripts/kconfig/lkc.h - :^include/linux/kconfig.h :^tools/ && exit 1 || exit 0 - -# QA jobs for code analytics -# static code analysis with cppcheck (we can add --enable=all later) -cppcheck: - stage: testsuites - script: - - cppcheck -j$(nproc) --force --quiet --inline-suppr . - -# search for TODO within source tree -grep TODO/FIXME/HACK: - stage: testsuites - script: - - grep -r TODO . - - grep -r FIXME . - # search for HACK within source tree and ignore HACKKIT board - - grep -r HACK . | grep -v HACKKIT - -# build documentation -docs: - stage: testsuites - script: - - virtualenv -p /usr/bin/python3 /tmp/venvhtml - - . /tmp/venvhtml/bin/activate - - pip install -r doc/sphinx/requirements.txt - - make htmldocs KDOC_WERROR=1 - - make infodocs - -# some statistics about the code base -sloccount: - stage: testsuites - script: - - sloccount . - -# ensure all configs have MAINTAINERS entries -Check for configs without MAINTAINERS entry: - stage: testsuites - script: - - ./tools/buildman/buildman --maintainer-check || exit 0 - -# Ensure host tools build -Build tools-only: - stage: testsuites - script: - - make tools-only_config tools-only -j$(nproc) - -# Ensure env tools build -Build envtools: - stage: testsuites - script: - - make tools-only_config envtools -j$(nproc) - Run binman, buildman, dtoc, Kconfig and patman testsuites: stage: testsuites script: @@ -225,19 +115,6 @@ Run binman, buildman, dtoc, Kconfig and patman testsuites: ./tools/patman/patman test; make testconfig -Run tests for Nokia RX-51 (aka N900): - stage: testsuites - script: - - mkdir nokia_rx51_tmp; - ln -s /opt/nokia/u-boot-gen-combined nokia_rx51_tmp/; - ln -s /opt/nokia/qemu-n900.tar.gz nokia_rx51_tmp/; - ln -s /opt/nokia/kernel_2.6.28-20103103+0m5_armel.deb nokia_rx51_tmp/; - ln -s /opt/nokia/libc6_2.5.1-1eglibc27+0m5_armel.deb nokia_rx51_tmp/; - ln -s /opt/nokia/busybox_1.10.2.legal-1osso30+0m5_armel.deb nokia_rx51_tmp/; - ln -s /opt/nokia/qemu-system-arm nokia_rx51_tmp/; - export PATH=/opt/gcc-13.1.0-nolibc/arm-linux-gnueabi/bin:$PATH; - test/nokia_rx51_test.sh - # Check for any pylint regressions Run pylint: stage: testsuites @@ -257,247 +134,3 @@ Run pylint: - pylint --version - export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt" - make pylint_err - -# Check for pre-schema driver model tags -Check for pre-schema tags: - stage: testsuites - script: - - git config --global --add safe.directory "${CI_PROJECT_DIR}"; - # If grep succeeds and finds a match the test fails as we should - # have no matches. - - git grep u-boot,dm- -- '*.dts*' && exit 1 || exit 0 - -# Check we can package the Python tools -Check packing of Python tools: - stage: testsuites - script: - - make pip - -# Test sandbox with test.py -sandbox test.py: - variables: - TEST_PY_BD: "sandbox" - <<: *buildman_and_testpy_dfn - -sandbox with clang test.py: - variables: - TEST_PY_BD: "sandbox" - OVERRIDE: "-O clang-16" - <<: *buildman_and_testpy_dfn - -sandbox without LTO test.py: - variables: - TEST_PY_BD: "sandbox" - BUILD_ENV: "NO_LTO=1" - <<: *buildman_and_testpy_dfn - -sandbox_spl test.py: - variables: - TEST_PY_BD: "sandbox_spl" - TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl" - <<: *buildman_and_testpy_dfn - -sandbox_noinst_test.py: - variables: - TEST_PY_BD: "sandbox_noinst" - TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl" - <<: *buildman_and_testpy_dfn - -sandbox_vpl test.py: - variables: - TEST_PY_BD: "sandbox_vpl" - TEST_PY_TEST_SPEC: "vpl or test_spl" - <<: *buildman_and_testpy_dfn - -# Enable tracing and disable LTO, to ensure functions are not elided -sandbox trace_test.py: - variables: - TEST_PY_BD: "sandbox" - BUILD_ENV: "FTRACE=1 NO_LTO=1" - TEST_PY_TEST_SPEC: "trace" - OVERRIDE: "-a CONFIG_TRACE=y -a CONFIG_TRACE_EARLY=y -a CONFIG_TRACE_EARLY_SIZE=0x01000000" - <<: *buildman_and_testpy_dfn - -evb-ast2500 test.py: - variables: - TEST_PY_BD: "evb-ast2500" - TEST_PY_ID: "--id qemu" - <<: *buildman_and_testpy_dfn - -evb-ast2600 test.py: - variables: - TEST_PY_BD: "evb-ast2600" - TEST_PY_ID: "--id qemu" - <<: *buildman_and_testpy_dfn - -sandbox_flattree test.py: - variables: - TEST_PY_BD: "sandbox_flattree" - <<: *buildman_and_testpy_dfn - -vexpress_ca9x4 test.py: - variables: - TEST_PY_BD: "vexpress_ca9x4" - TEST_PY_ID: "--id qemu" - <<: *buildman_and_testpy_dfn - -integratorcp_cm926ejs test.py: - variables: - TEST_PY_BD: "integratorcp_cm926ejs" - TEST_PY_TEST_SPEC: "not sleep" - TEST_PY_ID: "--id qemu" - <<: *buildman_and_testpy_dfn - -qemu_arm test.py: - variables: - TEST_PY_BD: "qemu_arm" - TEST_PY_TEST_SPEC: "not sleep" - <<: *buildman_and_testpy_dfn - -qemu_arm64 test.py: - variables: - TEST_PY_BD: "qemu_arm64" - TEST_PY_TEST_SPEC: "not sleep" - <<: *buildman_and_testpy_dfn - -qemu_m68k test.py: - variables: - TEST_PY_BD: "M5208EVBE" - TEST_PY_ID: "--id qemu" - TEST_PY_TEST_SPEC: "not sleep and not efi" - OVERRIDE: "-a CONFIG_M68K_QEMU=y -a ~CONFIG_MCFTMR" - <<: *buildman_and_testpy_dfn - -qemu_malta test.py: - variables: - TEST_PY_BD: "malta" - TEST_PY_TEST_SPEC: "not sleep and not efi" - TEST_PY_ID: "--id qemu" - <<: *buildman_and_testpy_dfn - -qemu_maltael test.py: - variables: - TEST_PY_BD: "maltael" - TEST_PY_TEST_SPEC: "not sleep and not efi" - TEST_PY_ID: "--id qemu" - <<: *buildman_and_testpy_dfn - -qemu_malta64 test.py: - variables: - TEST_PY_BD: "malta64" - TEST_PY_TEST_SPEC: "not sleep and not efi" - TEST_PY_ID: "--id qemu" - <<: *buildman_and_testpy_dfn - -qemu_malta64el test.py: - variables: - TEST_PY_BD: "malta64el" - TEST_PY_TEST_SPEC: "not sleep and not efi" - TEST_PY_ID: "--id qemu" - <<: *buildman_and_testpy_dfn - -qemu-ppce500 test.py: - variables: - TEST_PY_BD: "qemu-ppce500" - TEST_PY_TEST_SPEC: "not sleep" - <<: *buildman_and_testpy_dfn - -qemu-riscv32 test.py: - variables: - TEST_PY_BD: "qemu-riscv32" - TEST_PY_TEST_SPEC: "not sleep" - <<: *buildman_and_testpy_dfn - -qemu-riscv64 test.py: - variables: - TEST_PY_BD: "qemu-riscv64" - TEST_PY_TEST_SPEC: "not sleep" - <<: *buildman_and_testpy_dfn - -qemu-riscv32_spl test.py: - variables: - TEST_PY_BD: "qemu-riscv32_spl" - TEST_PY_TEST_SPEC: "not sleep" - <<: *buildman_and_testpy_dfn - -qemu-riscv64_spl test.py: - variables: - TEST_PY_BD: "qemu-riscv64_spl" - TEST_PY_TEST_SPEC: "not sleep" - <<: *buildman_and_testpy_dfn - -qemu-x86 test.py: - variables: - TEST_PY_BD: "qemu-x86" - TEST_PY_TEST_SPEC: "not sleep" - <<: *buildman_and_testpy_dfn - -qemu-x86_64 test.py: - variables: - TEST_PY_BD: "qemu-x86_64" - TEST_PY_TEST_SPEC: "not sleep" - <<: *buildman_and_testpy_dfn - -r2dplus_i82557c test.py: - variables: - TEST_PY_BD: "r2dplus" - TEST_PY_ID: "--id i82557c_qemu" - <<: *buildman_and_testpy_dfn - -r2dplus_pcnet test.py: - variables: - TEST_PY_BD: "r2dplus" - TEST_PY_ID: "--id pcnet_qemu" - <<: *buildman_and_testpy_dfn - -r2dplus_rtl8139 test.py: - variables: - TEST_PY_BD: "r2dplus" - TEST_PY_ID: "--id rtl8139_qemu" - <<: *buildman_and_testpy_dfn - -r2dplus_tulip test.py: - variables: - TEST_PY_BD: "r2dplus" - TEST_PY_ID: "--id tulip_qemu" - <<: *buildman_and_testpy_dfn - -sifive_unleashed_sdcard test.py: - variables: - TEST_PY_BD: "sifive_unleashed" - TEST_PY_ID: "--id sdcard_qemu" - <<: *buildman_and_testpy_dfn - -sifive_unleashed_spi-nor test.py: - variables: - TEST_PY_BD: "sifive_unleashed" - TEST_PY_ID: "--id spi-nor_qemu" - <<: *buildman_and_testpy_dfn - -xilinx_zynq_virt test.py: - variables: - TEST_PY_BD: "xilinx_zynq_virt" - TEST_PY_TEST_SPEC: "not sleep" - TEST_PY_ID: "--id qemu" - <<: *buildman_and_testpy_dfn - -xilinx_versal_virt test.py: - variables: - TEST_PY_BD: "xilinx_versal_virt" - TEST_PY_TEST_SPEC: "not sleep" - TEST_PY_ID: "--id qemu" - <<: *buildman_and_testpy_dfn - -xtfpga test.py: - variables: - TEST_PY_BD: "xtfpga" - TEST_PY_TEST_SPEC: "not sleep" - TEST_PY_ID: "--id qemu" - <<: *buildman_and_testpy_dfn - -coreboot test.py: - variables: - TEST_PY_BD: "coreboot" - TEST_PY_TEST_SPEC: "not sleep" - TEST_PY_ID: "--id qemu" - <<: *buildman_and_testpy_dfn |