pw_presubmit: add QEMU as a broken presubmit check

Adds QEMU as a broken presubmit check so CQ can build the QEMU target as
an experimental build until it is fixed and can be added to blocking CQ
builds.

Change-Id: Ie88aea4c674384fcf507b8e5272afb7558ab7288
diff --git a/pw_presubmit/py/pw_presubmit/pigweed_presubmit.py b/pw_presubmit/py/pw_presubmit/pigweed_presubmit.py
index 71f7ce6..ff6a2f9 100755
--- a/pw_presubmit/py/pw_presubmit/pigweed_presubmit.py
+++ b/pw_presubmit/py/pw_presubmit/pigweed_presubmit.py
@@ -86,15 +86,21 @@
     build.ninja(ctx.output_dir)
 
 
+_QEMU_GEN_ARGS = build.gn_args(
+    pw_target_config='"//targets/lm3s6965evb-qemu/target_config.gni"')
+
+
+@filter_paths(endswith=format_code.C_FORMAT.extensions)
+def gn_qemu_build(ctx: PresubmitContext):
+    build.gn_gen(ctx.repo_root, ctx.output_dir, _QEMU_GEN_ARGS)
+    build.ninja(ctx.output_dir)
+
+
 def gn_docs_build(ctx: PresubmitContext):
     build.gn_gen(ctx.repo_root, ctx.output_dir, _DOCS_GEN_ARGS)
     build.ninja(ctx.output_dir, 'docs:docs')
 
 
-_QEMU_GEN_ARGS = build.gn_args(
-    pw_target_config='"//targets/lm3s6965evb-qemu/target_config.gni"')
-
-
 def gn_host_tools(ctx: PresubmitContext):
     build.gn_gen(ctx.repo_root,
                  ctx.output_dir,
@@ -309,6 +315,10 @@
     # Host tools are not broken but take long on slow internet connections.
     # They're still run in CQ, but not in 'pw presubmit'.
     gn_host_tools,
+
+    # QEMU build. Currently doesn't have test runners, and can't build one
+    # of the fuzzing targets.
+    gn_qemu_build,
 )
 
 QUICK = (