qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: fam@euphon.net, "Thomas Huth" <thuth@redhat.com>,
	berrange@redhat.com, "Alex Bennée" <alex.bennee@linaro.org>,
	richard.henderson@linaro.org, f4bug@amsat.org,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	cota@braap.org, aurelien@aurel32.net
Subject: [PATCH  v1 15/18] .gitlab: add acceptance testing to system builds
Date: Mon, 22 Jun 2020 15:32:01 +0100	[thread overview]
Message-ID: <20200622143204.12921-16-alex.bennee@linaro.org> (raw)
In-Reply-To: <20200622143204.12921-1-alex.bennee@linaro.org>

As part of migrating things from Travis to GitLab add the acceptance
tests. To do this:

  - split system1 into ubuntu-main and debian-alt
  - use artifacts to save build stage
  - rename system2 to fedora-misc
  - split into build/check/acceptance
  - remove -j from check stages
  - add packages needed for acceptance
  - add post acceptance template and use

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .gitlab-ci.yml | 122 ++++++++++++++++++++++++++++++++++++++++++++++---
 .travis.yml    |  23 ----------
 2 files changed, 115 insertions(+), 30 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 349c77aa580..fc3a561d9bc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,3 +1,15 @@
+#
+# Currently we have two build stages:
+#  - build (for traditional build and test or first stage build)
+#  - test (for test stages, using build artefacts from a build stage)
+stages:
+  - build
+  - test
+
+variables:
+  BASE_CONFIG: "--disable-docs"
+  MAIN_SOFTMMU_TARGETS: "aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
+
 include:
   - local: '/.gitlab-ci.d/edk2.yml'
   - local: '/.gitlab-ci.d/opensbi.yml'
@@ -16,22 +28,93 @@ include:
         make python3 perl-podlators perl-Test-Harness pixman-devel zlib-devel
   - JOBS=$(expr $(nproc) + 1)
 
-build-system1:
+.post_acceptance_template: &post_acceptance
+  after_script:
+    - python3 -c 'import json; r = json.load(open("tests/results/latest/results.json")); [print(t["logfile"]) for t in r["tests"] if t["status"] not in ("PASS", "SKIP")]' | xargs cat
+      - du -chs $HOME/avocado/data/cache
+
+build:system-ubuntu-main:
  image: ubuntu:19.10
+ stage: build
  <<: *before_script_apt
  script:
  - apt-get install -y -qq libgtk-3-dev libvte-dev nettle-dev libcacard-dev
       libusb-dev libvde-dev libspice-protocol-dev libgl1-mesa-dev libvdeplug-dev
  - mkdir build
  - cd build
- - ../configure --enable-werror --target-list="aarch64-softmmu alpha-softmmu
-      cris-softmmu hppa-softmmu lm32-softmmu moxie-softmmu microblazeel-softmmu
-      mips64el-softmmu m68k-softmmu ppc-softmmu riscv64-softmmu sparc-softmmu"
+ - ../configure ${BASE_CONFIG} --enable-werror --target-list="${MAIN_SOFTMMU_TARGETS}"
  - make -j"$JOBS"
- - make -j"$JOBS" check
+ artifacts:
+   paths:
+     - build
 
