diff --git a/app_dart/lib/src/model/proto/internal/build_status_response.pb.dart b/app_dart/lib/src/model/proto/internal/build_status_response.pb.dart
index 3a6f757..712de97 100644
--- a/app_dart/lib/src/model/proto/internal/build_status_response.pb.dart
+++ b/app_dart/lib/src/model/proto/internal/build_status_response.pb.dart
@@ -3,7 +3,7 @@
 //  source: lib/src/model/proto/internal/build_status_response.proto
 //
 // @dart = 2.12
-// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields
+// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
 
 import 'dart:core' as $core;
 
diff --git a/app_dart/lib/src/model/proto/internal/build_status_response.pbenum.dart b/app_dart/lib/src/model/proto/internal/build_status_response.pbenum.dart
index 4c23353..7663ad3 100644
--- a/app_dart/lib/src/model/proto/internal/build_status_response.pbenum.dart
+++ b/app_dart/lib/src/model/proto/internal/build_status_response.pbenum.dart
@@ -3,7 +3,7 @@
 //  source: lib/src/model/proto/internal/build_status_response.proto
 //
 // @dart = 2.12
-// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields
+// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
 
 // ignore_for_file: UNDEFINED_SHOWN_NAME
 import 'dart:core' as $core;
@@ -11,9 +11,9 @@
 
 class EnumBuildStatus extends $pb.ProtobufEnum {
   static const EnumBuildStatus success =
-      EnumBuildStatus._(1, $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'success');
+      EnumBuildStatus._(1, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'success');
   static const EnumBuildStatus failure =
-      EnumBuildStatus._(2, $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'failure');
+      EnumBuildStatus._(2, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'failure');
 
   static const $core.List<EnumBuildStatus> values = <EnumBuildStatus>[
     success,
diff --git a/app_dart/lib/src/model/proto/internal/build_status_response.pbjson.dart b/app_dart/lib/src/model/proto/internal/build_status_response.pbjson.dart
new file mode 100644
index 0000000..21a68a9
--- /dev/null
+++ b/app_dart/lib/src/model/proto/internal/build_status_response.pbjson.dart
@@ -0,0 +1,35 @@
+///
+//  Generated code. Do not modify.
+//  source: lib/src/model/proto/internal/build_status_response.proto
+//
+// @dart = 2.12
+// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
+
+import 'dart:core' as $core;
+import 'dart:convert' as $convert;
+import 'dart:typed_data' as $typed_data;
+
+@$core.Deprecated('Use enumBuildStatusDescriptor instead')
+const EnumBuildStatus$json = const {
+  '1': 'EnumBuildStatus',
+  '2': const [
+    const {'1': 'success', '2': 1},
+    const {'1': 'failure', '2': 2},
+  ],
+};
+
+/// Descriptor for `EnumBuildStatus`. Decode as a `google.protobuf.EnumDescriptorProto`.
+final $typed_data.Uint8List enumBuildStatusDescriptor =
+    $convert.base64Decode('Cg9FbnVtQnVpbGRTdGF0dXMSCwoHc3VjY2VzcxABEgsKB2ZhaWx1cmUQAg==');
+@$core.Deprecated('Use buildStatusResponseDescriptor instead')
+const BuildStatusResponse$json = const {
+  '1': 'BuildStatusResponse',
+  '2': const [
+    const {'1': 'build_status', '3': 1, '4': 1, '5': 14, '6': '.EnumBuildStatus', '10': 'buildStatus'},
+    const {'1': 'failing_tasks', '3': 2, '4': 3, '5': 9, '10': 'failingTasks'},
+  ],
+};
+
+/// Descriptor for `BuildStatusResponse`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List buildStatusResponseDescriptor = $convert.base64Decode(
+    'ChNCdWlsZFN0YXR1c1Jlc3BvbnNlEjMKDGJ1aWxkX3N0YXR1cxgBIAEoDjIQLkVudW1CdWlsZFN0YXR1c1ILYnVpbGRTdGF0dXMSIwoNZmFpbGluZ190YXNrcxgCIAMoCVIMZmFpbGluZ1Rhc2tz');
diff --git a/app_dart/lib/src/model/proto/internal/build_status_response.pbserver.dart b/app_dart/lib/src/model/proto/internal/build_status_response.pbserver.dart
new file mode 100644
index 0000000..9115ba5
--- /dev/null
+++ b/app_dart/lib/src/model/proto/internal/build_status_response.pbserver.dart
@@ -0,0 +1,8 @@
+///
+//  Generated code. Do not modify.
+//  source: lib/src/model/proto/internal/build_status_response.proto
+//
+// @dart = 2.12
+// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
+
+export 'build_status_response.pb.dart';
diff --git a/app_dart/lib/src/model/proto/internal/github_webhook.pbenum.dart b/app_dart/lib/src/model/proto/internal/github_webhook.pbenum.dart
new file mode 100644
index 0000000..ef33917
--- /dev/null
+++ b/app_dart/lib/src/model/proto/internal/github_webhook.pbenum.dart
@@ -0,0 +1,6 @@
+///
+//  Generated code. Do not modify.
+//  source: lib/src/model/proto/internal/github_webhook.proto
+//
+// @dart = 2.12
+// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
diff --git a/app_dart/lib/src/model/proto/internal/github_webhook.pbjson.dart b/app_dart/lib/src/model/proto/internal/github_webhook.pbjson.dart
new file mode 100644
index 0000000..718d1b9
--- /dev/null
+++ b/app_dart/lib/src/model/proto/internal/github_webhook.pbjson.dart
@@ -0,0 +1,23 @@
+///
+//  Generated code. Do not modify.
+//  source: lib/src/model/proto/internal/github_webhook.proto
+//
+// @dart = 2.12
+// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
+
+import 'dart:core' as $core;
+import 'dart:convert' as $convert;
+import 'dart:typed_data' as $typed_data;
+
+@$core.Deprecated('Use githubWebhookMessageDescriptor instead')
+const GithubWebhookMessage$json = const {
+  '1': 'GithubWebhookMessage',
+  '2': const [
+    const {'1': 'event', '3': 1, '4': 1, '5': 9, '10': 'event'},
+    const {'1': 'payload', '3': 2, '4': 1, '5': 9, '10': 'payload'},
+  ],
+};
+
+/// Descriptor for `GithubWebhookMessage`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List githubWebhookMessageDescriptor = $convert
+    .base64Decode('ChRHaXRodWJXZWJob29rTWVzc2FnZRIUCgVldmVudBgBIAEoCVIFZXZlbnQSGAoHcGF5bG9hZBgCIAEoCVIHcGF5bG9hZA==');
diff --git a/app_dart/lib/src/model/proto/internal/github_webhook.pbserver.dart b/app_dart/lib/src/model/proto/internal/github_webhook.pbserver.dart
new file mode 100644
index 0000000..8e8dfb9
--- /dev/null
+++ b/app_dart/lib/src/model/proto/internal/github_webhook.pbserver.dart
@@ -0,0 +1,8 @@
+///
+//  Generated code. Do not modify.
+//  source: lib/src/model/proto/internal/github_webhook.proto
+//
+// @dart = 2.12
+// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
+
+export 'github_webhook.pb.dart';
diff --git a/app_dart/lib/src/model/proto/internal/key.pb.dart b/app_dart/lib/src/model/proto/internal/key.pb.dart
index 0ad0b7a..f20aa5e 100644
--- a/app_dart/lib/src/model/proto/internal/key.pb.dart
+++ b/app_dart/lib/src/model/proto/internal/key.pb.dart
@@ -3,7 +3,7 @@
 //  source: lib/src/model/proto/internal/key.proto
 //
 // @dart = 2.12
-// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields
+// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
 
 import 'dart:core' as $core;
 
diff --git a/app_dart/lib/src/model/proto/internal/key.pbenum.dart b/app_dart/lib/src/model/proto/internal/key.pbenum.dart
new file mode 100644
index 0000000..1c5e28e
--- /dev/null
+++ b/app_dart/lib/src/model/proto/internal/key.pbenum.dart
@@ -0,0 +1,6 @@
+///
+//  Generated code. Do not modify.
+//  source: lib/src/model/proto/internal/key.proto
+//
+// @dart = 2.12
+// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
diff --git a/app_dart/lib/src/model/proto/internal/key.pbjson.dart b/app_dart/lib/src/model/proto/internal/key.pbjson.dart
new file mode 100644
index 0000000..6afac20
--- /dev/null
+++ b/app_dart/lib/src/model/proto/internal/key.pbjson.dart
@@ -0,0 +1,40 @@
+///
+//  Generated code. Do not modify.
+//  source: lib/src/model/proto/internal/key.proto
+//
+// @dart = 2.12
+// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
+
+import 'dart:core' as $core;
+import 'dart:convert' as $convert;
+import 'dart:typed_data' as $typed_data;
+
+@$core.Deprecated('Use keyDescriptor instead')
+const Key$json = const {
+  '1': 'Key',
+  '2': const [
+    const {'1': 'type', '3': 1, '4': 1, '5': 9, '10': 'type'},
+    const {'1': 'uid', '3': 2, '4': 1, '5': 3, '9': 0, '10': 'uid'},
+    const {'1': 'name', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'name'},
+    const {'1': 'child', '3': 4, '4': 1, '5': 11, '6': '.Key', '10': 'child'},
+  ],
+  '8': const [
+    const {'1': 'id'},
+  ],
+};
+
+/// Descriptor for `Key`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List keyDescriptor = $convert.base64Decode(
+    'CgNLZXkSEgoEdHlwZRgBIAEoCVIEdHlwZRISCgN1aWQYAiABKANIAFIDdWlkEhQKBG5hbWUYAyABKAlIAFIEbmFtZRIaCgVjaGlsZBgEIAEoCzIELktleVIFY2hpbGRCBAoCaWQ=');
+@$core.Deprecated('Use rootKeyDescriptor instead')
+const RootKey$json = const {
+  '1': 'RootKey',
+  '2': const [
+    const {'1': 'namespace', '3': 1, '4': 1, '5': 9, '10': 'namespace'},
+    const {'1': 'child', '3': 2, '4': 1, '5': 11, '6': '.Key', '10': 'child'},
+  ],
+};
+
+/// Descriptor for `RootKey`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List rootKeyDescriptor = $convert
+    .base64Decode('CgdSb290S2V5EhwKCW5hbWVzcGFjZRgBIAEoCVIJbmFtZXNwYWNlEhoKBWNoaWxkGAIgASgLMgQuS2V5UgVjaGlsZA==');
diff --git a/app_dart/lib/src/model/proto/internal/key.pbserver.dart b/app_dart/lib/src/model/proto/internal/key.pbserver.dart
new file mode 100644
index 0000000..92721a9
--- /dev/null
+++ b/app_dart/lib/src/model/proto/internal/key.pbserver.dart
@@ -0,0 +1,8 @@
+///
+//  Generated code. Do not modify.
+//  source: lib/src/model/proto/internal/key.proto
+//
+// @dart = 2.12
+// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
+
+export 'key.pb.dart';
diff --git a/app_dart/lib/src/model/proto/internal/scheduler.pb.dart b/app_dart/lib/src/model/proto/internal/scheduler.pb.dart
index a17500b..cbba69a 100644
--- a/app_dart/lib/src/model/proto/internal/scheduler.pb.dart
+++ b/app_dart/lib/src/model/proto/internal/scheduler.pb.dart
@@ -16,7 +16,8 @@
 class SchedulerConfig_PlatformProperties extends $pb.GeneratedMessage {
   static final $pb.BuilderInfo _i = $pb.BuilderInfo(
       const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'SchedulerConfig.PlatformProperties',
-      package: const $pb.PackageName($core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'scheduler'),
+      package:
+          const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'scheduler'),
       createEmptyInstance: create)
     ..m<$core.String, $core.String>(
         1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'properties',
@@ -83,7 +84,8 @@
 class SchedulerConfig extends $pb.GeneratedMessage {
   static final $pb.BuilderInfo _i = $pb.BuilderInfo(
       const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'SchedulerConfig',
-      package: const $pb.PackageName($core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'scheduler'),
+      package:
+          const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'scheduler'),
       createEmptyInstance: create)
     ..pc<Target>(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'targets', $pb.PbFieldType.PM,
         subBuilder: Target.create)
@@ -153,7 +155,8 @@
 class Target extends $pb.GeneratedMessage {
   static final $pb.BuilderInfo _i = $pb.BuilderInfo(
       const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Target',
-      package: const $pb.PackageName($core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'scheduler'),
+      package:
+          const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'scheduler'),
       createEmptyInstance: create)
     ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'name')
     ..pPS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'dependencies')
