# Currently we have two build stages after our containers are built:
#  - build (for traditional build and test or first stage build)
#  - test (for test stages, using build artefacts from a build stage)
stages:
  - containers
  - containers-layer2
  - build
  - test

include:
  - local: '/.gitlab-ci.d/edk2.yml'
  - local: '/.gitlab-ci.d/opensbi.yml'
  - local: '/.gitlab-ci.d/containers.yml'
  - local: '/.gitlab-ci.d/crossbuilds.yml'

.native_build_job_template: &native_build_job_definition
  stage: build
  image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
  before_script:
    - JOBS=$(expr $(nproc) + 1)
    - sed -i s,git.qemu.org/git,gitlab.com/qemu-project, .gitmodules
  script:
    - mkdir build
    - cd build
    - if test -n "$TARGETS";
      then
        ../configure --enable-werror $CONFIGURE_ARGS --target-list="$TARGETS" ;
      else
        ../configure --enable-werror $CONFIGURE_ARGS ;
      fi || { cat config.log meson-logs/meson-log.txt && exit 1; }
    - make -j"$JOBS"
    - if test -n "$MAKE_CHECK_ARGS";
      then
        make -j"$JOBS" $MAKE_CHECK_ARGS ;
      fi

.native_test_job_template: &native_test_job_definition
  stage: test
  image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
  script:
    - scripts/git-submodule.sh update
        $(grep GIT_SUBMODULES build/config-host.mak | sed 's/GIT_SUBMODULES=//')
    - cd build
    - find . -type f -exec touch {} +
    # Avoid recompiling by hiding ninja with NINJA=":"
    - make NINJA=":" $MAKE_CHECK_ARGS

.acceptance_template: &acceptance_definition
  cache:
    key: "${CI_JOB_NAME}-cache"
    paths:
      - ${CI_PROJECT_DIR}/avocado-cache
    policy: pull-push
  artifacts:
    name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
    when: always
    expire_in: 2 days
    paths:
      - build/tests/results/latest/results.xml
      - build/tests/results/latest/test-results
    reports:
      junit: build/tests/results/latest/results.xml
  before_script:
    - mkdir -p ~/.config/avocado
    - echo "[datadir.paths]" > ~/.config/avocado/avocado.conf
    - echo "cache_dirs = ['${CI_PROJECT_DIR}/avocado-cache']"
           >> ~/.config/avocado/avocado.conf
    - echo -e '[job.output.testlogs]\nstatuses = ["FAIL"]'
           >> ~/.config/avocado/avocado.conf
    - if [ -d ${CI_PROJECT_DIR}/avocado-cache ]; then
        du -chs ${CI_PROJECT_DIR}/avocado-cache ;
      fi
    - export AVOCADO_ALLOW_UNTRUSTED_CODE=1
  after_script:
    - cd build
    - du -chs ${CI_PROJECT_DIR}/avocado-cache

build-system-alpine:
  <<: *native_build_job_definition
  variables:
    IMAGE: alpine
    TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu
      moxie-softmmu microblazeel-softmmu mips64el-softmmu
    MAKE_CHECK_ARGS: check-build
    CONFIGURE_ARGS: --enable-docs
  artifacts:
    expire_in: 2 days
    paths:
      - .git-submodule-status
      - build

check-system-alpine:
  <<: *native_test_job_definition
  needs:
    - job: build-system-alpine
      artifacts: true
  variables:
    IMAGE: alpine
    MAKE_CHECK_ARGS: check

acceptance-system-alpine:
  <<: *native_test_job_definition
  needs:
    - job: build-system-alpine
      artifacts: true
  variables:
    IMAGE: alpine
    MAKE_CHECK_ARGS: check-acceptance
  <<: *acceptance_definition

build-system-ubuntu:
  <<: *native_build_job_definition
  variables:
    IMAGE: ubuntu2004
    CONFIGURE_ARGS: --enable-fdt=system --enable-slirp=system
    TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu
      moxie-softmmu microblazeel-softmmu mips64el-softmmu
    MAKE_CHECK_ARGS: check-build
  artifacts:
    expire_in: 2 days
    paths:
      - build

check-system-ubuntu:
  <<: *native_test_job_definition
  needs:
    - job: build-system-ubuntu
      artifacts: true
  variables:
    IMAGE: ubuntu2004
    MAKE_CHECK_ARGS: check

