[PATCH v2 00/25] testing/next (vm, gitlab, docker)

Alex Bennée posted 25 patches 3 years, 10 months ago
Test FreeBSD passed
Test docker-quick@centos7 passed
Test checkpatch passed
Test docker-mingw@fedora passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200624140446.15380-1-alex.bennee@linaro.org
configure                                     |  31 +-
.gitignore                                    |   1 +
.gitlab-ci.d/containers.yml                   | 250 +++++++++++++
.gitlab-ci.d/edk2.yml                         |   3 +-
.gitlab-ci.d/opensbi.yml                      |   3 +-
.gitlab-ci.yml                                | 275 +++++++++------
.travis.yml                                   |  23 --
python/qemu/console_socket.py                 | 110 ++++++
python/qemu/machine.py                        |  23 +-
tests/docker/Makefile.include                 |   5 +-
tests/docker/common.rc                        |   2 +-
tests/docker/docker.py                        |  27 +-
.../dockerfiles/debian-alpha-cross.docker     |   2 +-
.../dockerfiles/debian-amd64-cross.docker     |   2 +-
tests/docker/dockerfiles/debian-amd64.docker  |   2 +-
.../dockerfiles/debian-arm64-cross.docker     |   2 +-
.../debian-arm64-test-cross.docker            |   2 +-
.../dockerfiles/debian-armel-cross.docker     |   2 +-
.../dockerfiles/debian-armhf-cross.docker     |   2 +-
.../dockerfiles/debian-hppa-cross.docker      |   2 +-
.../dockerfiles/debian-m68k-cross.docker      |   2 +-
.../dockerfiles/debian-mips-cross.docker      |   2 +-
.../dockerfiles/debian-mips64-cross.docker    |   2 +-
.../dockerfiles/debian-mips64el-cross.docker  |   2 +-
.../dockerfiles/debian-mipsel-cross.docker    |   2 +-
.../dockerfiles/debian-powerpc-cross.docker   |   2 +-
.../dockerfiles/debian-ppc64-cross.docker     |   2 +-
.../dockerfiles/debian-ppc64el-cross.docker   |   2 +-
.../dockerfiles/debian-riscv64-cross.docker   |   2 +-
.../dockerfiles/debian-s390x-cross.docker     |   2 +-
.../dockerfiles/debian-sh4-cross.docker       |   2 +-
.../dockerfiles/debian-sparc64-cross.docker   |   2 +-
.../dockerfiles/debian-tricore-cross.docker   |   2 +-
.../dockerfiles/debian-win32-cross.docker     |   2 +-
.../dockerfiles/debian-win64-cross.docker     |   2 +-
tests/docker/dockerfiles/debian9-mxe.docker   |   2 +-
tests/qemu-iotests/051.pc.out                 |   4 +-
tests/vm/Makefile.include                     |  22 ++
tests/vm/aarch64vm.py                         | 106 ++++++
tests/vm/basevm.py                            | 332 +++++++++++++-----
tests/vm/centos-8-aarch64.ks                  |  51 +++
tests/vm/centos.aarch64                       | 227 ++++++++++++
tests/vm/conf_example_aarch64.yml             |  51 +++
tests/vm/conf_example_x86.yml                 |  50 +++
tests/vm/fedora                               |  17 +-
tests/vm/freebsd                              |  16 +-
tests/vm/netbsd                               |  19 +-
tests/vm/openbsd                              |  17 +-
tests/vm/ubuntu.aarch64                       |  68 ++++
tests/vm/ubuntu.i386                          |  46 +--
tests/vm/ubuntuvm.py                          |  60 ++++
51 files changed, 1565 insertions(+), 322 deletions(-)
create mode 100644 .gitlab-ci.d/containers.yml
create mode 100644 python/qemu/console_socket.py
create mode 100644 tests/vm/aarch64vm.py
create mode 100644 tests/vm/centos-8-aarch64.ks
create mode 100755 tests/vm/centos.aarch64
create mode 100644 tests/vm/conf_example_aarch64.yml
create mode 100644 tests/vm/conf_example_x86.yml
create mode 100755 tests/vm/ubuntu.aarch64
create mode 100644 tests/vm/ubuntuvm.py
[PATCH v2 00/25] testing/next (vm, gitlab, docker)
Posted by Alex Bennée 3 years, 10 months ago
Hi,

This is the current state of my testing/next queue. The main changes
from the last post:

  https://patchew.org/QEMU/20200622143204.12921-1-alex.bennee@linaro.org/

are the inclusion of Danial's excellent work to generate containers
which are stored in the gitlab registry and used as a basis for
the builds in gitlab (saving the manual apt/yum steps we used to do).

On top of those changes I've tried to tweak the tooling so a local
build can pull cached images from a REGISTRY. So far it doesn't seem
to be working although it does attempt to do it. I've included the
patches for review and in the hopes someone else can help debug what
else we need to do.

The following need review:

 - gitlab: split build-disabled into two phases
 - gitlab: enable check-tcg for linux-user tests
 - gitlab: add acceptance testing to system builds
 - tests/docker: add --registry support to tooling
 - gitlab: build containers with buildkit and metadata
 - .gitignore: un-ignore .gitlab-ci.d
 - tests/docker: change tag naming scheme of our images

