diff --git a/coin/instructions/coin_module_test_docs.qdocconf b/coin/instructions/coin_module_test_docs.qdocconf
new file mode 100644
index 00000000000..661240820a1
--- /dev/null
+++ b/coin/instructions/coin_module_test_docs.qdocconf
@@ -0,0 +1,9 @@
+# Fail the documentation test build if QDoc warnings exceed the limit.
+#
+# Submodule documentation projects can increase this base limit to
+# account for known warnings, for example:
+#
+# qtcore.qdocconf:
+# warninglimit += 1
+
+warninglimit = 10
diff --git a/doc/global/config.qdocconf b/doc/global/config.qdocconf
index 5cfce9232ef..136506ea461 100644
--- a/doc/global/config.qdocconf
+++ b/doc/global/config.qdocconf
@@ -34,3 +34,6 @@ qhp = true
# Disable writing host-specific paths into .index files
locationinfo = false
+
+# Include the warninglimit used for documentation testing in CI
+include(../../coin/instructions/coin_module_test_docs.qdocconf)
diff --git a/qmake/doc/qmake.qdocconf b/qmake/doc/qmake.qdocconf
index f0ab617801d..4de19f3f671 100644
--- a/qmake/doc/qmake.qdocconf
+++ b/qmake/doc/qmake.qdocconf
@@ -59,6 +59,3 @@ depends += \
qtxml
navigation.landingpage = "qmake Manual"
-
-# Fail the documentation build if there are more warnings than the limit
-warninglimit = 0
diff --git a/src/concurrent/doc/qtconcurrent.qdocconf b/src/concurrent/doc/qtconcurrent.qdocconf
index 1669a58b411..d83742f15d3 100644
--- a/src/concurrent/doc/qtconcurrent.qdocconf
+++ b/src/concurrent/doc/qtconcurrent.qdocconf
@@ -42,6 +42,3 @@ imagedirs += images
navigation.landingpage = "Qt Concurrent"
navigation.cppclassespage = "Qt Concurrent C++ Classes"
-
-# Fail the documentation build if there are more warnings than the limit
-warninglimit = 0
diff --git a/src/corelib/doc/qtcore.qdocconf b/src/corelib/doc/qtcore.qdocconf
index a3966397f85..e97aa07e72b 100644
--- a/src/corelib/doc/qtcore.qdocconf
+++ b/src/corelib/doc/qtcore.qdocconf
@@ -59,6 +59,3 @@ excludefiles += ../kernel/qtestsupport_core.cpp
navigation.landingpage = "Qt Core"
navigation.cppclassespage = "Qt Core C++ Classes"
-
-# Fail the documentation build if there are more warnings than the limit
-warninglimit = 0
diff --git a/src/dbus/doc/qtdbus.qdocconf b/src/dbus/doc/qtdbus.qdocconf
index 7befc5b9e7f..f45f98dd8f5 100644
--- a/src/dbus/doc/qtdbus.qdocconf
+++ b/src/dbus/doc/qtdbus.qdocconf
@@ -65,6 +65,3 @@ navigation.cppclassespage = "Qt D-Bus C++ Classes"
manifestmeta.thumbnail.names = "QtDBus/D-Bus Ping Pong" \
"QtDBus/D-Bus Complex Ping Pong"
-
-# Fail the documentation build if there are more warnings than the limit
-warninglimit = 0
diff --git a/src/gui/doc/qtgui.qdocconf b/src/gui/doc/qtgui.qdocconf
index 3698cf34df1..2c39cd3fc04 100644
--- a/src/gui/doc/qtgui.qdocconf
+++ b/src/gui/doc/qtgui.qdocconf
@@ -72,6 +72,3 @@ spurious += "Undocumented enum item '.*' in QGradient::Preset"
# \svgcolor {#ffdead}
macro.svgcolor.HTML = "
"
macro.svgcolor.DocBook = " "
-
-# Fail the documentation build if there are more warnings than the limit
-warninglimit = 0
diff --git a/src/network/doc/qtnetwork.qdocconf b/src/network/doc/qtnetwork.qdocconf
index e511d562e3e..4aca610e36e 100644
--- a/src/network/doc/qtnetwork.qdocconf
+++ b/src/network/doc/qtnetwork.qdocconf
@@ -39,6 +39,3 @@ imagedirs += images \
navigation.landingpage = "Qt Network"
navigation.cppclassespage = "Qt Network C++ Classes"
-
-# Fail the documentation build if there are more warnings than the limit
-warninglimit = 0
diff --git a/src/opengl/doc/qtopengl.qdocconf b/src/opengl/doc/qtopengl.qdocconf
index 58f16e7d2e5..4073bd140e3 100644
--- a/src/opengl/doc/qtopengl.qdocconf
+++ b/src/opengl/doc/qtopengl.qdocconf
@@ -64,6 +64,3 @@ qhp.QtOpenGL.subprojects.classes.sortPages = true
navigation.landingpage = "Qt OpenGL"
navigation.cppclassespage = "Qt OpenGL C++ Classes"
-
-# Fail the documentation build if there are more warnings than the limit
-warninglimit = 0
diff --git a/src/printsupport/doc/qtprintsupport.qdocconf b/src/printsupport/doc/qtprintsupport.qdocconf
index 1e72873e4da..28d6502c646 100644
--- a/src/printsupport/doc/qtprintsupport.qdocconf
+++ b/src/printsupport/doc/qtprintsupport.qdocconf
@@ -40,6 +40,3 @@ imagedirs += images \
navigation.landingpage = "Qt Print Support"
navigation.cppclassespage = "Qt Print Support C++ Classes"
-
-# Fail the documentation build if there are more warnings than the limit
-warninglimit = 0
diff --git a/src/sql/doc/qtsql.qdocconf b/src/sql/doc/qtsql.qdocconf
index 877411d3261..47c172d54b9 100644
--- a/src/sql/doc/qtsql.qdocconf
+++ b/src/sql/doc/qtsql.qdocconf
@@ -39,6 +39,3 @@ imagedirs += images \
navigation.landingpage = "Qt SQL"
navigation.cppclassespage = "Qt SQL C++ Classes"
-
-# Fail the documentation build if there are more warnings than the limit
-warninglimit = 0
diff --git a/src/testlib/doc/qttestlib.qdocconf b/src/testlib/doc/qttestlib.qdocconf
index 4330fe197a8..a5727e1d480 100644
--- a/src/testlib/doc/qttestlib.qdocconf
+++ b/src/testlib/doc/qttestlib.qdocconf
@@ -55,6 +55,3 @@ manifestmeta.thumbnail.names = "QtTestLib/Chapter *"
navigation.landingpage = "Qt Test"
navigation.cppclassespage = "Qt Test C++ Classes"
-
-# Fail the documentation build if there are more warnings than the limit
-warninglimit = 0
diff --git a/src/widgets/doc/qtwidgets.qdocconf b/src/widgets/doc/qtwidgets.qdocconf
index a63a2f5f2da..fb0e0d8cf14 100644
--- a/src/widgets/doc/qtwidgets.qdocconf
+++ b/src/widgets/doc/qtwidgets.qdocconf
@@ -61,6 +61,3 @@ imagedirs += images \
navigation.landingpage = "Qt Widgets"
navigation.cppclassespage = "Qt Widgets C++ Classes"
manifestmeta.highlighted.names = "QtWidgets/Qt Widgets - Application Example"
-
-# Fail the documentation build if there are more warnings than the limit
-warninglimit = 0
diff --git a/src/xml/doc/qtxml.qdocconf b/src/xml/doc/qtxml.qdocconf
index 0121cba668e..f11b7c6c0f9 100644
--- a/src/xml/doc/qtxml.qdocconf
+++ b/src/xml/doc/qtxml.qdocconf
@@ -38,6 +38,3 @@ navigation.cppclassespage = "Qt XML C++ Classes"
# Add a thumbnail for examples that do not have images
manifestmeta.thumbnail.names = "QtXml/XML Stream Lint Example"
-
-# Fail the documentation build if there are more warnings than the limit
-warninglimit = 0