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
next prev 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).