All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] docs/about: propose OS platform/arch support tiers
@ 2026-01-15 18:01 Daniel P. Berrangé
  2026-01-15 20:39 ` BALATON Zoltan
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Daniel P. Berrangé @ 2026-01-15 18:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Philippe Mathieu-Daudé, Peter Maydell, Stefan Hajnoczi,
	Markus Armbruster, Thomas Huth, Richard Henderson, Paolo Bonzini,
	Daniel P. Berrangé

Informally we have approximately three groups of platforms

 * Tier 1: fully built and fully tested by CI. Must always be
           kept working & regressions fixed immediately

 * Tier 2: fully built and partially tested by CI. Should
           always be kept working & regressions fixed quickly

 * Tier 3: code exists but is not built or tested by CI.
           Should not be intentionally broken but not
	   guaranteed to work at any time. Downstream must
	   manually test, report & fix bugs.

Anything else is "unclassified" and any historical code
remnants may be removed.

It is somewhat tricky to define unambiguous rules for each tier,
but this doc takes a stab at it. We don't need to cover every
eventuality. If we get the core points of view across, then it
at least sets the direction for maintainers/contributors/users.
Other aspects can be inferred with greater accuracy than today.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---

This came out of the discussion about recent unnoticed breakage
in NetBSD builds and what maintainers are expected todo about
it (if anything)

  https://lists.nongnu.org/archive/html/qemu-devel/2026-01/msg02543.html

 docs/about/build-platforms.rst | 152 +++++++++++++++++++++++++++++++++
 1 file changed, 152 insertions(+)

diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
index e95784cdb5..950e164c02 100644
--- a/docs/about/build-platforms.rst
+++ b/docs/about/build-platforms.rst
@@ -171,3 +171,155 @@ Only 64-bit Windows is supported.
 .. _MacPorts: https://www.macports.org/
 .. _MSYS2: https://www.msys2.org/
 .. _Repology: https://repology.org/
+
+OS Support Tiers
+----------------
+
+While the QEMU code targets a number of different OS platforms, they don't
+all get the same level of support from the project. This applies to
+contributor & maintainer expectations, CI automation and requirements
+for merge gating.
+
+Tier 1
+~~~~~~
+
+These platforms attain the highest level of quality offered by
+the QEMU project.
+
+ * Builds and all tests pass at all times in both git HEAD and releases
+
+ * Builds for multiple build configuration are integrated in CI
+
+ * Runs all available tests frameworks (unit, qtest, iotests, functional)
+   in CI
+
+ * Merging code is gated on successful CI jobs
+
+This covers
+
+ * Linux (x86_64, aarch64, s390x)
+
+Responsibilities:
+
+ * Contributors MUST test submitted patches on one of Tier 1 platforms.
+
+ * Contributors SHOULD test submitted patches on Tier 1 platforms
+   by running a GitLab CI pipeline in their fork.
+
+ * Maintainers MUST request contributors to fix problems with Tier 1
+   platforms.
+
+ * Maintainers MUST test pull requests on Tier 1 platforms
+   by running a GitLab CI pipeline in their fork.
+
+ * Maintainers MUST co-ordinate fixing regressions identified
+   post-merge immediately.
+
+
+Tier 2
+~~~~~~
+
+These platforms are considered to be near Tier 1 level, but are
+lacking sufficient automated CI testing cover to guarantee this.
+
+ * Builds and all tests pass at all times in both git HEAD and releases
+
+ * Builds for multiple build configuration are integrated in CI
+
+ * Runs some test frameworks in CI
+
+This covers
+
+ * Linux (mips64el, ppc64el, riscv64)
+
+ * FreeBSD (x86_64)
+
+ * macOS (aarch64)
+
+ * Windows (x86_64)
+
+Responsibilities:
+
+ * Contributors MAY test patches on Tier 2 platforms
+   by running a GitLab CI pipeline in their fork
+
+ * Maintainers SHOULD request contributors to fix problems with Tier 2
+   platforms.
+
+ * Maintainers MUST test pull requests on all Tier 2 platforms,
+   by running a GitLab CI pipeline in their fork.
+
+ * Maintainers MUST co-ordinate fixing regressions identified
+   post-merge quickly.
+
+
+Tier 3
+~~~~~~
+
+These platforms have theoretical support in the code, but have
+little, or no, automated build and test coverage. Downstream
+consumers (users or distributors) who care about these platforms
+are requested to perform manual testing, report bugs and provide
+patches.
+
+ * Builds and tests may be broken at any time in Git HEAD and
+   releases
+
+ * Builds are not integrated into CI
+
+ * Tests are not integrated into CI
+
+ * Merging code is not gated
+
+This covers:
+
+ * NetBSD
+ * OpenBSD
+ * macOS (except aarch64)
+ * FreeBSD (except x86_64)
+ * Windows (except x86_64)
+ * Solaris
+
+Responsibilities:
+
+ * Contributors MAY test patches on Tier 3 platforms manually
+
+ * Maintainers MAY request contributors to fix problems
+   on Tier 3 platforms
+
+ * Maintainers MAY test patches on Tier 3 platforms manually
+
+ * Maintainers SHOULD NOT accept patches that remove code
+   targetting Tier 3 platforms even if currently broken
+
+ * Downstream vendors SHOULD test RC releases on Tier 3 platforms
+   and provide bug reports and patches to address problems
+
+Note: if a Tier 3 platform is found to be significantly broken,
+no patches are contributed for a prolonged period, and there is
+no sign of downstream usage, it is liable to be moved to
+"Unclassified" and thus be subject to removal.
+
+
+Unclassified
+~~~~~~~~~~~~
+
+These platforms are not intended to be supported in the code
+and outside the scope of any support tiers.
+
+  * Code supporting these platforms can removed at any time
+  * Bugs reports related to these platforms will generally
+    be ignored
+
+This covers:
+
+ * All 32-bit architectures on any OS
+ * Any OS not listed above
+
+Responsibilities:
+
+ * Maintainers MAY decline patches that add code targetting
+   unclassified platforms
+
+ * Maintainers MAY accept patches that remove code targetting
+   unclassified platforms
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-01-16 18:07 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-15 18:01 [PATCH] docs/about: propose OS platform/arch support tiers Daniel P. Berrangé
2026-01-15 20:39 ` BALATON Zoltan
2026-01-16 10:05   ` Daniel P. Berrangé
2026-01-15 20:48 ` Pierrick Bouvier
2026-01-16 10:46   ` Daniel P. Berrangé
2026-01-16 18:01     ` Pierrick Bouvier
2026-01-15 20:56 ` Thomas Huth
2026-01-16 10:10   ` Daniel P. Berrangé
2026-01-15 22:09 ` Stefan Hajnoczi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.