-build-system2:
+check:system-ubuntu-main:
+ image: ubuntu:19.10
+ stage: test
+ dependencies:
+ - build:system-ubuntu-main
+ <<: *before_script_apt
+ script:
+ - cd build
+ - make check
+
+acceptance:system-ubuntu-main:
+ image: ubuntu:19.10
+ stage: test
+ dependencies:
+ - build:system-ubuntu-main
+ <<: *before_script_apt
+ script:
+ - DEBIAN_FRONTEND=noninteractive apt-get install -y -qq
+    python3-pil python3-pip python3-numpy python3-opencv python3-venv
+    rpm2cpio tesseract-ocr tesseract-ocr-eng
+ - cd build
+ - make check-acceptance
+ <<: *post_acceptance
+
+build:system-debian-alt:
+ image: debian:buster-slim
+ stage: build
+ <<: *before_script_apt
+ script:
+ - apt-get install -y -qq libgtk-3-dev libvte-dev nettle-dev libcacard-dev
+      libusb-dev libvde-dev libspice-protocol-dev libgl1-mesa-dev libvdeplug-dev
+ - mkdir build
+ - cd build
+ - ../configure ${BASE_CONFIG} --enable-werror --disable-user
+     --target-list-exclude="${MAIN_SOFTMMU_TARGETS}"
+ - make -j"$JOBS"
+ artifacts:
+   paths:
+     - build
+
+check:system-debian-alt:
+ image: debian:buster-slim
+ stage: test
+ dependencies:
+ - build:system-debian-alt
+ <<: *before_script_apt
+ script:
+ - cd build
+ - make check
+
+acceptance:system-debian-alt:
+ image: debian:buster-slim
+ stage: test
+ dependencies:
+ - build:system-debian-alt
+ <<: *before_script_apt
+ script:
+ - DEBIAN_FRONTEND=noninteractive apt-get install -y -qq
+    python3-pil python3-pip python3-numpy python3-opencv python3-venv
+    rpm2cpio tesseract-ocr tesseract-ocr-eng
+ - cd build
+ - make check-acceptance
+ <<: *post_acceptance
+
+build:system-fedora-misc:
  image: fedora:latest
+ stage: build
  <<: *before_script_dnf
  script:
  - yum install -y SDL2-devel libgcrypt-devel brlapi-devel libaio-devel
@@ -43,7 +126,32 @@ build-system2:
       microblaze-softmmu mips-softmmu riscv32-softmmu s390x-softmmu sh4-softmmu
       sparc64-softmmu x86_64-softmmu xtensa-softmmu nios2-softmmu or1k-softmmu"
  - make -j"$JOBS"
- - make -j"$JOBS" check
+ artifacts:
+   paths:
+     - build
+
+check:system-fedora-misc:
+ image: fedora:latest
+ stage: test
+ dependencies:
+ - build:system-fedora-misc
+ <<: *before_script_dnf
+ script:
+ - cd build
+ - make check
+
+acceptance:system-fedora-misc:
+ image: fedora:latest
+ stage: test
+ dependencies:
+ - build:system-fedora-misc
+ <<: *before_script_dnf
+ script:
+ - yum install -y python3-pillow python3-pip python3-numpy python3-opencv
+       python3-virtualenv tesseract tesseract-langpack-eng
+ - cd build
+ - make check-acceptance
+ <<: *post_acceptance
 
 build-disabled:
  image: fedora:latest
diff --git a/.travis.yml b/.travis.yml
index 74158f741b1..c24dfbe377f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -289,29 +289,6 @@ jobs:
       python: 3.6
 
 
-    # Acceptance (Functional) tests
-    - name: "GCC check-acceptance"
-      dist: bionic
-      env:
-        - CONFIG="--enable-tools --target-list=aarch64-softmmu,alpha-softmmu,arm-softmmu,m68k-softmmu,microblaze-softmmu,mips-softmmu,mips64el-softmmu,nios2-softmmu,or1k-softmmu,ppc-softmmu,ppc64-softmmu,s390x-softmmu,sh4-softmmu,sparc-softmmu,x86_64-softmmu,xtensa-softmmu"
-        - TEST_CMD="make check-acceptance"
-        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-acceptance"
-      after_script:
-        - python3 -c 'import json; r = json.load(open("tests/results/latest/results.json")); [print(t["logfile"]) for t in r["tests"] if t["status"] not in ("PASS", "SKIP")]' | xargs cat
-        - du -chs $HOME/avocado/data/cache
-      addons:
-        apt:
-          packages:
-            - python3-pil
-            - python3-pip
-            - python3-numpy
-            - python3-opencv
-            - python3-venv
-            - rpm2cpio
-            - tesseract-ocr
-            - tesseract-ocr-eng
-
-
     # Using newer GCC with sanitizers
     - name: "GCC9 with sanitizers (softmmu)"
       addons:
