pw_presubmit: Add new steps that combine tests

Add gn_full_build_check and gn_full_qemu_check.

Change-Id: Ic5d0709394ee856d74f392d213af19014d32c216
Bug: 328
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/34180
Reviewed-by: Wyatt Hepler <hepler@google.com>
Commit-Queue: Rob Mohr <mohrr@google.com>
diff --git a/pw_presubmit/py/pw_presubmit/pigweed_presubmit.py b/pw_presubmit/py/pw_presubmit/pigweed_presubmit.py
index 9e8b034..d015823 100755
--- a/pw_presubmit/py/pw_presubmit/pigweed_presubmit.py
+++ b/pw_presubmit/py/pw_presubmit/pigweed_presubmit.py
@@ -62,13 +62,6 @@
 
 
 @filter_paths(endswith=_BUILD_EXTENSIONS)
-def gn_quick_build_check(ctx: PresubmitContext):
-    build.gn_gen(ctx.root, ctx.output_dir)
-    build.ninja(ctx.output_dir, 'host_clang_size_optimized',
-                'stm32f429i_size_optimized', 'python.tests', 'python.lint')
-
-
-@filter_paths(endswith=_BUILD_EXTENSIONS)
 def gn_gcc_build(ctx: PresubmitContext):
     build.gn_gen(ctx.root, ctx.output_dir)
 
@@ -83,6 +76,28 @@
 
 
 @filter_paths(endswith=_BUILD_EXTENSIONS)
+def gn_quick_build_check(ctx: PresubmitContext):
+    build.gn_gen(ctx.root, ctx.output_dir)
+    build.ninja(ctx.output_dir, 'host_clang_size_optimized',
+                'stm32f429i_size_optimized', 'python.tests', 'python.lint')
+
+
+@filter_paths(endswith=_BUILD_EXTENSIONS)
+def gn_full_build_check(ctx: PresubmitContext):
+    build.gn_gen(ctx.root, ctx.output_dir)
+    build.ninja(ctx.output_dir, *_at_all_optimization_levels('host_clang'),
+                *_at_all_optimization_levels('stm32f429i'), 'python.tests',
+                'python.lint', 'docs')
+
+
+@filter_paths(endswith=_BUILD_EXTENSIONS)
+def gn_full_qemu_check(ctx: PresubmitContext):
+    build.gn_gen(ctx.root, ctx.output_dir)
+    build.ninja(ctx.output_dir, *_at_all_optimization_levels('qemu_gcc'),
+                *_at_all_optimization_levels('qemu_clang'))
+
+
+@filter_paths(endswith=_BUILD_EXTENSIONS)
 def gn_arm_build(ctx: PresubmitContext):
     build.gn_gen(ctx.root, ctx.output_dir)
     build.ninja(ctx.output_dir, *_at_all_optimization_levels('stm32f429i'))
@@ -494,6 +509,8 @@
     bazel_test,
     cmake_tests,
     gn_nanopb_build,
+    gn_full_build_check,
+    gn_full_qemu_check,
 )
 
 LINTFORMAT = (