All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: "Radim Krčmář" <rkrcmar@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	kvm@vger.kernel.org
Cc: David Hildenbrand <david@redhat.com>,
	Janosch Frank <frankja@linux.ibm.com>
Subject: [kvm-unit-tests PULL 4/4] Add a .gitlab-ci.yml file for automatic CI testing on GitLab instances
Date: Fri, 19 Apr 2019 08:32:07 +0200	[thread overview]
Message-ID: <20190419063207.11474-5-thuth@redhat.com> (raw)
In-Reply-To: <20190419063207.11474-1-thuth@redhat.com>

When changing common code of the kvm-unit-tests, one should make sure that
the tests still compile fine for all target architectures afterwards. But
compiling kvm-unit-tests for all target architectures manually is cumbersome.
For people like me who store their git trees on GitLab, this can be done
automatically via a CI system instead. Using the .gitlab-ci.yml file, auto-
matic builds are now triggered on each push to a kvm-unit-test repository on
gitlab.com. Additionally, the script also runs the tests that can be executed
with QEMU TCG (except for s390x, since the QEMU package of the CI container
currently does not provide the required s390-ccw bios here).

Acked-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.yml | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)
 create mode 100644 .gitlab-ci.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..50a1e39
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,75 @@
+before_script:
+ - apt-get update -qq
+ - apt-get install -y -qq qemu-system
+
+build-aarch64:
+ script:
+ - apt-get install -y -qq gcc-aarch64-linux-gnu
+ - ./configure --arch=aarch64 --cross-prefix=aarch64-linux-gnu-
+ - make -j2
+ - ACCEL=tcg ./run_tests.sh
+     selftest-setup selftest-vectors-kernel selftest-vectors-user selftest-smp
+     pci-test pmu gicv2-active gicv3-active psci timer
+     | tee results.txt
+ - if grep -q FAIL results.txt ; then exit 1 ; fi
+
+build-arm:
+ script:
+ - apt-get install -y -qq gcc-arm-linux-gnueabi
+ - ./configure --arch=arm --cross-prefix=arm-linux-gnueabi-
+ - make -j2
+ - ACCEL=tcg ./run_tests.sh
+     selftest-setup selftest-vectors-kernel selftest-vectors-user selftest-smp
+     pci-test pmu gicv2-active gicv3-active psci
+     | tee results.txt
+ - if grep -q FAIL results.txt ; then exit 1 ; fi
+
+build-ppc64be:
+ script:
+ - apt-get install -y -qq gcc-powerpc64-linux-gnu
+ - ./configure --arch=ppc64 --endian=big --cross-prefix=powerpc64-linux-gnu-
+ - make -j2
+ - ACCEL=tcg ./run_tests.sh
+     selftest-setup 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:
+ script:
+ - apt-get install -y -qq gcc-powerpc64-linux-gnu
+ - ./configure --arch=ppc64 --endian=little --cross-prefix=powerpc64-linux-gnu-
+ - make -j2
+ - ACCEL=tcg ./run_tests.sh
+     selftest-setup 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-s390x:
+ script:
+ - apt-get install -y -qq gcc-s390x-linux-gnu
+ - ./configure --arch=s390x --cross-prefix=s390x-linux-gnu-
+ - make -j2
+
+build-x86_64:
+ script:
+ - ./configure --arch=x86_64
+ - make -j2
+ - ACCEL=tcg ./run_tests.sh
+     ioapic-split ioapic smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8
+     vmexit_mov_to_cr8 vmexit_inl_pmtimer  vmexit_ipi vmexit_ipi_halt
+     vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed
+     eventinj msr port80 sieve tsc rmap_chain umip hyperv_stimer intel_iommu
+     | tee results.txt
+ - if grep -q FAIL results.txt ; then exit 1 ; fi
+
+build-i386:
+ script:
+ - apt-get install -y -qq gcc-multilib
+ - ./configure --arch=i386
+ - make -j2
+ - ACCEL=tcg ./run_tests.sh
+     eventinj port80 sieve tsc taskswitch umip hyperv_stimer
+     | tee results.txt
+ - if grep -q FAIL results.txt ; then exit 1 ; fi
-- 
2.21.0


      parent reply	other threads:[~2019-04-19 18:18 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-19  6:32 [kvm-unit-tests PULL 0/4] s390x updates and gitlab-ci file Thomas Huth
2019-04-19  6:32 ` [kvm-unit-tests PULL 1/4] Add s390x/*.bin to the .gitignore file Thomas Huth
2019-04-19  6:32 ` [kvm-unit-tests PULL 2/4] s390x/skey: Skip the "iske" test when running under z/VM 6 Thomas Huth
2019-04-19  6:32 ` [kvm-unit-tests PULL 3/4] s390x: Add a test for the diagnose 0x308 hypercall Thomas Huth
2019-04-19  6:32 ` Thomas Huth [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190419063207.11474-5-thuth@redhat.com \
    --to=thuth@redhat.com \
    --cc=david@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=rkrcmar@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.