qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 6baba9: docs: add definitions of terms for CI


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 6baba9: docs: add definitions of terms for CI/testing
Date: Fri, 03 Sep 2021 05:14:47 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 6baba9e53b176a2e1d07218124204ec1bdb4a07a
      
https://github.com/qemu/qemu/commit/6baba9e53b176a2e1d07218124204ec1bdb4a07a
  Author: Willian Rampazzo <willianr@redhat.com>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    A docs/devel/ci-definitions.rst
    M docs/devel/ci.rst

  Log Message:
  -----------
  docs: add definitions of terms for CI/testing

To understand the current state of QEMU CI/testing and have a base to
discuss the plans for the future, it is important to define some usual
terms. This patch defines the terms for "Automated tests", "Unit
testing", "Functional testing", "System testing", "Flaky tests",
"Gating", and "Continuous Integration".

Signed-off-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210831152939.97570-2-willianr@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 833836dbc1f769afd7ecabc33490fd9edc122233
      
https://github.com/qemu/qemu/commit/833836dbc1f769afd7ecabc33490fd9edc122233
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    M tests/qtest/libqtest.c

  Log Message:
  -----------
  libqtest: check for g_setenv() failure

g_setenv() can fail; check for it when starting a QEMU process
when we set the QEMU_AUDIO_DRV environment variable.

Because this happens after fork() reporting an exact message
via printf() is a bad idea; just exit(1), as we already do
for the case of execlp() failure.

Fixes: Coverity CID 1460117
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210820163750.9106-1-peter.maydell@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 98af856949121dae73e4bbf6954b304dedc05e72
      
https://github.com/qemu/qemu/commit/98af856949121dae73e4bbf6954b304dedc05e72
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    M .gitlab-ci.d/buildtest.yml

  Log Message:
  -----------
  gitlab-ci: Merge "build-disabled" with "build-without-default-features"

Both jobs are testing more or less the same thing (building QEMU with
features disabled), so we are wasting precious CI cycles here by doing
this twice. Merge the jobs by using --without-default-features by default
and just adding some additional --disable-... switches which are not
covered by the generic switch (yet). And while we're at it, also test
compilation with "--disable-fdt" (which forces us to change the list
of targets in this job, though, since some targets do not work without
fdt).

Message-Id: <20210730143809.717079-2-thuth@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 84fd64e931e46edc50fd268b9966a976592f7b0c
      
https://github.com/qemu/qemu/commit/84fd64e931e46edc50fd268b9966a976592f7b0c
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    M .gitlab-ci.d/buildtest.yml

  Log Message:
  -----------
  gitlab-ci: Remove superfluous "dnf install" statement

The container already features meson and ninja, so there is no need
to try to install it with dnf again.

Message-Id: <20210730143809.717079-3-thuth@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: f04689e960102efe878cd75c5f8f9fad4029e3c4
      
https://github.com/qemu/qemu/commit/f04689e960102efe878cd75c5f8f9fad4029e3c4
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    M .gitlab-ci.d/custom-runners.yml
    M docs/devel/ci-jobs.rst

  Log Message:
  -----------
  gitlab-ci: Fix ..._RUNNER_AVAILABLE variables and document them

The patch that recently introduced the S390X_RUNNER_AVAILABLE variable
in custom-runners.yml missed that the bottom half of the file is rather
about aarch64 than s390x. Thus rename the S390X_RUNNER_AVAILABLE to
AARCH64_RUNNER_AVAILABLE in those jobs.

Finally mention both variables in our CI documentation, too.

Fixes: c5dd0f0342 ("Improve rules for the staging branch")
Message-Id: <20210730143809.717079-4-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: a8143901018661d9ae6c017fd42e861f5149929b
      
https://github.com/qemu/qemu/commit/a8143901018661d9ae6c017fd42e861f5149929b
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    M .gitlab-ci.d/buildtest.yml

  Log Message:
  -----------
  gitlab-ci: Don't try to use the system libfdt in the debian job

libfdt in Debian is too old to be usable for QEMU. So far we were
silently falling back to the internal dtc submodule, but since
this is wrong, let's remove the --enable-fdt=system switch here now.

