image: fedora:40

before_script:
 - dnf update -y
 - dnf install -y make python

# By default artifacts are only saved on success. This uses when:always
# because the test logs are important to help diagnose failures.
.intree_template:
 artifacts:
  when: always
  expire_in: 2 days
  when: always
  paths:
   - logs

.outoftree_template:
 artifacts:
  when: always
  expire_in: 2 days
  when: always
  paths:
   - build/logs

build-aarch64:
 extends: .intree_template
 script:
 - dnf install -y qemu-system-aarch64 gcc-aarch64-linux-gnu
 - ./configure --arch=aarch64 --cross-prefix=aarch64-linux-gnu-
 - make -j2
 - ACCEL=tcg MAX_SMP=8 ./run_tests.sh
      cache
      debug-bp
      debug-sstep
      debug-wp
      gicv2-active
      gicv2-ipi
      gicv2-mmio
      gicv3-active
      gicv3-ipi
      its-introspection
      its-trigger
      pci-test
      pmu-cycle-counter
      pmu-event-counter-config
      pmu-sw-incr
      selftest-setup
      selftest-smp
      selftest-vectors-kernel
      selftest-vectors-user
      timer
      | tee results.txt
 - grep -q PASS results.txt && ! grep -q FAIL results.txt

build-aarch64-efi:
 extends: .intree_template
 script:
 - dnf install -y qemu-system-aarch64 gcc-aarch64-linux-gnu edk2-aarch64
 - ./configure --arch=aarch64 --cross-prefix=aarch64-linux-gnu- --enable-efi --enable-efi-direct
 - make -j2
 - ACCEL=tcg MAX_SMP=8 ./run_tests.sh
      selftest-setup
      selftest-smp
      selftest-vectors-kernel
      selftest-vectors-user
      | tee results.txt
 - grep -q PASS results.txt && ! grep -q FAIL results.txt

build-aarch64-efi-acpi:
 extends: .intree_template
 script:
 - dnf install -y qemu-system-aarch64 gcc-aarch64-linux-gnu edk2-aarch64
 - ./configure --arch=aarch64 --cross-prefix=aarch64-linux-gnu- --enable-efi --enable-efi-direct
 - make -j2
 - EFI_USE_ACPI=y ACCEL=tcg MAX_SMP=8 ./run_tests.sh
      selftest-setup
      selftest-smp
      selftest-vectors-kernel
      selftest-vectors-user
      | tee results.txt
 - grep -q PASS results.txt && ! grep -q FAIL results.txt

build-arm:
 extends: .outoftree_template
 script:
 - dnf install -y qemu-system-arm gcc-arm-linux-gnu
 - mkdir build
 - cd build
 - ../configure --arch=arm --cross-prefix=arm-linux-gnu-
 - make -j2
 - ACCEL=tcg MAX_SMP=8 ./run_tests.sh
     selftest-setup selftest-vectors-kernel selftest-vectors-user selftest-smp
     pci-test pmu-cycle-counter gicv2-ipi gicv2-mmio gicv3-ipi gicv2-active
     gicv3-active
     | tee results.txt
 - grep -q PASS results.txt && ! grep -q FAIL results.txt

build-ppc64be:
 extends: .outoftree_template
 script:
 - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
 - mkdir build
 - cd build
 - ../configure --arch=ppc64 --endian=big --cross-prefix=powerpc64-linux-gnu-
 - make -j2
 - ACCEL=tcg ./run_tests.sh
      selftest-setup
      selftest-migration
      selftest-migration-skip
      spapr_hcall
      rtas-get-time-of-day
      rtas-get-time-of-day-base
      rtas-set-time-of-day
      emulator
      | tee results.txt
 - if grep -q FAIL results.txt ; then exit 1 ; fi

build-ppc64le:
 extends: .intree_template
 script:
 - dnf install -y qemu-system-ppc gcc-powerpc64-linux-gnu nmap-ncat
 - ./configure --arch=ppc64 --endian=little --cross-prefix=powerpc64-linux-gnu-
 - make -j2
 - ACCEL=tcg ./run_tests.sh
      selftest-setup
      selftest-migration
      selftest-migration-skip
      spapr_hcall
      rtas-get-time-of-day
      rtas-get-time-of-day-base
      rtas-set-time-of-day
      emulator
      | tee results.txt
 - if grep -q FAIL results.txt ; then exit 1 ; fi

build-riscv32:
 extends: .outoftree_template
 script:
 - dnf install -y qemu-system-riscv gcc-riscv64-linux-gnu
 - mkdir build
 - cd build
 - ../configure --arch=riscv32 --cross-prefix=riscv64-linux-gnu-
 - make -j2
 - printf "FOO=foo\nBAR=bar\nBAZ=baz\nMVENDORID=0\nMARCHID=0\nMIMPID=0\n" >test-env
 - ACCEL=tcg KVM_UNIT_TESTS_ENV=test-env ./run_tests.sh
      selftest
      sbi
      | tee results.txt
 - grep -q PASS results.txt && ! grep -q FAIL results.txt