acceptance-system-ubuntu:
  <<: *native_test_job_definition
  needs:
    - job: build-system-ubuntu
      artifacts: true
  variables:
    IMAGE: ubuntu2004
    MAKE_CHECK_ARGS: check-acceptance
  <<: *acceptance_definition

build-system-debian:
  <<: *native_build_job_definition
  variables:
    IMAGE: debian-amd64
    CONFIGURE_ARGS: --enable-fdt=system
    TARGETS: arm-softmmu avr-softmmu i386-softmmu mipsel-softmmu
      riscv64-softmmu sh4eb-softmmu sparc-softmmu xtensaeb-softmmu
    MAKE_CHECK_ARGS: check-build
  artifacts:
    expire_in: 2 days
    paths:
      - build

check-system-debian:
  <<: *native_test_job_definition
  needs:
    - job: build-system-debian
      artifacts: true
  variables:
    IMAGE: debian-amd64
    MAKE_CHECK_ARGS: check

# No targets are built here, just tools, docs, and unit tests. This
# also feeds into the eventual documentation deployment steps later
build-tools-and-docs-debian:
  <<: *native_build_job_definition
  variables:
    IMAGE: debian-amd64
    MAKE_CHECK_ARGS: check-unit check-softfloat ctags TAGS cscope
    CONFIGURE_ARGS: --disable-system --disable-user --enable-docs --enable-tools
  artifacts:
    expire_in: 2 days
    paths:
      - build

acceptance-system-debian:
  <<: *native_test_job_definition
  needs:
    - job: build-system-debian
      artifacts: true
  variables:
    IMAGE: debian-amd64
    MAKE_CHECK_ARGS: check-acceptance
  <<: *acceptance_definition

build-system-fedora:
  <<: *native_build_job_definition
  variables:
    IMAGE: fedora
    CONFIGURE_ARGS: --disable-gcrypt --enable-nettle --enable-docs
             --enable-fdt=system --enable-slirp=system --enable-capstone=system
    TARGETS: tricore-softmmu microblaze-softmmu mips-softmmu
      xtensa-softmmu m68k-softmmu riscv32-softmmu ppc-softmmu sparc64-softmmu
    MAKE_CHECK_ARGS: check-build
  artifacts:
    expire_in: 2 days
    paths:
      - build

check-system-fedora:
  <<: *native_test_job_definition
  needs:
    - job: build-system-fedora
      artifacts: true
  variables:
    IMAGE: fedora
    MAKE_CHECK_ARGS: check

acceptance-system-fedora:
  <<: *native_test_job_definition
  needs:
    - job: build-system-fedora
      artifacts: true
  variables:
    IMAGE: fedora
    MAKE_CHECK_ARGS: check-acceptance
  <<: *acceptance_definition

build-system-centos:
  <<: *native_build_job_definition
  variables:
    IMAGE: centos8
    CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-fdt=system
    TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu
      x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu
    MAKE_CHECK_ARGS: check-build
  artifacts:
    expire_in: 2 days
    paths:
      - build

check-system-centos:
  <<: *native_test_job_definition
  needs:
    - job: build-system-centos
      artifacts: true
  variables:
    IMAGE: centos8
    MAKE_CHECK_ARGS: check

acceptance-system-centos:
  <<: *native_test_job_definition
  needs:
    - job: build-system-centos
      artifacts: true
  variables:
    IMAGE: centos8
    MAKE_CHECK_ARGS: check-acceptance
  <<: *acceptance_definition

build-system-opensuse:
  <<: *native_build_job_definition
  variables:
    IMAGE: opensuse-leap
    CONFIGURE_ARGS: --enable-fdt=system
    TARGETS: s390x-softmmu x86_64-softmmu aarch64-softmmu
    MAKE_CHECK_ARGS: check-build
  artifacts:
    expire_in: 2 days
    paths:
      - build

check-system-opensuse:
  <<: *native_test_job_definition
  needs:
    - job: build-system-opensuse
      artifacts: true
  variables:
    IMAGE: opensuse-leap
    MAKE_CHECK_ARGS: check

acceptance-system-opensuse:
   <<: *native_test_job_definition
   needs:
     - job: build-system-opensuse
       artifacts: true
   variables:
     IMAGE: opensuse-leap
     MAKE_CHECK_ARGS: check-acceptance
   <<: *acceptance_definition