-- 
2.20.1



  parent reply	other threads:[~2020-06-22 14:51 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-22 14:31 [PATCH v1 00/18] testing/next (vm, gitlab) Alex Bennée
2020-06-22 14:31 ` [PATCH v1 01/18] iotests: Fix 051 output after qdev_init_nofail() removal Alex Bennée
2020-06-22 17:52   ` John Snow
2020-06-22 17:57     ` Philippe Mathieu-Daudé
2020-06-22 18:23     ` Alex Bennée
2020-06-22 14:31 ` [PATCH v1 02/18] tests/vm: pass args through to BaseVM's __init__ Alex Bennée
2020-06-22 14:31 ` [PATCH v1 03/18] tests/vm: Add configuration to basevm.py Alex Bennée
2020-06-22 14:31 ` [PATCH v1 04/18] tests/vm: Added configuration file support Alex Bennée
2020-06-22 14:31 ` [PATCH v1 05/18] tests/vm: Add common Ubuntu python module Alex Bennée
2020-06-22 14:31 ` [PATCH v1 06/18] tests/vm: Added a new script for ubuntu.aarch64 Alex Bennée
2020-06-22 14:31 ` [PATCH v1 07/18] tests/vm: Added a new script for centos.aarch64 Alex Bennée
2020-06-22 14:31 ` [PATCH v1 08/18] tests/vm: change scripts to use self._config Alex Bennée
2020-06-22 14:31 ` [PATCH v1 09/18] python/qemu: Add ConsoleSocket for optional use in QEMUMachine Alex Bennée
2020-06-22 14:31 ` [PATCH v1 10/18] tests/vm: Add workaround to consume console Alex Bennée
2020-06-22 14:31 ` [PATCH v1 11/18] tests/vm: switch from optsparse to argparse Alex Bennée
2020-06-22 17:11   ` Robert Foley
2020-06-22 17:20   ` Daniel P. Berrangé
2020-06-22 14:31 ` [PATCH v1 12/18] tests/vm: allow us to take advantage of MTTCG Alex Bennée
2020-06-22 14:52   ` Robert Foley
2020-06-26 18:30   ` Richard Henderson
2020-06-26 19:37     ` Alex Bennée
2020-06-29 14:41     ` Alex Bennée
2020-06-29 14:45       ` Philippe Mathieu-Daudé
2020-06-22 14:31 ` [PATCH v1 13/18] tests/docker: check for an parameters not empty string Alex Bennée
2020-06-22 14:46   ` Philippe Mathieu-Daudé
2020-06-29 16:15   ` Eric Blake
2020-06-22 14:32 ` [PATCH v1 14/18] .gitignore: un-ignore .gitlab-ci.d Alex Bennée
2020-06-22 16:29   ` Daniel P. Berrangé
2020-06-22 14:32 ` Alex Bennée [this message]
2020-06-22 14:32 ` [PATCH v1 16/18] .gitlab: split fedora-misc-disabled Alex Bennée
2020-06-22 14:32 ` [PATCH v1 17/18] .gitlab: tag remaining jobs as builds Alex Bennée
2020-06-22 14:32 ` [PATCH v1 18/18] .gitlab: add avocado asset caching Alex Bennée
2020-06-22 14:45   ` Philippe Mathieu-Daudé

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=20200622143204.12921-16-alex.bennee@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=aurelien@aurel32.net \
    --cc=berrange@redhat.com \
    --cc=cota@braap.org \
    --cc=f4bug@amsat.org \
    --cc=fam@euphon.net \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@redhat.com \
    --cc=wainersm@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).