From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: fam@euphon.net, "Thomas Huth" <thuth@redhat.com>,
minyihh@uci.edu, berrange@redhat.com, kuhn.chenqun@huawei.com,
f4bug@amsat.org, robhenry@microsoft.com,
"Willian Rampazzo" <willianr@redhat.com>,
mahmoudabdalghany@outlook.com, aaron@os.amperecomputing.com,
cota@braap.org,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
stefanha@redhat.com, crosa@redhat.com, pbonzini@redhat.com,
ma.mandourr@gmail.com, "Alex Bennée" <alex.bennee@linaro.org>,
aurelien@aurel32.net
Subject: [PATCH v2 01/39] Jobs based on custom runners: documentation and configuration placeholder
Date: Thu, 8 Jul 2021 20:09:03 +0100 [thread overview]
Message-ID: <20210708190941.16980-2-alex.bennee@linaro.org> (raw)
In-Reply-To: <20210708190941.16980-1-alex.bennee@linaro.org>
From: Cleber Rosa <crosa@redhat.com>
As described in the included documentation, the "custom runner" jobs
extend the GitLab CI jobs already in place. One of their primary
goals of catching and preventing regressions on a wider number of host
systems than the ones provided by GitLab's shared runners.
This sets the stage in which other community members can add their own
machine configuration documentation/scripts, and accompanying job
definitions. As a general rule, those newly added contributed jobs
should run as "non-gating", until their reliability is verified (AKA
"allow_failure: true").
Signed-off-by: Cleber Rosa <crosa@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Message-Id: <20210630012619.115262-2-crosa@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
docs/devel/ci.rst | 32 ++++++++++++++++++++++++++++++++
docs/devel/index.rst | 1 +
.gitlab-ci.d/custom-runners.yml | 14 ++++++++++++++
.gitlab-ci.d/qemu-project.yml | 1 +
4 files changed, 48 insertions(+)
create mode 100644 docs/devel/ci.rst
create mode 100644 .gitlab-ci.d/custom-runners.yml
diff --git a/docs/devel/ci.rst b/docs/devel/ci.rst
new file mode 100644
index 0000000000..064ffa9988
--- /dev/null
+++ b/docs/devel/ci.rst
@@ -0,0 +1,32 @@
+==
+CI
+==
+
+QEMU has configurations enabled for a number of different CI services.
+The most up to date information about them and their status can be
+found at::
+
+ https://wiki.qemu.org/Testing/CI
+
+Jobs on Custom Runners
+======================
+
+Besides the jobs run under the various CI systems listed before, there
+are a number additional jobs that will run before an actual merge.
+These use the same GitLab CI's service/framework already used for all
+other GitLab based CI jobs, but rely on additional systems, not the
+ones provided by GitLab as "shared runners".
+
+The architecture of GitLab's CI service allows different machines to
+be set up with GitLab's "agent", called gitlab-runner, which will take
+care of running jobs created by events such as a push to a branch.
+Here, the combination of a machine, properly configured with GitLab's
+gitlab-runner, is called a "custom runner".
+
+The GitLab CI jobs definition for the custom runners are located under::
+
+ .gitlab-ci.d/custom-runners.yml
+
+Custom runners entail custom machines. To see a list of the machines
+currently deployed in the QEMU GitLab CI and their maintainers, please
+refer to the QEMU `wiki <https://wiki.qemu.org/AdminContacts>`__.
diff --git a/docs/devel/index.rst b/docs/devel/index.rst
index 977c3893bd..da15273786 100644
--- a/docs/devel/index.rst
+++ b/docs/devel/index.rst
@@ -27,6 +27,7 @@ Contents:
migration
atomics
stable-process
+ ci
qtest
decodetree
secure-coding-practices
diff --git a/.gitlab-ci.d/custom-runners.yml b/.gitlab-ci.d/custom-runners.yml
new file mode 100644
index 0000000000..a07b27384c
--- /dev/null
+++ b/.gitlab-ci.d/custom-runners.yml
@@ -0,0 +1,14 @@
+# The CI jobs defined here require GitLab runners installed and
+# registered on machines that match their operating system names,
+# versions and architectures. This is in contrast to the other CI
+# jobs that are intended to run on GitLab's "shared" runners.
+
+# Different than the default approach on "shared" runners, based on
+# containers, the custom runners have no such *requirement*, as those
+# jobs should be capable of running on operating systems with no
+# compatible container implementation, or no support from
+# gitlab-runner. To avoid problems that gitlab-runner can cause while
+# reusing the GIT repository, let's enable the clone strategy, which
+# guarantees a fresh repository on each job run.
+variables:
+ GIT_STRATEGY: clone
diff --git a/.gitlab-ci.d/qemu-project.yml b/.gitlab-ci.d/qemu-project.yml
index 64cb2ba1da..dde8270301 100644
--- a/.gitlab-ci.d/qemu-project.yml
+++ b/.gitlab-ci.d/qemu-project.yml
@@ -9,3 +9,4 @@ include:
- local: '/.gitlab-ci.d/crossbuilds.yml'
- local: '/.gitlab-ci.d/buildtest.yml'
- local: '/.gitlab-ci.d/static_checks.yml'
+ - local: '/.gitlab-ci.d/custom-runners.yml'
--
2.20.1
next prev parent reply other threads:[~2021-07-08 19:28 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-08 19:09 [PATCH v2 for 6.1 00/39] testing and plugins pre-PR series Alex Bennée
2021-07-08 19:09 ` Alex Bennée [this message]
2021-07-08 19:09 ` [PATCH v2 02/39] Jobs based on custom runners: build environment docs and playbook Alex Bennée
2021-07-08 19:09 ` [PATCH v2 03/39] Jobs based on custom runners: docs and gitlab-runner setup playbook Alex Bennée
2021-07-08 19:09 ` [PATCH v2 04/39] Jobs based on custom runners: add job definitions for QEMU's machines Alex Bennée
2021-07-08 19:09 ` [PATCH v2 05/39] tests/tcg: also disable the signals test for plugins Alex Bennée
2021-07-08 20:12 ` Richard Henderson
2021-07-08 19:09 ` [PATCH v2 06/39] build: validate that system capstone works before using it Alex Bennée
2021-07-08 20:14 ` Richard Henderson
2021-07-08 19:09 ` [PATCH v2 07/39] gitlab: support for FreeBSD 12, 13 and macOS 11 via cirrus-run Alex Bennée
2021-07-08 19:09 ` [PATCH v2 08/39] cirrus: delete FreeBSD and macOS jobs Alex Bennée
2021-07-08 19:09 ` [PATCH v2 09/39] hw/usb/ccid: remove references to NSS Alex Bennée
2021-07-08 19:09 ` [PATCH v2 10/39] tests/docker: don't use BUILDKIT in GitLab either Alex Bennée
2021-07-08 19:09 ` [PATCH v2 11/39] tests/docker: use project specific container registries Alex Bennée
2021-07-08 19:09 ` [PATCH v2 12/39] tests/docker: use explicit docker.io registry Alex Bennée
2021-07-08 19:09 ` [PATCH v2 13/39] tests/docker: remove FEATURES env var from templates Alex Bennée
2021-07-08 19:09 ` [PATCH v2 14/39] tests/docker: fix sorting in package lists Alex Bennée
2021-07-08 19:09 ` [PATCH v2 15/39] tests/docker: fix mistakes in centos " Alex Bennée
2021-07-08 19:09 ` [PATCH v2 16/39] tests/docker: fix mistakes in fedora package list Alex Bennée
2021-07-08 19:09 ` [PATCH v2 17/39] tests/docker: fix mistakes in ubuntu package lists Alex Bennée
2021-07-08 19:09 ` [PATCH v2 18/39] tests/docker: remove mingw packages from Fedora Alex Bennée
2021-07-08 19:09 ` [PATCH v2 19/39] tests/docker: expand centos8 package list Alex Bennée
2021-07-08 19:09 ` [PATCH v2 20/39] tests/docker: expand fedora " Alex Bennée
2021-07-08 19:09 ` [PATCH v2 21/39] tests/docker: expand ubuntu1804 " Alex Bennée
2021-07-08 19:09 ` [PATCH v2 22/39] tests/docker: expand ubuntu2004 " Alex Bennée
2021-07-08 19:09 ` [PATCH v2 23/39] tests/docker: expand opensuse-leap " Alex Bennée
2021-07-08 19:09 ` [PATCH v2 24/39] tests/vm: update NetBSD to 9.2 Alex Bennée
2021-07-08 19:09 ` [PATCH v2 25/39] tests/vm: update openbsd to release 6.9 Alex Bennée
2021-07-08 19:09 ` [PATCH v2 26/39] tests/tcg: make test-mmap a little less aggressive Alex Bennée
2021-07-08 20:29 ` Richard Henderson
2021-07-09 10:51 ` Alex Bennée
2021-07-09 7:15 ` Thomas Huth
2021-07-08 19:09 ` [PATCH v2 27/39] plugins: fix-up handling of internal hostaddr for 32 bit Alex Bennée
2021-07-08 20:31 ` Richard Henderson
2021-07-08 19:09 ` [PATCH v2 28/39] meson.build: move TCG plugin summary output Alex Bennée
2021-07-08 19:39 ` Philippe Mathieu-Daudé
2021-07-08 20:31 ` Richard Henderson
2021-07-08 19:09 ` [PATCH v2 29/39] configure: don't allow plugins to be enabled for a non-TCG build Alex Bennée
2021-07-08 20:32 ` Richard Henderson
2021-07-08 19:09 ` [PATCH v2 30/39] configure: stop user enabling plugins on Windows for now Alex Bennée
2021-07-08 20:33 ` Richard Henderson
2021-07-08 19:09 ` [PATCH v2 31/39] tcg/plugins: enable by default for TCG builds Alex Bennée
2021-07-08 20:41 ` Richard Henderson
2021-07-08 19:09 ` [PATCH v2 32/39] contrib/plugins: enable -Wall for building plugins Alex Bennée
2021-07-08 20:44 ` Richard Henderson
2021-07-08 19:09 ` [PATCH v2 33/39] contrib/plugins: add execlog to log instruction execution and memory access Alex Bennée
2021-07-08 19:09 ` [PATCH v2 34/39] docs/devel: tcg-plugins: add execlog plugin description Alex Bennée
2021-07-08 19:09 ` [PATCH v2 35/39] plugins: Added a new cache modelling plugin Alex Bennée
2021-07-08 19:09 ` [PATCH v2 36/39] plugins/cache: Enable cache parameterization Alex Bennée
2021-07-08 19:09 ` [PATCH v2 37/39] plugins/cache: Added FIFO and LRU eviction policies Alex Bennée
2021-07-08 19:09 ` [PATCH v2 38/39] docs/devel: Added cache plugin to the plugins docs Alex Bennée
2021-07-08 19:09 ` [PATCH v2 39/39] MAINTAINERS: Added myself as a reviewer for TCG Plugins Alex Bennée
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=20210708190941.16980-2-alex.bennee@linaro.org \
--to=alex.bennee@linaro.org \
--cc=aaron@os.amperecomputing.com \
--cc=aurelien@aurel32.net \
--cc=berrange@redhat.com \
--cc=cota@braap.org \
--cc=crosa@redhat.com \
--cc=f4bug@amsat.org \
--cc=fam@euphon.net \
--cc=kuhn.chenqun@huawei.com \
--cc=ma.mandourr@gmail.com \
--cc=mahmoudabdalghany@outlook.com \
--cc=minyihh@uci.edu \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=robhenry@microsoft.com \
--cc=stefanha@redhat.com \
--cc=thuth@redhat.com \
--cc=wainersm@redhat.com \
--cc=willianr@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).