build-disabled:
  <<: *native_build_job_definition
  variables:
    IMAGE: fedora
    CONFIGURE_ARGS:
      --disable-attr
      --disable-auth-pam
      --disable-avx2
      --disable-bochs
      --disable-brlapi
      --disable-bzip2
      --disable-cap-ng
      --disable-capstone
      --disable-cloop
      --disable-coroutine-pool
      --disable-curl
      --disable-curses
      --disable-dmg
      --disable-docs
      --disable-gcrypt
      --disable-glusterfs
      --disable-gnutls
      --disable-gtk
      --disable-guest-agent
      --disable-iconv
      --disable-keyring
      --disable-kvm
      --disable-libiscsi
      --disable-libpmem
      --disable-libssh
      --disable-libudev
      --disable-libusb
      --disable-libxml2
      --disable-linux-aio
      --disable-live-block-migration
      --disable-lzo
      --disable-malloc-trim
      --disable-mpath
      --disable-nettle
      --disable-numa
      --disable-opengl
      --disable-parallels
      --disable-pie
      --disable-qcow1
      --disable-qed
      --disable-qom-cast-debug
      --disable-rbd
      --disable-rdma
      --disable-replication
      --disable-sdl
      --disable-seccomp
      --disable-sheepdog
      --disable-slirp
      --disable-smartcard
      --disable-snappy
      --disable-sparse
      --disable-spice
      --disable-strip
      --disable-tpm
      --disable-usb-redir
      --disable-vdi
      --disable-vhost-crypto
      --disable-vhost-net
      --disable-vhost-scsi
      --disable-vhost-user
      --disable-vhost-vdpa
      --disable-vhost-vsock
      --disable-virglrenderer
      --disable-vnc
      --disable-vte
      --disable-vvfat
      --disable-xen
      --disable-zstd
    TARGETS: arm-softmmu i386-softmmu ppc64-softmmu mips64-softmmu
      s390x-softmmu i386-linux-user
    MAKE_CHECK_ARGS: check-qtest SPEED=slow

# This jobs explicitly disable TCG (--disable-tcg), KVM is detected by
# the configure script. The container doesn't contain Xen headers so
# Xen accelerator is not detected / selected. As result it build the
# i386-softmmu and x86_64-softmmu with KVM being the single accelerator
# available.
build-tcg-disabled:
  <<: *native_build_job_definition
  variables:
    IMAGE: centos8
  script:
    - mkdir build
    - cd build
    - ../configure --disable-tcg --audio-drv-list="" || { cat config.log meson-logs/meson-log.txt && exit 1; }
    - make -j"$JOBS"
    - make check-unit
    - make check-qapi-schema
    - cd tests/qemu-iotests/
    - ./check -raw 001 002 003 004 005 008 009 010 011 012 021 025 032 033 048
            052 063 077 086 101 104 106 113 148 150 151 152 157 159 160 163
            170 171 183 184 192 194 197 208 215 221 222 226 227 236 253 277
    - ./check -qcow2 028 051 056 057 058 065 068 082 085 091 095 096 102 122
            124 132 139 142 144 145 151 152 155 157 165 194 196 197 200 202
            208 209 215 216 218 222 227 234 246 247 248 250 254 255 257 258
            260 261 262 263 264 270 272 273 277 279

build-user:
  <<: *native_build_job_definition
  variables:
    IMAGE: debian-all-test-cross
    CONFIGURE_ARGS: --disable-tools --disable-system
    MAKE_CHECK_ARGS: check-tcg

build-user-static:
  <<: *native_build_job_definition
  variables:
    IMAGE: debian-all-test-cross
    CONFIGURE_ARGS: --disable-tools --disable-system --static
    MAKE_CHECK_ARGS: check-tcg

# Only build the softmmu targets we have check-tcg tests for
build-some-softmmu:
  <<: *native_build_job_definition
  variables:
    IMAGE: debian-all-test-cross
    CONFIGURE_ARGS: --disable-tools --enable-debug-tcg
    TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu
    MAKE_CHECK_ARGS: check-tcg

# Run check-tcg against linux-user (with plugins)
# we skip sparc64-linux-user until it has been fixed somewhat
# we skip cris-linux-user as it doesn't use the common run loop
build-user-plugins:
  <<: *native_build_job_definition
  variables:
    IMAGE: debian-all-test-cross
    CONFIGURE_ARGS: --disable-tools --disable-system --enable-plugins --enable-debug-tcg --target-list-exclude=sparc64-linux-user,cris-linux-user
    MAKE_CHECK_ARGS: check-tcg
  timeout: 1h 30m

build-user-centos7:
  <<: *native_build_job_definition
  variables:
    IMAGE: centos7
    CONFIGURE_ARGS: --disable-system --disable-tools --disable-docs
    MAKE_CHECK_ARGS: check-tcg

