include:
  - local: '/.gitlab-ci.d/buildtest-template.yml'

build-system-alpine:
  extends:
    - .native_build_job_template
    - .native_build_artifact_template
  needs:
    - job: amd64-alpine-container
  variables:
    IMAGE: alpine
    TARGETS: avr-softmmu loongarch64-softmmu mips64-softmmu mipsel-softmmu
    MAKE_CHECK_ARGS: check-build
    CONFIGURE_ARGS: --enable-docs --enable-trace-backends=log,simple,syslog

check-system-alpine:
  extends: .native_test_job_template
  needs:
    - job: build-system-alpine
      artifacts: true
  variables:
    IMAGE: alpine
    MAKE_CHECK_ARGS: check-unit check-qtest

avocado-system-alpine:
  extends: .avocado_test_job_template
  needs:
    - job: build-system-alpine
      artifacts: true
  variables:
    IMAGE: alpine
    MAKE_CHECK_ARGS: check-avocado
    AVOCADO_TAGS: arch:avr arch:loongarch64 arch:mips64 arch:mipsel

build-system-ubuntu:
  extends:
    - .native_build_job_template
    - .native_build_artifact_template
  needs:
    job: amd64-ubuntu2204-container
  variables:
    IMAGE: ubuntu2204
    CONFIGURE_ARGS: --enable-docs
    TARGETS: alpha-softmmu microblazeel-softmmu mips64el-softmmu
    MAKE_CHECK_ARGS: check-build

check-system-ubuntu:
  extends: .native_test_job_template
  needs:
    - job: build-system-ubuntu
      artifacts: true
  variables:
    IMAGE: ubuntu2204
    MAKE_CHECK_ARGS: check

avocado-system-ubuntu:
  extends: .avocado_test_job_template
  needs:
    - job: build-system-ubuntu
      artifacts: true
  variables:
    IMAGE: ubuntu2204
    MAKE_CHECK_ARGS: check-avocado
    AVOCADO_TAGS: arch:alpha arch:microblazeel arch:mips64el

build-system-debian:
  extends:
    - .native_build_job_template
    - .native_build_artifact_template
  needs:
    job: amd64-debian-container
  variables:
    IMAGE: debian
    CONFIGURE_ARGS: --with-coroutine=sigaltstack
    TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4eb-softmmu
      sparc-softmmu xtensa-softmmu
    MAKE_CHECK_ARGS: check-build

check-system-debian:
  extends: .native_test_job_template
  needs:
    - job: build-system-debian
      artifacts: true
  variables:
    IMAGE: debian
    MAKE_CHECK_ARGS: check

avocado-system-debian:
  extends: .avocado_test_job_template
  needs:
    - job: build-system-debian
      artifacts: true
  variables:
    IMAGE: debian
    MAKE_CHECK_ARGS: check-avocado
    AVOCADO_TAGS: arch:arm arch:i386 arch:riscv64 arch:sh4 arch:sparc arch:xtensa

crash-test-debian:
  extends: .native_test_job_template
  needs:
    - job: build-system-debian
      artifacts: true
  variables:
    IMAGE: debian
  script:
    - cd build
    - make NINJA=":" check-venv
    - pyvenv/bin/python3 scripts/device-crash-test -q --tcg-only ./qemu-system-i386

build-system-fedora:
  extends:
    - .native_build_job_template
    - .native_build_artifact_template
  needs:
    job: amd64-fedora-container
  variables:
    IMAGE: fedora
    CONFIGURE_ARGS: --disable-gcrypt --enable-nettle --enable-docs
    TARGETS: microblaze-softmmu mips-softmmu
      xtensa-softmmu m68k-softmmu riscv32-softmmu ppc-softmmu sparc64-softmmu
    MAKE_CHECK_ARGS: check-build

check-system-fedora:
  extends: .native_test_job_template
  needs:
    - job: build-system-fedora
      artifacts: true
  variables:
    IMAGE: fedora
    MAKE_CHECK_ARGS: check

