# 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:
    - cd build
    - find . -type f -exec touch {} +
    - make $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-ubuntu:
  <<: *native_build_job_definition
  variables:
    IMAGE: ubuntu2004
    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:
      - 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
    TARGETS: arm-softmmu avr-softmmu i386-softmmu mipsel-softmmu
      riscv64-softmmu sh4eb-softmmu sparc-softmmu xtensaeb-softmmu
    MAKE_CHECK_ARGS: check-build
    CONFIGURE_ARGS: --enable-docs
  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

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
    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
    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-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-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
    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

pages:
  image: $CI_REGISTRY_IMAGE/qemu/ubuntu2004:latest
  stage: test
  needs:
    - job: build-system-ubuntu
      artifacts: true
  script:
    - mkdir public
    - mv build/docs/index.html public/
    - for i in devel interop specs system tools user ; do mv build/docs/$i public/ ; done
  artifacts:
    paths:
      - public