build-some-softmmu-plugins:
  <<: *native_build_job_definition
  variables:
    IMAGE: debian-all-test-cross
    CONFIGURE_ARGS: --disable-tools --disable-user --enable-plugins --enable-debug-tcg
    TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu
    MAKE_CHECK_ARGS: check-tcg

build-clang:
  <<: *native_build_job_definition
  variables:
    IMAGE: fedora
    CONFIGURE_ARGS: --cc=clang --cxx=clang++
    TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu
      ppc-softmmu s390x-softmmu arm-linux-user
    MAKE_CHECK_ARGS: check

# These targets are on the way out
build-deprecated:
  <<: *native_build_job_definition
  variables:
    IMAGE: debian-all-test-cross
    CONFIGURE_ARGS: --disable-docs --disable-tools
    MAKE_CHECK_ARGS: build-tcg
    TARGETS: ppc64abi32-linux-user tilegx-linux-user lm32-softmmu
      unicore32-softmmu
  artifacts:
    expire_in: 2 days
    paths:
      - build

# We split the check-tcg step as test failures are expected but we still
# want to catch the build breaking.
check-deprecated:
  <<: *native_test_job_definition
  needs:
    - job: build-deprecated
      artifacts: true
  variables:
    IMAGE: debian-all-test-cross
    MAKE_CHECK_ARGS: check-tcg
  allow_failure: true

build-oss-fuzz:
  <<: *native_build_job_definition
  variables:
    IMAGE: fedora
  script:
    - mkdir build-oss-fuzz
    - CC="clang" CXX="clang++" CFLAGS="-fsanitize=address"
      ./scripts/oss-fuzz/build.sh
    - export ASAN_OPTIONS="fast_unwind_on_malloc=0"
    - for fuzzer in $(find ./build-oss-fuzz/DEST_DIR/ -executable -type f
                      | grep -v slirp); do
        grep "LLVMFuzzerTestOneInput" ${fuzzer} > /dev/null 2>&1 || continue ;
        echo Testing ${fuzzer} ... ;
        "${fuzzer}" -runs=1 -seed=1 || exit 1 ;
      done
    # Unrelated to fuzzer: run some tests with -fsanitize=address
    - cd build-oss-fuzz && make check-qtest-i386 check-unit

build-tci:
  <<: *native_build_job_definition
  variables:
    IMAGE: fedora
  script:
    - TARGETS="aarch64 alpha arm hppa m68k microblaze moxie ppc64 s390x x86_64"
    - mkdir build
    - cd build
    - ../configure --enable-tcg-interpreter
        --target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)" || { cat config.log meson-logs/meson-log.txt && exit 1; }
    - make -j"$JOBS"
    - make run-tcg-tests-x86_64-softmmu
    - make tests/qtest/boot-serial-test tests/qtest/cdrom-test tests/qtest/pxe-test
    - for tg in $TARGETS ; do
        export QTEST_QEMU_BINARY="./qemu-system-${tg}" ;
        ./tests/qtest/boot-serial-test || exit 1 ;
        ./tests/qtest/cdrom-test || exit 1 ;
      done
    - QTEST_QEMU_BINARY="./qemu-system-x86_64" ./tests/qtest/pxe-test
    - QTEST_QEMU_BINARY="./qemu-system-s390x" ./tests/qtest/pxe-test -m slow

# Alternate coroutines implementations are only really of interest to KVM users
# However we can't test against KVM on Gitlab-CI so we can only run unit tests
build-coroutine-ucontext:
  <<: *native_build_job_definition
  variables:
    IMAGE: ubuntu2004
    CONFIGURE_ARGS: --with-coroutine=ucontext --disable-tcg
    MAKE_CHECK_ARGS: check-unit

build-coroutine-sigaltstack:
  <<: *native_build_job_definition
  variables:
    IMAGE: ubuntu2004
    CONFIGURE_ARGS: --with-coroutine=sigaltstack --disable-tcg
    MAKE_CHECK_ARGS: check-unit

# Most jobs test latest gcrypt or nettle builds
#
# These jobs test old gcrypt and nettle from RHEL7
# which had some API differences.
build-crypto-old-nettle:
  <<: *native_build_job_definition
  variables:
    IMAGE: centos7
    TARGETS: x86_64-softmmu x86_64-linux-user
    CONFIGURE_ARGS: --disable-gcrypt --enable-nettle
    MAKE_CHECK_ARGS: check-build
  artifacts:
    paths:
      - build