Message-Id: <20210827151718.178988-1-thuth@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: c94d3a6767bbfe055a8b9d199852d60f9f07517a
      
https://github.com/qemu/qemu/commit/c94d3a6767bbfe055a8b9d199852d60f9f07517a
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson.build: Fix the check for a usable libfdt

The check for libfdt currently has a flaw: If there is a system libfdt, the
meson.build code initialized the fdt variable with fdt = cc.find_library(...).
However, if this libfdt is too old and there is no internal dtc module
available, it continues with "fdt" pointing to the old and unusable version.
The check later in the file that tries to detect whether libfdt is necessary
then fails to trigger:

 if not fdt.found() and fdt_required.length() > 0
  error('fdt not available but required by targets ' + ', '.join(fdt_required))
 endif

The build fails then during compilation instead, which is of course bad
since this is quite confusing and already wasted quite some time of the user.
Thus if libfdt is not usable, we should unset the "fdt" variable immediately
again, so that the build already fails during the configuration phase.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/255
Message-Id: <20210827120901.150276-2-thuth@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 43b6732b11514dacf0bec898d65ba7de3cd1cc80
      
https://github.com/qemu/qemu/commit/43b6732b11514dacf0bec898d65ba7de3cd1cc80
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson.build: Don't use internal libfdt if the user requested the system libfdt

If the users ran configure with --enable-libfdt=system, they likely did
that on purpose. We should not silently fall back to the internal libfdt
if the system libfdt is not usable, but report the problem with a proper
message instead.

Message-Id: <20210827120901.150276-3-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: e8f9e384020e2060d9f87577e692b81bdcfbe168
      
https://github.com/qemu/qemu/commit/e8f9e384020e2060d9f87577e692b81bdcfbe168
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    M configure
    M contrib/vhost-user-gpu/meson.build
    M meson.build

  Log Message:
  -----------
  configure / meson: Move the GBM handling to meson.build

The GBM library detection does not need to be in the configure script,
since it does not have any user-facing options (there are no
--enable-gbm or --disable-gbm switches). Let's move it to meson.build
instead, so we don't have to clutter config-host.mak with the related
switches.

Additionally, only check for GBM if it is really required, i.e. if we
either compile with OpenGL or with virglrenderer support.

Message-Id: <20210714085045.797168-1-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: c5a3ab4b690b29350eafc23a9f137401f62fd3b2
      
https://github.com/qemu/qemu/commit/c5a3ab4b690b29350eafc23a9f137401f62fd3b2
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    R scripts/show-fixed-bugs.sh

  Log Message:
  -----------
  scripts: Remove the "show-fixed-bugs.sh" file

Since we are not using Launchpad anymore, there is no more need for
this script.

Message-Id: <20210825142143.142037-1-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 9553b5a5345ee6cb30e75528a251e666e1f29f12
      
https://github.com/qemu/qemu/commit/9553b5a5345ee6cb30e75528a251e666e1f29f12
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    M qemu-options.hx
    M softmmu/vl.c

  Log Message:
  -----------
  softmmu/vl: Add a "grab-mod" parameter to the -display sdl option

The -display sdl option is not using QAPI internally yet, and uses hand-
crafted parsing instead (see parse_display() in vl.c), which is quite
ugly, since most of the other code is using the QAPIfied DisplayOption
already. Unfortunately, the "alt_grab" and "ctrl_grab" use underscores in
their names which has recently been forbidden in new QAPI code, so
a straight conversion is not possible. While we could add some exceptions
to the QAPI schema parser for this, the way these parameters have been
designed was maybe a bad idea anyway: First, it's not possible to enable
both parameters at the same time, thus instead of two boolean parameters
it would be better to have only one multi-choice parameter instead.
Second, the naming is also somewhat unfortunate since the "alt_grab"
parameter is not about the ALT key, but rather about the left SHIFT key
that has to be used additionally when the parameter is enabled.

