mbox series

[v2,0/1] Jobs based on custom runners: add CentOS Stream 8

Message ID 20211111160501.862396-1-crosa@redhat.com
Headers show
Series Jobs based on custom runners: add CentOS Stream 8 | expand

Message

Cleber Rosa Nov. 11, 2021, 4:05 p.m. UTC
This adds a new custom runner, showing an example of how other
entities can add their own custom jobs to the GitLab CI pipeline.

The runner (the machine and job) is to be managed by Red Hat, and
adds, at the very least, bare metal x86_64 KVM testing capabilities to
the QEMU pipeline.  This brings extra coverage for some unittests, and
the ability to run the Avocado tests that depend on KVM.

The runner is already completely set up and registered to the
https://gitlab.com/qemu-project/qemu project instance.  Jobs will be
triggered according to the same rules for the jobs s390x and aarch64
jobs running on QEMU project's custom runners, that is, pushes to the
staging branch of the "qemu-project" project, or by setting a specific
variable.

Still, the job is set with mode "allow failures", so it should not
disrupt the existing pipeline.  Once its reliability is proved (rules
and service levels are to be determined), it can be "upgraded" to
a "gating" condition.

Even though the formal method of tracking machine/job maintainers have
not been formalized, it should be known that the contacts/admins for
this machine and job are:

 - Willian Rampazzo
   <willianr@redhat.com>
   willianr on #qemu

 - Cleber Rosa
   <crosa@redhat.com>
   clebergnu on #qemu

One example of a job introduced here, running on the host reserved for
this purpose can be seen at:

 - https://gitlab.com/cleber.gnu/qemu/-/jobs/1773761640

Changes from v1[1]:

 * Replaced "--disable-fdt" for "--enable-fdt", given that according
   to "TARGET_NEED_FDT=y" in "configs/targets/x86_64-softmmu.mak" it
   is required for x86_64-softmmu.

 * Added libfdt-devel to list of package requirements (see previous
   point for reasoning).

 * Removed patch 1 that contained a duplicate bug fix.

 * Removed patches 2 and 3 that implemented a "feature probe" and
   "feature requirement" that would cancel tests if features were not
   present.  That will be treated in a different patch series.

 * Removed --disable-jemalloc and --disabletcmalloc according to
   3b4da1329.

 * Introduced "test-avocado" script with a list of vetted tests

 * Do not install meson from CentOS Stream 8 PowerTools repo, instead
   meson from git submodule due to minimum version requirements.

 * Sync with commit f68d21ab8eac56c4097a3d63a8c86689bb507911 (HEAD of
   c8s-stream-rhel branch) from CentOS repo at
   https://git.centos.org/rpms/qemu-kvm/.

 * Further separated distribution version and architecture specific
   files into separate sub directories.

 * Added a gitlab CI rule and variable to allow other repos/users who
   have a CentOS Stream 8 x86_64 runner to trigger the job.

[1] https://lists.gnu.org/archive/html/qemu-devel/2021-06/msg02066.html

Cleber Rosa (1):
  Jobs based on custom runners: add CentOS Stream 8

 .gitlab-ci.d/custom-runners.yml               |  29 +++
 docs/devel/ci-jobs.rst.inc                    |   7 +
 .../org.centos/stream/8/build-environment.yml |  51 +++++
 .../ci/org.centos/stream/8/x86_64/configure   | 208 ++++++++++++++++++
 .../org.centos/stream/8/x86_64/test-avocado   |  70 ++++++
 scripts/ci/org.centos/stream/README           |  17 ++
 scripts/ci/setup/build-environment.yml        |  38 ++++
 7 files changed, 420 insertions(+)
 create mode 100644 scripts/ci/org.centos/stream/8/build-environment.yml
 create mode 100755 scripts/ci/org.centos/stream/8/x86_64/configure
 create mode 100755 scripts/ci/org.centos/stream/8/x86_64/test-avocado
 create mode 100644 scripts/ci/org.centos/stream/README

Comments

Alex Bennée Nov. 12, 2021, 9:23 a.m. UTC | #1
Cleber Rosa <crosa@redhat.com> writes:

> This adds a new custom runner, showing an example of how other
> entities can add their own custom jobs to the GitLab CI pipeline.
>
<snip>
>
> One example of a job introduced here, running on the host reserved for
> this purpose can be seen at:
>
>  - https://gitlab.com/cleber.gnu/qemu/-/jobs/1773761640

As I'm not going to be able to test myself I'll just queue this and we
can see it spring into live once merged ;-)

Queued to for-6.2/misc-fixes, thanks.