avocado-system-fedora:
  extends: .avocado_test_job_template
  needs:
    - job: build-system-fedora
      artifacts: true
  variables:
    IMAGE: fedora
    MAKE_CHECK_ARGS: check-avocado
    AVOCADO_TAGS: arch:microblaze arch:mips arch:xtensa arch:m68k
      arch:riscv32 arch:ppc arch:sparc64

crash-test-fedora:
  extends: .native_test_job_template
  needs:
    - job: build-system-fedora
      artifacts: true
  variables:
    IMAGE: fedora
  script:
    - cd build
    - make NINJA=":" check-venv
    - pyvenv/bin/python3 scripts/device-crash-test -q ./qemu-system-ppc
    - pyvenv/bin/python3 scripts/device-crash-test -q ./qemu-system-riscv32

build-system-centos:
  extends:
    - .native_build_job_template
    - .native_build_artifact_template
  needs:
    job: amd64-centos8-container
  variables:
    IMAGE: centos8
    CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-vfio-user-server
      --enable-modules --enable-trace-backends=dtrace --enable-docs
    TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu
      x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu
    MAKE_CHECK_ARGS: check-build

# Previous QEMU release. Used for cross-version migration tests.
build-previous-qemu:
  extends: .native_build_job_template
  artifacts:
    when: on_success
    expire_in: 2 days
    paths:
      - build-previous
    exclude:
      - build-previous/**/*.p
      - build-previous/**/*.a.p
      - build-previous/**/*.fa.p
      - build-previous/**/*.c.o
      - build-previous/**/*.c.o.d
      - build-previous/**/*.fa
  needs:
    job: amd64-opensuse-leap-container
  variables:
    IMAGE: opensuse-leap
    TARGETS: x86_64-softmmu aarch64-softmmu
    # Override the default flags as we need more to grab the old version
    GIT_FETCH_EXTRA_FLAGS: --prune --quiet
  before_script:
    - export QEMU_PREV_VERSION="$(sed 's/\([0-9.]*\)\.[0-9]*/v\1.0/' VERSION)"
    - git remote add upstream https://gitlab.com/qemu-project/qemu
    - git fetch upstream refs/tags/$QEMU_PREV_VERSION:refs/tags/$QEMU_PREV_VERSION
    - git checkout $QEMU_PREV_VERSION
  after_script:
    - mv build build-previous

.migration-compat-common:
  extends: .common_test_job_template
  needs:
    - job: build-previous-qemu
    - job: build-system-opensuse
  # The old QEMU could have bugs unrelated to migration that are
  # already fixed in the current development branch, so this test
  # might fail.
  allow_failure: true
  variables:
    IMAGE: opensuse-leap
    MAKE_CHECK_ARGS: check-build
  script:
    # Use the migration-tests from the older QEMU tree. This avoids
    # testing an old QEMU against new features/tests that it is not
    # compatible with.
    - cd build-previous
    # old to new
    - QTEST_QEMU_BINARY_SRC=./qemu-system-${TARGET}
          QTEST_QEMU_BINARY=../build/qemu-system-${TARGET} ./tests/qtest/migration-test
    # new to old
    - QTEST_QEMU_BINARY_DST=./qemu-system-${TARGET}
          QTEST_QEMU_BINARY=../build/qemu-system-${TARGET} ./tests/qtest/migration-test

# This job needs to be disabled until we can have an aarch64 CPU model that
# will both (1) support both KVM and TCG, and (2) provide a stable ABI.
# Currently only "-cpu max" can provide (1), however it doesn't guarantee
# (2).  Mark this test skipped until later.
migration-compat-aarch64:
  extends: .migration-compat-common
  variables:
    TARGET: aarch64
    QEMU_JOB_SKIPPED: 1

migration-compat-x86_64:
  extends: .migration-compat-common
  variables:
    TARGET: x86_64

check-system-centos:
  extends: .native_test_job_template
  needs:
    - job: build-system-centos
      artifacts: true
  variables:
    IMAGE: centos8
    MAKE_CHECK_ARGS: check