So instead of trying to QAPIfy "alt_grab" and "ctrl_grab", let's rather
introduce an alternative to these parameters instead, a new parameter
called "grab-mod" which can either be set to "lshift-lctrl-lalt" or to
"rctrl". In case we ever want to support additional modes later, we can
then also simply extend the list of supported strings here.

Message-Id: <20210825092023.81396-2-thuth@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 5185ee3635ab6466e9e74cbd6573f22b8a5e9419
      
https://github.com/qemu/qemu/commit/5185ee3635ab6466e9e74cbd6573f22b8a5e9419
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    M docs/about/deprecated.rst
    M qemu-options.hx
    M softmmu/vl.c

  Log Message:
  -----------
  softmmu/vl: Deprecate the old grab options

The alt_grab and ctrl_grab parameter of the -display sdl option prevent
the QAPIfication of the "sdl" part of the -display option, so we should
eventually remove them. And since this feature is also rather niche anyway,
we should not clutter the top-level option list with these, so let's
also deprecate the "-alt-grab" and the "-ctrl-grab" options while we're
at it.

Once the deprecation period of "alt_grab" and "ctrl_grab" is over, we
then can finally switch the -display sdl option to use QAPI internally,
too.

Message-Id: <20210825092023.81396-3-thuth@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Peter Krempa <pkrempa@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: c72dc94b74fb1686decc0ca4c2b05e5bf2e5b74b
      
https://github.com/qemu/qemu/commit/c72dc94b74fb1686decc0ca4c2b05e5bf2e5b74b
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    M docs/about/deprecated.rst
    M softmmu/vl.c

  Log Message:
  -----------
  softmmu/vl: Deprecate the -sdl and -curses option

It's not that much complicated to type "-display sdl" or "-display curses",
so we should not clutter our main option name space with such simple
wrapper options and rather present the users with a concise interface
instead. Thus let's deprecate the "-sdl" and "-curses" wrapper options now.

Message-Id: <20210825092023.81396-4-thuth@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Peter Krempa <pkrempa@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 7def721e90c75abb92b3b22531a0353f0787a0bb
      
https://github.com/qemu/qemu/commit/7def721e90c75abb92b3b22531a0353f0787a0bb
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-09-03 (Fri, 03 Sep 2021)

  Changed paths:
    M .gitlab-ci.d/buildtest.yml
    M .gitlab-ci.d/custom-runners.yml
    M configure
    M contrib/vhost-user-gpu/meson.build
    M docs/about/deprecated.rst
    A docs/devel/ci-definitions.rst
    M docs/devel/ci-jobs.rst
    M docs/devel/ci.rst
    M meson.build
    M qemu-options.hx
    R scripts/show-fixed-bugs.sh
    M softmmu/vl.c
    M tests/qtest/libqtest.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/thuth-gitlab/tags/pull-request-2021-09-02' into staging

* Add definitions of terms for CI/testing
* Fix g_setenv problem discovered by Coverity
* Gitlab CI improvements
* Build system improvements (configure script + meson.build)
* Removal of the show-fixed-bugs.sh script
* Clean up of the sdl and curses options

# gpg: Signature made Thu 02 Sep 2021 13:45:15 BST
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* remotes/thuth-gitlab/tags/pull-request-2021-09-02:
  softmmu/vl: Deprecate the -sdl and -curses option
  softmmu/vl: Deprecate the old grab options
  softmmu/vl: Add a "grab-mod" parameter to the -display sdl option
  scripts: Remove the "show-fixed-bugs.sh" file
  configure / meson: Move the GBM handling to meson.build
  meson.build: Don't use internal libfdt if the user requested the system libfdt
  meson.build: Fix the check for a usable libfdt
  gitlab-ci: Don't try to use the system libfdt in the debian job
  gitlab-ci: Fix ..._RUNNER_AVAILABLE variables and document them
  gitlab-ci: Remove superfluous "dnf install" statement
  gitlab-ci: Merge "build-disabled" with "build-without-default-features"
  libqtest: check for g_setenv() failure
  docs: add definitions of terms for CI/testing

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/8880cc4362fd...7def721e90c7



reply via email to

[Prev in Thread] Current Thread [Next in Thread]