Alex Bennée (11):
  tests/vm: switch from optsparse to argparse
  tests/vm: allow us to take advantage of MTTCG
  tests/docker: check for an parameters not empty string
  tests/docker: change tag naming scheme of our images
  .gitignore: un-ignore .gitlab-ci.d
  gitlab: build containers with buildkit and metadata
  tests/docker: add --registry support to tooling
  gitlab: add acceptance testing to system builds
  gitlab: enable check-tcg for linux-user tests
  gitlab: add avocado asset caching
  gitlab: split build-disabled into two phases

Daniel P. Berrangé (3):
  gitlab: introduce explicit "container" and "build" stages
  gitlab: build all container images during CI
  gitlab: convert jobs to use custom built containers

David Edmondson (1):
  crypto/linux_keyring: fix 'secret_keyring' configure test

Philippe Mathieu-Daudé (1):
  iotests: Fix 051 output after qdev_init_nofail() removal

Robert Foley (9):
  tests/vm: pass args through to BaseVM's __init__
  tests/vm: Add configuration to basevm.py
  tests/vm: Added configuration file support
  tests/vm: Add common Ubuntu python module
  tests/vm: Added a new script for ubuntu.aarch64.
  tests/vm: Added a new script for centos.aarch64.
  tests/vm: change scripts to use self._config
  python/qemu: Add ConsoleSocket for optional use in QEMUMachine
  tests/vm: Add workaround to consume console

 configure                                     |  31 +-
 .gitignore                                    |   1 +
 .gitlab-ci.d/containers.yml                   | 250 +++++++++++++
 .gitlab-ci.d/edk2.yml                         |   3 +-
 .gitlab-ci.d/opensbi.yml                      |   3 +-
 .gitlab-ci.yml                                | 275 +++++++++------
 .travis.yml                                   |  23 --
 python/qemu/console_socket.py                 | 110 ++++++
 python/qemu/machine.py                        |  23 +-
 tests/docker/Makefile.include                 |   5 +-
 tests/docker/common.rc                        |   2 +-
 tests/docker/docker.py                        |  27 +-
 .../dockerfiles/debian-alpha-cross.docker     |   2 +-
 .../dockerfiles/debian-amd64-cross.docker     |   2 +-
 tests/docker/dockerfiles/debian-amd64.docker  |   2 +-
 .../dockerfiles/debian-arm64-cross.docker     |   2 +-
 .../debian-arm64-test-cross.docker            |   2 +-
 .../dockerfiles/debian-armel-cross.docker     |   2 +-
 .../dockerfiles/debian-armhf-cross.docker     |   2 +-
 .../dockerfiles/debian-hppa-cross.docker      |   2 +-
 .../dockerfiles/debian-m68k-cross.docker      |   2 +-
 .../dockerfiles/debian-mips-cross.docker      |   2 +-
 .../dockerfiles/debian-mips64-cross.docker    |   2 +-
 .../dockerfiles/debian-mips64el-cross.docker  |   2 +-
 .../dockerfiles/debian-mipsel-cross.docker    |   2 +-
 .../dockerfiles/debian-powerpc-cross.docker   |   2 +-
 .../dockerfiles/debian-ppc64-cross.docker     |   2 +-
 .../dockerfiles/debian-ppc64el-cross.docker   |   2 +-
 .../dockerfiles/debian-riscv64-cross.docker   |   2 +-
 .../dockerfiles/debian-s390x-cross.docker     |   2 +-
 .../dockerfiles/debian-sh4-cross.docker       |   2 +-
 .../dockerfiles/debian-sparc64-cross.docker   |   2 +-
 .../dockerfiles/debian-tricore-cross.docker   |   2 +-
 .../dockerfiles/debian-win32-cross.docker     |   2 +-
 .../dockerfiles/debian-win64-cross.docker     |   2 +-
 tests/docker/dockerfiles/debian9-mxe.docker   |   2 +-
 tests/qemu-iotests/051.pc.out                 |   4 +-
 tests/vm/Makefile.include                     |  22 ++
 tests/vm/aarch64vm.py                         | 106 ++++++
 tests/vm/basevm.py                            | 332 +++++++++++++-----
 tests/vm/centos-8-aarch64.ks                  |  51 +++
 tests/vm/centos.aarch64                       | 227 ++++++++++++
 tests/vm/conf_example_aarch64.yml             |  51 +++
 tests/vm/conf_example_x86.yml                 |  50 +++
 tests/vm/fedora                               |  17 +-
 tests/vm/freebsd                              |  16 +-
 tests/vm/netbsd                               |  19 +-
 tests/vm/openbsd                              |  17 +-
 tests/vm/ubuntu.aarch64                       |  68 ++++
 tests/vm/ubuntu.i386                          |  46 +--
 tests/vm/ubuntuvm.py                          |  60 ++++
 51 files changed, 1565 insertions(+), 322 deletions(-)
 create mode 100644 .gitlab-ci.d/containers.yml
 create mode 100644 python/qemu/console_socket.py
 create mode 100644 tests/vm/aarch64vm.py
 create mode 100644 tests/vm/centos-8-aarch64.ks
 create mode 100755 tests/vm/centos.aarch64
 create mode 100644 tests/vm/conf_example_aarch64.yml
 create mode 100644 tests/vm/conf_example_x86.yml
 create mode 100755 tests/vm/ubuntu.aarch64
 create mode 100644 tests/vm/ubuntuvm.py

-- 
2.20.1