check-crypto-old-nettle:
  <<: *native_test_job_definition
  needs:
    - job: build-crypto-old-nettle
      artifacts: true
  variables:
    IMAGE: centos7
    MAKE_CHECK_ARGS: check


build-crypto-old-gcrypt:
  <<: *native_build_job_definition
  variables:
    IMAGE: centos7
    TARGETS: x86_64-softmmu x86_64-linux-user
    CONFIGURE_ARGS: --disable-nettle --enable-gcrypt
    MAKE_CHECK_ARGS: check-build
  artifacts:
    paths:
      - build

check-crypto-old-gcrypt:
  <<: *native_test_job_definition
  needs:
    - job: build-crypto-old-gcrypt
      artifacts: true
  variables:
    IMAGE: centos7
    MAKE_CHECK_ARGS: check


build-crypto-only-gnutls:
  <<: *native_build_job_definition
  variables:
    IMAGE: centos7
    TARGETS: x86_64-softmmu x86_64-linux-user
    CONFIGURE_ARGS: --disable-nettle --disable-gcrypt --enable-gnutls
    MAKE_CHECK_ARGS: check-build
  artifacts:
    paths:
      - build

check-crypto-only-gnutls:
  <<: *native_test_job_definition
  needs:
    - job: build-crypto-only-gnutls
      artifacts: true
  variables:
    IMAGE: centos7
    MAKE_CHECK_ARGS: check

# We don't need to exercise every backend with every front-end
build-trace-multi-user:
  <<: *native_build_job_definition
  variables:
    IMAGE: ubuntu2004
    CONFIGURE_ARGS: --enable-trace-backends=log,simple,syslog --disable-system

build-trace-ftrace-system:
  <<: *native_build_job_definition
  variables:
    IMAGE: ubuntu2004
    CONFIGURE_ARGS: --enable-trace-backends=ftrace --target-list=x86_64-softmmu

build-trace-ust-system:
  <<: *native_build_job_definition
  variables:
    IMAGE: ubuntu2004
    CONFIGURE_ARGS: --enable-trace-backends=ust --target-list=x86_64-softmmu

# Check our reduced build configurations
build-without-default-devices:
  <<: *native_build_job_definition
  variables:
    IMAGE: centos8
    CONFIGURE_ARGS: --without-default-devices --disable-user

build-without-default-features:
  <<: *native_build_job_definition
  variables:
    IMAGE: debian-amd64
    CONFIGURE_ARGS: --without-default-features --disable-user
        --target-list-exclude=arm-softmmu,i386-softmmu,mipsel-softmmu,mips64-softmmu,ppc-softmmu
    MAKE_CHECK_ARGS: check-unit

check-patch:
  stage: build
  image: $CI_REGISTRY_IMAGE/qemu/centos8:latest
  script: .gitlab-ci.d/check-patch.py
  except:
    variables:
      - $CI_PROJECT_NAMESPACE == 'qemu-project' && $CI_COMMIT_BRANCH == 'master'
  variables:
    GIT_DEPTH: 1000
  allow_failure: true

check-dco:
  stage: build
  image: $CI_REGISTRY_IMAGE/qemu/centos8:latest
  script: .gitlab-ci.d/check-dco.py
  except:
    variables:
      - $CI_PROJECT_NAMESPACE == 'qemu-project' && $CI_COMMIT_BRANCH == 'master'
  variables:
    GIT_DEPTH: 1000

build-libvhost-user:
  stage: build
  image: $CI_REGISTRY_IMAGE/qemu/fedora:latest
  before_script:
    - dnf install -y meson ninja-build
  script:
    - mkdir subprojects/libvhost-user/build
    - cd subprojects/libvhost-user/build
    - meson
    - ninja

# Prepare for GitLab pages deployment. Anything copied into the
# "public" directory will be deployed to $USER.gitlab.io/$PROJECT
pages:
  image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:latest
  stage: test
  needs:
    - job: build-tools-and-docs-debian
  script:
    - mkdir -p public
    # HTML-ised source tree
    - make gtags
    - htags -anT --tree-view=filetree -m qemu_init
        -t "Welcome to the QEMU sourcecode"
    - mv HTML public/src
    # Project documentation
    - make -C build install DESTDIR=$(pwd)/temp-install
    - mv temp-install/usr/local/share/doc/qemu/* public/
  artifacts:
    paths:
      - public