build-riscv64:
 extends: .intree_template
 script:
 - dnf install -y qemu-system-riscv gcc-riscv64-linux-gnu
 - ./configure --arch=riscv64 --cross-prefix=riscv64-linux-gnu-
 - make -j2
 - printf "FOO=foo\nBAR=bar\nBAZ=baz\nMVENDORID=0\nMARCHID=0\nMIMPID=0\n" >test-env
 - ACCEL=tcg KVM_UNIT_TESTS_ENV=test-env ./run_tests.sh
      selftest
      sbi
      | tee results.txt
 - grep -q PASS results.txt && ! grep -q FAIL results.txt

build-riscv64-efi:
 extends: .intree_template
 script:
 - dnf install -y edk2-riscv64 qemu-system-riscv gcc-riscv64-linux-gnu
 - cp /usr/share/edk2/riscv/RISCV_VIRT_CODE.fd .
 - truncate -s 32M RISCV_VIRT_CODE.fd
 - ./configure --arch=riscv64 --cross-prefix=riscv64-linux-gnu- --enable-efi
 - make -j2
 - printf "FOO=foo\nBAR=bar\nBAZ=baz\nMVENDORID=0\nMARCHID=0\nMIMPID=0\n" >test-env
 - ACCEL=tcg KVM_UNIT_TESTS_ENV=test-env ./run_tests.sh
      selftest
      sbi
      | tee results.txt
 - grep -q PASS results.txt && ! grep -q FAIL results.txt

build-s390x:
 extends: .outoftree_template
 script:
 - dnf install -y qemu-system-s390x gcc-s390x-linux-gnu
 - mkdir build
 - cd build
 - ../configure --arch=s390x --cross-prefix=s390x-linux-gnu-
 - make -j2
 - ACCEL=tcg ./run_tests.sh
      adtl-status-no-vec-no-gs-tcg
      adtl-status-tcg
      cpumodel
      css
      diag10
      diag288
      diag308
      edat
      emulator
      epsw
      exittime
      firq-linear-cpu-ids-tcg
      firq-nonlinear-cpu-ids-tcg
      iep
      intercept
      mvpg
      sck
      sclp-1g
      sclp-3g
      selftest-setup
      sieve
      smp
      stsi
      tprot
      vector
      | tee results.txt
 - if grep -q FAIL results.txt ; then exit 1 ; fi

build-x86_64:
 extends: .intree_template
 script:
 - dnf install -y qemu-system-x86 gcc
 - ./configure --arch=x86_64
 - make -j2
 - ACCEL=tcg ./run_tests.sh
      eventinj
      intel_iommu
      ioapic-split
      memory
      pks
      pku
      rdpru
      realmode
      rmap_chain
      setjmp
      sieve
      smap
      smptest
      smptest3
      syscall
      tsc
      umip
      vmexit_cpuid
      vmexit_cr0_wp
      vmexit_cr4_pge
      vmexit_inl_pmtimer
      vmexit_ipi
      vmexit_ipi_halt
      vmexit_mov_from_cr8
      vmexit_mov_to_cr8
      vmexit_ple_round_robin
      vmexit_tscdeadline
      vmexit_tscdeadline_immed
      | tee results.txt
 - if grep -q FAIL results.txt ; then exit 1 ; fi

build-i386:
 extends: .outoftree_template
 script:
 - dnf install -y qemu-system-x86 gcc
 - mkdir build
 - cd build
 - ../configure --arch=i386
 - make -j2
 - ACCEL=tcg ./run_tests.sh
      cmpxchg8b
      eventinj
      realmode
      setjmp
      sieve
      smap
      smptest
      smptest3
      taskswitch
      tsc
      umip
      vmexit_cpuid
      vmexit_cr0_wp
      vmexit_cr4_pge
      vmexit_inl_pmtimer
      vmexit_ipi
      vmexit_ipi_halt
      vmexit_mov_from_cr8
      vmexit_mov_to_cr8
      vmexit_ple_round_robin
      vmexit_tscdeadline
      vmexit_tscdeadline_immed
      | tee results.txt
 - if grep -q FAIL results.txt ; then exit 1 ; fi