avocado-system-centos:
  extends: .avocado_test_job_template
  needs:
    - job: build-system-centos
      artifacts: true
  variables:
    IMAGE: centos8
    MAKE_CHECK_ARGS: check-avocado
    AVOCADO_TAGS: arch:ppc64 arch:or1k arch:s390x arch:x86_64 arch:rx
      arch:sh4 arch:nios2

build-system-opensuse:
  extends:
    - .native_build_job_template
    - .native_build_artifact_template
  needs:
    job: amd64-opensuse-leap-container
  variables:
    IMAGE: opensuse-leap
    TARGETS: s390x-softmmu x86_64-softmmu aarch64-softmmu
    MAKE_CHECK_ARGS: check-build

check-system-opensuse:
  extends: .native_test_job_template
  needs:
    - job: build-system-opensuse
      artifacts: true
  variables:
    IMAGE: opensuse-leap
    MAKE_CHECK_ARGS: check

avocado-system-opensuse:
  extends: .avocado_test_job_template
  needs:
    - job: build-system-opensuse
      artifacts: true
  variables:
    IMAGE: opensuse-leap
    MAKE_CHECK_ARGS: check-avocado
    AVOCADO_TAGS: arch:s390x arch:x86_64 arch:aarch64

#
# Flaky tests. We don't run these by default and they are allow fail
# but often the CI system is the only way to trigger the failures.
#

build-system-flaky:
  extends:
    - .native_build_job_template
    - .native_build_artifact_template
  needs:
    job: amd64-debian-container
  variables:
    IMAGE: debian
    QEMU_JOB_OPTIONAL: 1
    TARGETS: aarch64-softmmu arm-softmmu mips64el-softmmu
      ppc64-softmmu rx-softmmu s390x-softmmu sh4-softmmu x86_64-softmmu
    MAKE_CHECK_ARGS: check-build

avocado-system-flaky:
  extends: .avocado_test_job_template
  needs:
    - job: build-system-flaky
      artifacts: true
  allow_failure: true
  variables:
    IMAGE: debian
    MAKE_CHECK_ARGS: check-avocado
    QEMU_JOB_OPTIONAL: 1
    QEMU_TEST_FLAKY_TESTS: 1
    AVOCADO_TAGS: flaky

