[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/2] QEMU Gating CI
From: |
Cleber Rosa |
Subject: |
[PATCH v2 0/2] QEMU Gating CI |
Date: |
Wed, 8 Jul 2020 22:46:55 -0400 |
The idea about a public facing Gating CI for QEMU was summarized in an
RFC[1]. Since then, it was decided that a simpler version should be
attempted first.
At this point, there are two specific runners (an aarch64 and an s390)
registered with GitLab, at https://gitlab.com/qemu-project, currently
setup to the "qemu" repository.
Changes from v1:
- Added jobs that require specific GitLab runners already available
(Ubuntu 20.04 on aarch64, and Ubuntu 18.04 on s390x)
- Removed jobs that require specific GitLab runners not yet available
(Fedora 30, FreeBSD 12.1)
- Updated documentation
- Added copyright and license to new scripts
- Moved script to from "contrib" to "scripts/ci/"
- Moved setup playbooks form "contrib" to "scripts/ci/setup"
- Moved "gating.yml" to ".gitlab-ci.d" directory
- Removed "staging" only branch restriction on jobs defined in
".gitlab-ci.yml", assumes that the additional jobs on the staging
branch running on the freely available gitlab shared runner are
positive
- Dropped patches 1-3 (already merged)
- Simplified amount of version specifity on Ubuntu, from 18.04.3 to
simply 18.04 (assumes no diverse minor levels will be used or
specific runners)
Changes from the RFC patches[2] accompanying the RFC document:
- Moved gating job definitions to .gitlab-ci-gating.yml
- Added info on "--disable-libssh" build option requirement
(https://bugs.launchpad.net/qemu/+bug/1838763) to Ubuntu 18.04 jobs
- Added info on "--disable-glusterfs" build option requirement
(there's no static version of those libs in distro supplied
packages) to one
- Dropped ubuntu-18.04.3-x86_64-notools job definition, because it
doesn't fall into the general scope of gating job described by PMM
(and it did not run any test)
- Added w32 and w64 cross builds based on Fedora 30
- Added a FreeBSD based job that builds all targets and runs `make
check`
- Added "-j`nproc`" and "-j`sysctl -n hw.ncpu`" options to make as a
simple but effective way of speeding up the builds and tests by
using a number of make jobs matching the number of CPUs
- Because the Ansible playbooks reference the content on Dockerfiles,
some fixes to some Dockerfiles caught in the process were included
- New patch with script to check or wait on a pipeline execution
[1] - https://lists.gnu.org/archive/html/qemu-devel/2019-12/msg00231.html
[2] - https://lists.gnu.org/archive/html/qemu-devel/2020-02/msg00154.html
Cleber Rosa (2):
GitLab Gating CI: introduce pipeline-status contrib script
GitLab Gating CI: initial set of jobs, documentation and scripts
.gitlab-ci.d/gating.yml | 146 +++++++++++++++++
.gitlab-ci.yml | 1 +
docs/devel/testing.rst | 147 +++++++++++++++++
scripts/ci/gitlab-pipeline-status | 156 ++++++++++++++++++
scripts/ci/setup/build-environment.yml | 217 +++++++++++++++++++++++++
scripts/ci/setup/gitlab-runner.yml | 72 ++++++++
scripts/ci/setup/inventory | 2 +
scripts/ci/setup/vars.yml | 13 ++
8 files changed, 754 insertions(+)
create mode 100644 .gitlab-ci.d/gating.yml
create mode 100755 scripts/ci/gitlab-pipeline-status
create mode 100644 scripts/ci/setup/build-environment.yml
create mode 100644 scripts/ci/setup/gitlab-runner.yml
create mode 100644 scripts/ci/setup/inventory
create mode 100644 scripts/ci/setup/vars.yml
--
2.25.4