diff --git a/app_dart/lib/src/model/proto/internal/scheduler.pbenum.dart b/app_dart/lib/src/model/proto/internal/scheduler.pbenum.dart
index 6fce85b..8e09bd7 100644
--- a/app_dart/lib/src/model/proto/internal/scheduler.pbenum.dart
+++ b/app_dart/lib/src/model/proto/internal/scheduler.pbenum.dart
@@ -11,16 +11,19 @@
 
 class SchedulerSystem extends $pb.ProtobufEnum {
   static const SchedulerSystem cocoon =
-      SchedulerSystem._(1, $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'cocoon');
+      SchedulerSystem._(1, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'cocoon');
   static const SchedulerSystem luci =
-      SchedulerSystem._(2, $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'luci');
+      SchedulerSystem._(2, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'luci');
   static const SchedulerSystem google_internal =
-      SchedulerSystem._(3, $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'google_internal');
+      SchedulerSystem._(3, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'google_internal');
+  static const SchedulerSystem release =
+      SchedulerSystem._(4, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'release');
 
   static const $core.List<SchedulerSystem> values = <SchedulerSystem>[
     cocoon,
     luci,
     google_internal,
+    release,
   ];
 
   static final $core.Map<$core.int, SchedulerSystem> _byValue = $pb.ProtobufEnum.initByValue(values);
diff --git a/app_dart/lib/src/model/proto/internal/scheduler.pbjson.dart b/app_dart/lib/src/model/proto/internal/scheduler.pbjson.dart
index b2db732..87fd572 100644
--- a/app_dart/lib/src/model/proto/internal/scheduler.pbjson.dart
+++ b/app_dart/lib/src/model/proto/internal/scheduler.pbjson.dart
@@ -10,25 +10,26 @@
 import 'dart:typed_data' as $typed_data;
 
 @$core.Deprecated('Use schedulerSystemDescriptor instead')
-const SchedulerSystem$json = {
+const SchedulerSystem$json = const {
   '1': 'SchedulerSystem',
-  '2': [
-    {'1': 'cocoon', '2': 1},
-    {'1': 'luci', '2': 2},
-    {'1': 'google_internal', '2': 3},
+  '2': const [
+    const {'1': 'cocoon', '2': 1},
+    const {'1': 'luci', '2': 2},
+    const {'1': 'google_internal', '2': 3},
+    const {'1': 'release', '2': 4},
   ],
 };
 
 /// Descriptor for `SchedulerSystem`. Decode as a `google.protobuf.EnumDescriptorProto`.
-final $typed_data.Uint8List schedulerSystemDescriptor =
-    $convert.base64Decode('Cg9TY2hlZHVsZXJTeXN0ZW0SCgoGY29jb29uEAESCAoEbHVjaRACEhMKD2dvb2dsZV9pbnRlcm5hbBAD');
+final $typed_data.Uint8List schedulerSystemDescriptor = $convert.base64Decode(
+    'Cg9TY2hlZHVsZXJTeXN0ZW0SCgoGY29jb29uEAESCAoEbHVjaRACEhMKD2dvb2dsZV9pbnRlcm5hbBADEgsKB3JlbGVhc2UQBA==');
 @$core.Deprecated('Use schedulerConfigDescriptor instead')
-const SchedulerConfig$json = {
+const SchedulerConfig$json = const {
   '1': 'SchedulerConfig',
-  '2': [
-    {'1': 'targets', '3': 1, '4': 3, '5': 11, '6': '.scheduler.Target', '10': 'targets'},
-    {'1': 'enabled_branches', '3': 2, '4': 3, '5': 9, '10': 'enabledBranches'},
-    {
+  '2': const [
+    const {'1': 'targets', '3': 1, '4': 3, '5': 11, '6': '.scheduler.Target', '10': 'targets'},
+    const {'1': 'enabled_branches', '3': 2, '4': 3, '5': 9, '10': 'enabledBranches'},
+    const {
       '1': 'platform_properties',
       '3': 3,
       '4': 3,
@@ -37,24 +38,24 @@
       '10': 'platformProperties'
     },
   ],
-  '3': [SchedulerConfig_PlatformPropertiesEntry$json, SchedulerConfig_PlatformProperties$json],
+  '3': const [SchedulerConfig_PlatformPropertiesEntry$json, SchedulerConfig_PlatformProperties$json],
 };
 
 @$core.Deprecated('Use schedulerConfigDescriptor instead')
-const SchedulerConfig_PlatformPropertiesEntry$json = {
+const SchedulerConfig_PlatformPropertiesEntry$json = const {
   '1': 'PlatformPropertiesEntry',
-  '2': [
-    {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
-    {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.scheduler.SchedulerConfig.PlatformProperties', '10': 'value'},
+  '2': const [
+    const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
+    const {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.scheduler.SchedulerConfig.PlatformProperties', '10': 'value'},
   ],
-  '7': {'7': true},
+  '7': const {'7': true},
 };
 
 @$core.Deprecated('Use schedulerConfigDescriptor instead')
-const SchedulerConfig_PlatformProperties$json = {
+const SchedulerConfig_PlatformProperties$json = const {
   '1': 'PlatformProperties',
-  '2': [
-    {
+  '2': const [
+    const {
       '1': 'properties',
       '3': 1,
       '4': 3,
@@ -62,7 +63,7 @@
       '6': '.scheduler.SchedulerConfig.PlatformProperties.PropertiesEntry',
       '10': 'properties'
     },
-    {
+    const {
       '1': 'dimensions',
       '3': 2,
       '4': 3,
@@ -71,60 +72,68 @@
       '10': 'dimensions'
     },
   ],
-  '3': [
+  '3': const [
     SchedulerConfig_PlatformProperties_PropertiesEntry$json,
     SchedulerConfig_PlatformProperties_DimensionsEntry$json
   ],
 };
 
 @$core.Deprecated('Use schedulerConfigDescriptor instead')
-const SchedulerConfig_PlatformProperties_PropertiesEntry$json = {
+const SchedulerConfig_PlatformProperties_PropertiesEntry$json = const {
   '1': 'PropertiesEntry',
-  '2': [
-    {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
-    {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
+  '2': const [
+    const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
+    const {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
   ],
-  '7': {'7': true},
+  '7': const {'7': true},
 };
 
 @$core.Deprecated('Use schedulerConfigDescriptor instead')
-const SchedulerConfig_PlatformProperties_DimensionsEntry$json = {
+const SchedulerConfig_PlatformProperties_DimensionsEntry$json = const {
   '1': 'DimensionsEntry',
-  '2': [
-    {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
-    {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
+  '2': const [
+    const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
+    const {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
   ],
-  '7': {'7': true},
+  '7': const {'7': true},
 };
 
 /// Descriptor for `SchedulerConfig`. Decode as a `google.protobuf.DescriptorProto`.
 final $typed_data.Uint8List schedulerConfigDescriptor = $convert.base64Decode(
     'Cg9TY2hlZHVsZXJDb25maWcSKwoHdGFyZ2V0cxgBIAMoCzIRLnNjaGVkdWxlci5UYXJnZXRSB3RhcmdldHMSKQoQZW5hYmxlZF9icmFuY2hlcxgCIAMoCVIPZW5hYmxlZEJyYW5jaGVzEmMKE3BsYXRmb3JtX3Byb3BlcnRpZXMYAyADKAsyMi5zY2hlZHVsZXIuU2NoZWR1bGVyQ29uZmlnLlBsYXRmb3JtUHJvcGVydGllc0VudHJ5UhJwbGF0Zm9ybVByb3BlcnRpZXMadAoXUGxhdGZvcm1Qcm9wZXJ0aWVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSQwoFdmFsdWUYAiABKAsyLS5zY2hlZHVsZXIuU2NoZWR1bGVyQ29uZmlnLlBsYXRmb3JtUHJvcGVydGllc1IFdmFsdWU6AjgBGtACChJQbGF0Zm9ybVByb3BlcnRpZXMSXQoKcHJvcGVydGllcxgBIAMoCzI9LnNjaGVkdWxlci5TY2hlZHVsZXJDb25maWcuUGxhdGZvcm1Qcm9wZXJ0aWVzLlByb3BlcnRpZXNFbnRyeVIKcHJvcGVydGllcxJdCgpkaW1lbnNpb25zGAIgAygLMj0uc2NoZWR1bGVyLlNjaGVkdWxlckNvbmZpZy5QbGF0Zm9ybVByb3BlcnRpZXMuRGltZW5zaW9uc0VudHJ5UgpkaW1lbnNpb25zGj0KD1Byb3BlcnRpZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGj0KD0RpbWVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgB');
 @$core.Deprecated('Use targetDescriptor instead')
-const Target$json = {
+const Target$json = const {
   '1': 'Target',
-  '2': [
-    {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'},
-    {'1': 'dependencies', '3': 2, '4': 3, '5': 9, '10': 'dependencies'},
-    {'1': 'bringup', '3': 3, '4': 1, '5': 8, '7': 'false', '10': 'bringup'},
-    {'1': 'timeout', '3': 4, '4': 1, '5': 5, '7': '30', '10': 'timeout'},
-    {'1': 'testbed', '3': 5, '4': 1, '5': 9, '7': 'linux-vm', '10': 'testbed'},
-    {'1': 'properties', '3': 6, '4': 3, '5': 11, '6': '.scheduler.Target.PropertiesEntry', '10': 'properties'},
-    {
+  '2': const [
+    const {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'},
+    const {'1': 'dependencies', '3': 2, '4': 3, '5': 9, '10': 'dependencies'},
+    const {'1': 'bringup', '3': 3, '4': 1, '5': 8, '7': 'false', '10': 'bringup'},
+    const {'1': 'timeout', '3': 4, '4': 1, '5': 5, '7': '30', '10': 'timeout'},
+    const {'1': 'testbed', '3': 5, '4': 1, '5': 9, '7': 'linux-vm', '10': 'testbed'},
+    const {'1': 'properties', '3': 6, '4': 3, '5': 11, '6': '.scheduler.Target.PropertiesEntry', '10': 'properties'},
+    const {
       '1': 'builder',
       '3': 7,
       '4': 1,
       '5': 9,
-      '8': {'3': true},
+      '8': const {'3': true},
       '10': 'builder',
     },
-    {'1': 'scheduler', '3': 8, '4': 1, '5': 14, '6': '.scheduler.SchedulerSystem', '7': 'cocoon', '10': 'scheduler'},
-    {'1': 'presubmit', '3': 9, '4': 1, '5': 8, '7': 'true', '10': 'presubmit'},
-    {'1': 'postsubmit', '3': 10, '4': 1, '5': 8, '7': 'true', '10': 'postsubmit'},
-    {'1': 'run_if', '3': 11, '4': 3, '5': 9, '10': 'runIf'},
-    {'1': 'enabled_branches', '3': 12, '4': 3, '5': 9, '10': 'enabledBranches'},
-    {'1': 'recipe', '3': 13, '4': 1, '5': 9, '10': 'recipe'},
-    {
+    const {
+      '1': 'scheduler',
+      '3': 8,
+      '4': 1,
+      '5': 14,
+      '6': '.scheduler.SchedulerSystem',
+      '7': 'cocoon',
+      '10': 'scheduler'
+    },
+    const {'1': 'presubmit', '3': 9, '4': 1, '5': 8, '7': 'true', '10': 'presubmit'},
+    const {'1': 'postsubmit', '3': 10, '4': 1, '5': 8, '7': 'true', '10': 'postsubmit'},
+    const {'1': 'run_if', '3': 11, '4': 3, '5': 9, '10': 'runIf'},
+    const {'1': 'enabled_branches', '3': 12, '4': 3, '5': 9, '10': 'enabledBranches'},
+    const {'1': 'recipe', '3': 13, '4': 1, '5': 9, '10': 'recipe'},
+    const {
       '1': 'postsubmit_properties',
       '3': 15,
       '4': 3,
@@ -132,42 +141,42 @@
       '6': '.scheduler.Target.PostsubmitPropertiesEntry',
       '10': 'postsubmitProperties'
     },
-    {'1': 'dimensions', '3': 16, '4': 3, '5': 11, '6': '.scheduler.Target.DimensionsEntry', '10': 'dimensions'},
+    const {'1': 'dimensions', '3': 16, '4': 3, '5': 11, '6': '.scheduler.Target.DimensionsEntry', '10': 'dimensions'},
   ],
-  '3': [Target_PropertiesEntry$json, Target_PostsubmitPropertiesEntry$json, Target_DimensionsEntry$json],
-  '9': [
-    {'1': 14, '2': 15},
+  '3': const [Target_PropertiesEntry$json, Target_PostsubmitPropertiesEntry$json, Target_DimensionsEntry$json],
+  '9': const [
+    const {'1': 14, '2': 15},
   ],
 };
 
 @$core.Deprecated('Use targetDescriptor instead')
-const Target_PropertiesEntry$json = {
+const Target_PropertiesEntry$json = const {
   '1': 'PropertiesEntry',
-  '2': [
-    {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
-    {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
+  '2': const [
+    const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
+    const {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
   ],
-  '7': {'7': true},
+  '7': const {'7': true},
 };
 
 @$core.Deprecated('Use targetDescriptor instead')
-const Target_PostsubmitPropertiesEntry$json = {
+const Target_PostsubmitPropertiesEntry$json = const {
   '1': 'PostsubmitPropertiesEntry',
-  '2': [
-    {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
-    {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
+  '2': const [
+    const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
+    const {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
   ],
-  '7': {'7': true},
+  '7': const {'7': true},
 };
 
 @$core.Deprecated('Use targetDescriptor instead')
-const Target_DimensionsEntry$json = {
+const Target_DimensionsEntry$json = const {
   '1': 'DimensionsEntry',
-  '2': [
-    {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
-    {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
+  '2': const [
+    const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
+    const {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
   ],
-  '7': {'7': true},
+  '7': const {'7': true},
 };
 
 /// Descriptor for `Target`. Decode as a `google.protobuf.DescriptorProto`.
diff --git a/test_utilities/bin/dart_test_runner.sh b/test_utilities/bin/dart_test_runner.sh
index dd65732..21478f2 100755
--- a/test_utilities/bin/dart_test_runner.sh
+++ b/test_utilities/bin/dart_test_runner.sh
@@ -14,6 +14,8 @@
 flutter clean
 dart pub get
 
+# TODO(drewroengoogle): Validate proto code has been generated. https://github.com/flutter/flutter/issues/115473
+
 echo "############# files that require formatting ###########"
 dart format --set-exit-if-changed --line-length=120 .
 echo "#######################################################"