# 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.
# Also use a different coroutine implementation (which is only really of
# interest to KVM users, i.e. with TCG disabled)
build-tcg-disabled:
  extends: .native_build_job_template
  needs:
    job: amd64-centos8-container
  variables:
    IMAGE: centos8
  script:
    - mkdir build
    - cd build
    - ../configure --disable-tcg --audio-drv-list="" --with-coroutine=ucontext
                   --disable-docs --disable-sdl --disable-gtk --disable-vnc
      || { 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 208 221 226 227 236 253 277 image-fleecing
    - ./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 200 202
            208 209 216 218 227 234 246 247 248 250 254 255 257 258
            260 261 262 263 264 270 272 273 277 279 image-fleecing

build-user:
  extends: .native_build_job_template
  needs:
    job: amd64-debian-user-cross-container
  variables:
    IMAGE: debian-all-test-cross
    CONFIGURE_ARGS: --disable-tools --disable-system
      --target-list-exclude=alpha-linux-user,sh4-linux-user
    MAKE_CHECK_ARGS: check-tcg

build-user-static:
  extends: .native_build_job_template
  needs:
    job: amd64-debian-user-cross-container
  variables:
    IMAGE: debian-all-test-cross
    CONFIGURE_ARGS: --disable-tools --disable-system --static
      --target-list-exclude=alpha-linux-user,sh4-linux-user
    MAKE_CHECK_ARGS: check-tcg

# targets stuck on older compilers
build-legacy:
  extends: .native_build_job_template
  needs:
    job: amd64-debian-legacy-cross-container
  variables:
    IMAGE: debian-legacy-test-cross
    TARGETS: alpha-linux-user alpha-softmmu sh4-linux-user
    CONFIGURE_ARGS: --disable-tools
    MAKE_CHECK_ARGS: check-tcg

build-user-hexagon:
  extends: .native_build_job_template
  needs:
    job: hexagon-cross-container
  variables:
    IMAGE: debian-hexagon-cross
    TARGETS: hexagon-linux-user
    CONFIGURE_ARGS: --disable-tools --disable-docs --enable-debug-tcg
    MAKE_CHECK_ARGS: check-tcg

# Build the softmmu targets we have check-tcg tests and compilers in
# our omnibus all-test-cross container. Those targets that haven't got
# Debian cross compiler support need to use special containers.
build-some-softmmu:
  extends: .native_build_job_template
  needs:
    job: amd64-debian-user-cross-container
  variables:
    IMAGE: debian-all-test-cross
    CONFIGURE_ARGS: --disable-tools --enable-debug
    TARGETS: arm-softmmu aarch64-softmmu i386-softmmu riscv64-softmmu
      s390x-softmmu x86_64-softmmu
    MAKE_CHECK_ARGS: check-tcg

build-loongarch64:
  extends: .native_build_job_template
  needs:
    job: loongarch-debian-cross-container
  variables:
    IMAGE: debian-loongarch-cross
    CONFIGURE_ARGS: --disable-tools --enable-debug
    TARGETS: loongarch64-linux-user loongarch64-softmmu
    MAKE_CHECK_ARGS: check-tcg

# We build tricore in a very minimal tricore only container
build-tricore-softmmu:
  extends: .native_build_job_template
  needs:
    job: tricore-debian-cross-container
  variables:
    IMAGE: debian-tricore-cross
    CONFIGURE_ARGS: --disable-tools --disable-fdt --enable-debug
    TARGETS: tricore-softmmu
    MAKE_CHECK_ARGS: check-tcg

clang-system:
  extends: .native_build_job_template
  needs:
    job: amd64-fedora-container
  variables:
    IMAGE: fedora
    CONFIGURE_ARGS: --cc=clang --cxx=clang++
      --extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined
    TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu s390x-softmmu
    MAKE_CHECK_ARGS: check-qtest check-tcg

clang-user:
  extends: .native_build_job_template
  needs:
    job: amd64-debian-user-cross-container
  timeout: 70m
  variables:
    IMAGE: debian-all-test-cross
    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --disable-system
      --target-list-exclude=alpha-linux-user,microblazeel-linux-user,aarch64_be-linux-user,i386-linux-user,m68k-linux-user,mipsn32el-linux-user,xtensaeb-linux-user
      --extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined
    MAKE_CHECK_ARGS: check-unit check-tcg

# Set LD_JOBS=1 because this requires LTO and ld consumes a large amount of memory.
# On gitlab runners, default value sometimes end up calling 2 lds concurrently and
# triggers an Out-Of-Memory error
#
# Since slirp callbacks are used in QEMU Timers, we cannot use libslirp with
# CFI builds, and thus have to disable it here.
#
# Split in three sets of build/check/avocado to limit the execution time of each
# job
build-cfi-aarch64:
  extends:
    - .native_build_job_template
    - .native_build_artifact_template
  needs:
  - job: amd64-fedora-container
  variables:
    LD_JOBS: 1
    AR: llvm-ar
    IMAGE: fedora
    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
      --enable-safe-stack --disable-slirp
    TARGETS: aarch64-softmmu
    MAKE_CHECK_ARGS: check-build
    # FIXME: This job is often failing, likely due to out-of-memory problems in
    # the constrained containers of the shared runners. Thus this is marked as
    # skipped until the situation has been solved.
    QEMU_JOB_SKIPPED: 1
  timeout: 90m

check-cfi-aarch64:
  extends: .native_test_job_template
  needs:
    - job: build-cfi-aarch64
      artifacts: true
  variables:
    IMAGE: fedora
    MAKE_CHECK_ARGS: check

avocado-cfi-aarch64:
  extends: .avocado_test_job_template
  needs:
    - job: build-cfi-aarch64
      artifacts: true
  variables:
    IMAGE: fedora
    MAKE_CHECK_ARGS: check-avocado

build-cfi-ppc64-s390x:
  extends:
    - .native_build_job_template
    - .native_build_artifact_template
  needs:
  - job: amd64-fedora-container
  variables:
    LD_JOBS: 1
    AR: llvm-ar
    IMAGE: fedora
    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
      --enable-safe-stack --disable-slirp
    TARGETS: ppc64-softmmu s390x-softmmu
    MAKE_CHECK_ARGS: check-build
    # FIXME: This job is often failing, likely due to out-of-memory problems in
    # the constrained containers of the shared runners. Thus this is marked as
    # skipped until the situation has been solved.
    QEMU_JOB_SKIPPED: 1
  timeout: 80m

check-cfi-ppc64-s390x:
  extends: .native_test_job_template
  needs:
    - job: build-cfi-ppc64-s390x
      artifacts: true
  variables:
    IMAGE: fedora
    MAKE_CHECK_ARGS: check

avocado-cfi-ppc64-s390x:
  extends: .avocado_test_job_template
  needs:
    - job: build-cfi-ppc64-s390x
      artifacts: true
  variables:
    IMAGE: fedora
    MAKE_CHECK_ARGS: check-avocado

build-cfi-x86_64:
  extends:
    - .native_build_job_template
    - .native_build_artifact_template
  needs:
  - job: amd64-fedora-container
  variables:
    LD_JOBS: 1
    AR: llvm-ar
    IMAGE: fedora
    CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
      --enable-safe-stack --disable-slirp
    TARGETS: x86_64-softmmu
    MAKE_CHECK_ARGS: check-build
  timeout: 70m

check-cfi-x86_64:
  extends: .native_test_job_template
  needs:
    - job: build-cfi-x86_64
      artifacts: true
  variables:
    IMAGE: fedora
    MAKE_CHECK_ARGS: check

avocado-cfi-x86_64:
  extends: .avocado_test_job_template
  needs:
    - job: build-cfi-x86_64
      artifacts: true
  variables:
    IMAGE: fedora
    MAKE_CHECK_ARGS: check-avocado

tsan-build:
  extends: .native_build_job_template
  needs:
    job: amd64-ubuntu2204-container
  variables:
    IMAGE: ubuntu2204
    CONFIGURE_ARGS: --enable-tsan --cc=clang --cxx=clang++
          --enable-trace-backends=ust --disable-slirp
    TARGETS: x86_64-softmmu ppc64-softmmu riscv64-softmmu x86_64-linux-user

# gcov is a GCC features
gcov:
  extends: .native_build_job_template
  needs:
    job: amd64-ubuntu2204-container
  timeout: 80m
  variables:
    IMAGE: ubuntu2204
    CONFIGURE_ARGS: --enable-gcov
    TARGETS: aarch64-softmmu ppc64-softmmu s390x-softmmu x86_64-softmmu
    MAKE_CHECK_ARGS: check-unit check-softfloat
  after_script:
    - cd build
    - gcovr --xml-pretty --exclude-unreachable-branches --print-summary
        -o coverage.xml --root ${CI_PROJECT_DIR} . *.p
  coverage: /^\s*lines:\s*\d+.\d+\%/
  artifacts:
    name: ${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}
    when: always
    expire_in: 2 days
    paths:
      - build/meson-logs/testlog.txt
    reports:
      junit: build/meson-logs/testlog.junit.xml
      coverage_report:
        coverage_format: cobertura
        path: build/coverage.xml

build-oss-fuzz:
  extends: .native_build_job_template
  needs:
    job: amd64-fedora-container
  variables:
    IMAGE: fedora
  script:
    - mkdir build-oss-fuzz
    - export LSAN_OPTIONS=suppressions=scripts/oss-fuzz/lsan_suppressions.txt
    - 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

build-tci:
  extends: .native_build_job_template
  needs:
    job: amd64-debian-user-cross-container
  variables:
    IMAGE: debian-all-test-cross
  script:
    - TARGETS="aarch64 arm hppa m68k microblaze ppc64 s390x x86_64"
    - mkdir build
    - cd build
    - ../configure --enable-tcg-interpreter --disable-docs --disable-gtk --disable-vnc
        --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 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
    - make check-tcg

# Check our reduced build configurations
build-without-defaults:
  extends: .native_build_job_template
  needs:
    job: amd64-centos8-container
  variables:
    IMAGE: centos8
    CONFIGURE_ARGS:
      --without-default-devices
      --without-default-features
      --disable-fdt
      --disable-pie
      --disable-qom-cast-debug
      --disable-strip
    TARGETS: avr-softmmu s390x-softmmu sh4-softmmu
      sparc64-softmmu hexagon-linux-user i386-linux-user s390x-linux-user
    MAKE_CHECK_ARGS: check

build-libvhost-user:
  extends: .base_job_template
  stage: build
  image: $CI_REGISTRY_IMAGE/qemu/fedora:$QEMU_CI_CONTAINER_TAG
  needs:
    job: amd64-fedora-container
  script:
    - mkdir subprojects/libvhost-user/build
    - cd subprojects/libvhost-user/build
    - meson
    - ninja

# 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:
  extends:
    - .native_build_job_template
    - .native_build_artifact_template
  needs:
    job: amd64-debian-container
    # when running on 'master' we use pre-existing container
    optional: true
  variables:
    IMAGE: debian
    MAKE_CHECK_ARGS: check-unit ctags TAGS cscope
    CONFIGURE_ARGS: --disable-system --disable-user --enable-docs --enable-tools
    QEMU_JOB_PUBLISH: 1

# Prepare for GitLab pages deployment. Anything copied into the
# "public" directory will be deployed to $USER.gitlab.io/$PROJECT
#
# GitLab publishes from any branch that triggers a CI pipeline
#
# For the main repo we don't want to publish from 'staging'
# since that content may not be pushed, nor do we wish to
# publish from 'stable-NNN' branches as that content is outdated.
# Thus we restrict to just the default branch
#
# For contributor forks we want to publish from any repo so
# that users can see the results of their commits, regardless
# of what topic branch they're currently using
pages:
  extends: .base_job_template
  image: $CI_REGISTRY_IMAGE/qemu/debian:$QEMU_CI_CONTAINER_TAG
  stage: test
  needs:
    - job: build-tools-and-docs-debian
  script:
    - mkdir -p public
    # HTML-ised source tree
    - make gtags
    # We unset variables to work around a bug in some htags versions
    # which causes it to fail when the environment is large
    - CI_COMMIT_MESSAGE= CI_COMMIT_TAG_MESSAGE= 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:
    when: on_success
    paths:
      - public
  variables:
    QEMU_JOB_PUBLISH: 1

coverity:
  image: $CI_REGISTRY_IMAGE/qemu/fedora:$QEMU_CI_CONTAINER_TAG
  stage: build
  allow_failure: true
  timeout: 3h
  needs:
    - job: amd64-fedora-container
      optional: true
  before_script:
    - dnf install -y curl wget
  script:
    # would be nice to cancel the job if over quota (https://gitlab.com/gitlab-org/gitlab/-/issues/256089)
    # for example:
    #   curl --request POST --header "PRIVATE-TOKEN: $CI_JOB_TOKEN" "${CI_SERVER_URL}/api/v4/projects/${CI_PROJECT_ID}/jobs/${CI_JOB_ID}/cancel
    - 'scripts/coverity-scan/run-coverity-scan --check-upload-only || { exitcode=$?; if test $exitcode = 1; then
        exit 0;
      else
        exit $exitcode;
      fi; };
      scripts/coverity-scan/run-coverity-scan --update-tools-only > update-tools.log 2>&1 || { cat update-tools.log; exit 1; };
      scripts/coverity-scan/run-coverity-scan --no-update-tools'
  rules:
    - if: '$COVERITY_TOKEN == null'
      when: never
    - if: '$COVERITY_EMAIL == null'
      when: never
    # Never included on upstream pipelines, except for schedules
    - if: '$CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_PIPELINE_SOURCE == "schedule"'
      when: on_success
    - if: '$CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM'
      when: never
    # Forks don't get any pipeline unless QEMU_CI=1 or QEMU_CI=2 is set
    - if: '$QEMU_CI != "1" && $QEMU_CI != "2"'
      when: never
    # Always manual on forks even if $QEMU_CI == "2"
    - when: manual
