# SPDX-License-Identifier: GPL-2.0+

# Grab our configured image.  The source for this is found at:
# https://source.denx.de/u-boot/gitlab-ci-runner
image: trini/u-boot-gitlab-ci-runner:focal-20211006-14Nov2021

# 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
  before_script:
    # Clone uboot-test-hooks
    - 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/opensbi/releases/download/v0.9/opensbi-0.9-rv-bin.tar.xz | tar -C /tmp -xJ;
        export OPENSBI=/tmp/opensbi-0.9-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/opensbi/releases/download/v0.9/opensbi-0.9-rv-bin.tar.xz | tar -C /tmp -xJ;
        export OPENSBI=/tmp/opensbi-0.9-rv-bin/share/opensbi/lp64/generic/firmware/fw_dynamic.bin;
      fi

  after_script:
    - rm -rf /tmp/uboot-test-hooks /tmp/venv
  script:
    # If we've been asked to use clang only do one configuration.
    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
    - 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
    - virtualenv -p /usr/bin/python3 /tmp/venv
    - . /tmp/venv/bin/activate
    - pip install -r test/py/requirements.txt
    # "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not
    - export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
      export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
      ./test/py/test.py -ra --bd ${TEST_PY_BD} ${TEST_PY_ID}
        ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"}
        --build-dir "$UBOOT_TRAVIS_BUILD_DIR"

build all 32bit ARM platforms:
  stage: world build
  script:
    - ret=0;
      ./tools/buildman/buildman -o /tmp -P -E -W 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
    - pip install pyelftools
    - ret=0;
      ./tools/buildman/buildman -o /tmp -P -E -W 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;
      ./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;
      ./tools/buildman/buildman -o /tmp -P -E -W -x arm,powerpc || ret=$?;
      if [[ $ret -ne 0 ]]; then
        ./tools/buildman/buildman -o /tmp -seP;
        exit $ret;
      fi;

# 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 HTML documentation
htmldocs:
  stage: testsuites
  script:
    - virtualenv -p /usr/bin/python3 /tmp/venvhtml
    - . /tmp/venvhtml/bin/activate
    - pip install -r doc/sphinx/requirements.txt
    - make htmldocs

# 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:
    - if [ `./tools/genboardscfg.py -f 2>&1 | wc -l` -ne 0 ]; then exit 1; fi

# 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:
    - git config --global user.name "GitLab CI Runner";
      git config --global user.email trini@konsulko.com;
      export USER=gitlab;
      virtualenv -p /usr/bin/python3 /tmp/venv;
      . /tmp/venv/bin/activate;
      pip install -r test/py/requirements.txt;
      export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl;
      export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt";
      export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}";
      ./tools/buildman/buildman -T0 -o ${UBOOT_TRAVIS_BUILD_DIR} -w
        --board sandbox_spl;
      ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test;
      ./tools/buildman/buildman -t;
      ./tools/dtoc/dtoc -t;
      ./tools/patman/patman test;
      make testconfig

Run tests for Nokia RX-51 (aka N900):
  stage: testsuites
  script:
    - export PATH=/opt/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin:$PATH;
      test/nokia_rx51_test.sh

# 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-13"
  <<: *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

evb-ast2500 test.py:
  variables:
    TEST_PY_BD: "evb-ast2500"
    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_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
