Create dev/ci.yaml (#79396)

diff --git a/.ci.yaml b/.ci.yaml
new file mode 100644
index 0000000..01ed15a
--- /dev/null
+++ b/.ci.yaml
@@ -0,0 +1,31 @@
+# Describes the targets run in continuous integration environment.
+#
+# Cocoon[1] uses this file to generate a checklist of tasks to be performed for
+# every commit.
+#
+# [1] github.com/flutter/cocoon
+#
+# Required properties:
+# * name: human readable, unique string identifier that describes the target
+# * builder: name of the LUCI builder to run the target on
+#       See https://cs.opensource.google/flutter/infra/+/master:config/
+#
+# Optional properties:
+# * bringup: boolean hether the target can block the tree.
+#       Targets should be marked as bringup when newly added, until they have
+#       soaked for a 25 runs. Tragets that are flaky but not being actively worked
+#       on should be hidden because they just cause confusion otherwise.
+# * dependencies: List<String> of target names this target is dependent on.
+#       This only supports one parent target, and when that target completes
+#       successfully, this target will be started.
+#       Child targets can reuse artifacts from parent targets.
+# * properties: Map<String, String> of properties to pass to recipe
+enabled_branches:
+  - master
+targets:
+  - name: analyze_linux
+    bringup: true
+    builder: Linux analyze
+    properties:
+      validation: analyze
+      validation_name: Analyze
diff --git a/CODEOWNERS b/CODEOWNERS
index ed7664e..40336f3 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -6,6 +6,7 @@
 #
 # Use git ls-files '<pattern>' without a / prefix to see the list of matching files.
 
+/.ci.yaml @caseyhillers @christopherfujino
 /CODEOWNERS @jmagman
 /dev/ci/ @christopherfujino
 /packages/flutter_goldens @Piinks