build-clang:
 extends: .intree_template
 script:
 - dnf install -y qemu-system-x86 clang
 - ./configure --arch=x86_64 --cc=clang
 - make -j2
 - ACCEL=tcg ./run_tests.sh
      eventinj
      intel_iommu
      ioapic-split
      memory
      pks
      pku
      rdpru
      rmap_chain
      setjmp
      sieve
      smap
      smptest
      smptest3
      syscall
      tsc
      umip
      vmexit_cpuid
      vmexit_cr0_wp
      vmexit_cr4_pge
      vmexit_inl_pmtimer
      vmexit_ipi
      vmexit_ipi_halt
      vmexit_mov_from_cr8
      vmexit_mov_to_cr8
      vmexit_ple_round_robin
      vmexit_tscdeadline
      vmexit_tscdeadline_immed
      | tee results.txt
 - grep -q PASS results.txt && ! grep -q FAIL results.txt

build-centos8:
 extends: .outoftree_template
 image: centos:8
 before_script:
# CentOS mirrors have changed, these sed scripts fixes the repos.
 - sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo
 - sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo
 - sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
 - yum update -y
 - yum install -y make qemu-kvm gcc
 script:
 - mkdir build
 - cd build
 - ../configure --arch=x86_64 --disable-pretty-print-stacks
 - make -j2
 - ACCEL=tcg ./run_tests.sh
      eventinj
      intel_iommu
      ioapic-split
      memory
      pks
      pku
      port80
      rdpru
      rmap_chain
      setjmp
      sieve
      smap
      smptest
      smptest3
      syscall
      tsc
      umip
      vmexit_cpuid
      vmexit_cr0_wp
      vmexit_cr4_pge
      vmexit_inl_pmtimer
      vmexit_ipi
      vmexit_ipi_halt
      vmexit_mov_from_cr8
      vmexit_mov_to_cr8
      vmexit_ple_round_robin
      vmexit_tscdeadline
      vmexit_tscdeadline_immed
      | tee results.txt
 - if grep -q FAIL results.txt ; then exit 1 ; fi
 - grep -q PASS results.txt && ! grep -q FAIL results.txt

# Cirrus-CI provides containers with macOS and Linux with KVM enabled,
# so we can test some scenarios there that are not possible with the
# gitlab-CI shared runners. We use the "cirrus-run" container from the
# libvirt project to start the jobs. See the following URL for more
# information how to set up your environment to use these containers:
#
#   https://gitlab.com/libvirt/libvirt/-/blob/v7.0.0/ci/README.rst
#
.cirrus_build_job_template: &cirrus_build_job_definition
 image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:latest
 before_script:
  - sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g"
        -e "s|[@]CI_COMMIT_REF_NAME@|$CI_COMMIT_REF_NAME|g"
        -e "s|[@]CI_COMMIT_SHA@|$CI_COMMIT_SHA|g"
        < ci/$CI_JOB_NAME.yml > ci/_$CI_JOB_NAME.yml
 script:
  - cirrus-run -v --show-build-log always ci/_$CI_JOB_NAME.yml
 only:
  variables:
   - $CIRRUS_GITHUB_REPO
   - $CIRRUS_API_TOKEN

cirrus-ci-fedora:
 <<: *cirrus_build_job_definition

cirrus-ci-macos-i386:
 <<: *cirrus_build_job_definition

cirrus-ci-macos-x86-64:
 <<: *cirrus_build_job_definition

s390x-kvm:
 extends: .intree_template
 before_script: []
 tags:
  - s390x-z15-vm
 script:
  - ./configure --arch=s390x
  - make -j$(nproc)
  - ACCEL=kvm ./run_tests.sh
      selftest-setup
      selftest-migration-skip
      cmm
      cpumodel
      css
      diag10
      diag288
      diag308
      emulator
      execute
      gs
      iep
      intercept
      migration
      migration-memory
      migration-sck
      migration-skey-parallel
      migration-skey-sequential
      pfmf
      sclp-1g
      sclp-3g
      sie
      sieve
      skrf
      sthyi
      stsi
      vector
      | tee results.txt
  - grep -q PASS results.txt && ! grep -q FAIL results.txt
 only:
  variables:
   - $S390X_Z15_RUNNER_AVAILABLE

check-kerneldoc:
  extends: .intree_template
  stage: build
  image: python:3.10-alpine
  needs: []
  script:
    - ./configure --arch=x86_64
    - make -s check-kerneldoc 2>&1 | tee docwarnings.txt
    - test -z `cat docwarnings.txt`
  before_script:
    - apk -U add bash make perl gcc
  allow_failure: true

check-shellcheck:
  extends: .intree_template
  stage: build
  image: python:3.10-alpine
  needs: []
  script:
    - ./configure --arch=x86_64
    - make -s shellcheck 2>&1 | tee shellcheckwarnings.txt
    - test -z `cat shellcheckwarnings.txt`
  before_script:
    - apk -U add bash make gcc shellcheck
  allow_failure: true

check-patch:
  extends: .intree_template
  stage: build
  image: python:3.10-alpine
  needs: []
  script:
    - scripts/check-patch.py
  before_script:
    - apk -U add git perl
  allow_failure: true
