Fix CI stages (#515)

diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml
index f4f40c5..6642e89 100644
--- a/.github/workflows/dart.yml
+++ b/.github/workflows/dart.yml
@@ -19,7 +19,7 @@
 
 jobs:
   job_001:
-    name: "analyze; linux; Dart 2.10.5; PKG: protobuf; `dart analyze lib`, `dart analyze test`"
+    name: "format_analyze; linux; Dart 2.10.5; PKG: protobuf; `dart analyze lib`, `dart analyze test`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
@@ -51,7 +51,7 @@
         working-directory: protobuf
         run: dart analyze test
   job_002:
-    name: "analyze; linux; Dart 2.10.5; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dart analyze`"
+    name: "format_analyze; linux; Dart 2.10.5; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dart analyze`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
@@ -87,342 +87,6 @@
         working-directory: protoc_plugin
         run: dart analyze
   job_003:
-    name: "analyze; linux; Dart dev; PKG: protobuf; `dart format --output=none --set-exit-if-changed .`, `dart analyze --fatal-infos lib`, `dart analyze --fatal-infos test`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2.1.6
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf;commands:dartfmt-dartanalyzer_1-dartanalyzer_2"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf
-            os:ubuntu-latest;pub-cache-hosted;dart:dev
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v1.0
-        with:
-          sdk: dev
-      - id: checkout
-        uses: actions/checkout@v2.3.4
-      - id: protobuf_pub_upgrade
-        name: protobuf; pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub upgrade
-      - name: "protobuf; dart format --output=none --set-exit-if-changed ."
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: "dart format --output=none --set-exit-if-changed ."
-      - name: "protobuf; dart analyze --fatal-infos lib"
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: dart analyze --fatal-infos lib
-      - name: "protobuf; dart analyze --fatal-infos test"
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: dart analyze --fatal-infos test
-  job_004:
-    name: "analyze; linux; Dart dev; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dart format --output=none --set-exit-if-changed .`, `dart analyze --fatal-infos`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2.1.6
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin;commands:command_0-command_2-dartfmt-dartanalyzer_5"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin
-            os:ubuntu-latest;pub-cache-hosted;dart:dev
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v1.0
-        with:
-          sdk: dev
-      - id: checkout
-        uses: actions/checkout@v2.3.4
-      - id: protoc_plugin_pub_upgrade
-        name: protoc_plugin; pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: pub upgrade
-      - name: protoc_plugin; ./../tool/setup.sh
-        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: ./../tool/setup.sh
-      - name: protoc_plugin; make protos
-        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: make protos
-      - name: "protoc_plugin; dart format --output=none --set-exit-if-changed ."
-        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: "dart format --output=none --set-exit-if-changed ."
-      - name: "protoc_plugin; dart analyze --fatal-infos"
-        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: dart analyze --fatal-infos
-  job_005:
-    name: "run_tests; linux; Dart 2.10.5; PKG: protobuf; `dart test`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2.1.6
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf;commands:test"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf
-            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v1.0
-        with:
-          sdk: "2.10.5"
-      - id: checkout
-        uses: actions/checkout@v2.3.4
-      - id: protobuf_pub_upgrade
-        name: protobuf; pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub upgrade
-      - name: protobuf; dart test
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: dart test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-  job_006:
-    name: "run_tests; linux; Dart 2.10.5; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dart test`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2.1.6
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protoc_plugin;commands:command_0-command_2-test"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protoc_plugin
-            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v1.0
-        with:
-          sdk: "2.10.5"
-      - id: checkout
-        uses: actions/checkout@v2.3.4
-      - id: protoc_plugin_pub_upgrade
-        name: protoc_plugin; pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: pub upgrade
-      - name: protoc_plugin; ./../tool/setup.sh
-        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: ./../tool/setup.sh
-      - name: protoc_plugin; make protos
-        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: make protos
-      - name: protoc_plugin; dart test
-        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: dart test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-  job_007:
-    name: "run_tests; linux; Dart dev; PKG: protobuf; `dart test`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2.1.6
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf;commands:test"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf
-            os:ubuntu-latest;pub-cache-hosted;dart:dev
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v1.0
-        with:
-          sdk: dev
-      - id: checkout
-        uses: actions/checkout@v2.3.4
-      - id: protobuf_pub_upgrade
-        name: protobuf; pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub upgrade
-      - name: protobuf; dart test
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: dart test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-  job_008:
-    name: "run_tests; linux; Dart dev; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dart test`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2.1.6
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin;commands:command_0-command_2-test"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin
-            os:ubuntu-latest;pub-cache-hosted;dart:dev
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v1.0
-        with:
-          sdk: dev
-      - id: checkout
-        uses: actions/checkout@v2.3.4
-      - id: protoc_plugin_pub_upgrade
-        name: protoc_plugin; pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: pub upgrade
-      - name: protoc_plugin; ./../tool/setup.sh
-        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: ./../tool/setup.sh
-      - name: protoc_plugin; make protos
-        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: make protos
-      - name: protoc_plugin; dart test
-        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: dart test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-  job_009:
-    name: "run_tests; osx; Dart 2.10.5; PKG: protobuf; `dart test`"
-    runs-on: macos-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2.1.6
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:macos-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf;commands:test"
-          restore-keys: |
-            os:macos-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf
-            os:macos-latest;pub-cache-hosted;dart:2.10.5
-            os:macos-latest;pub-cache-hosted
-            os:macos-latest
-      - uses: dart-lang/setup-dart@v1.0
-        with:
-          sdk: "2.10.5"
-      - id: checkout
-        uses: actions/checkout@v2.3.4
-      - id: protobuf_pub_upgrade
-        name: protobuf; pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub upgrade
-      - name: protobuf; dart test
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: dart test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-  job_010:
-    name: "run_tests; osx; Dart dev; PKG: protobuf; `dart test`"
-    runs-on: macos-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2.1.6
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:macos-latest;pub-cache-hosted;dart:dev;packages:protobuf;commands:test"
-          restore-keys: |
-            os:macos-latest;pub-cache-hosted;dart:dev;packages:protobuf
-            os:macos-latest;pub-cache-hosted;dart:dev
-            os:macos-latest;pub-cache-hosted
-            os:macos-latest
-      - uses: dart-lang/setup-dart@v1.0
-        with:
-          sdk: dev
-      - id: checkout
-        uses: actions/checkout@v2.3.4
-      - id: protobuf_pub_upgrade
-        name: protobuf; pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub upgrade
-      - name: protobuf; dart test
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: dart test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-  job_011:
-    name: "run_tests; windows; Dart 2.10.5; PKG: protobuf; `dart test`"
-    runs-on: windows-latest
-    steps:
-      - uses: dart-lang/setup-dart@v1.0
-        with:
-          sdk: "2.10.5"
-      - id: checkout
-        uses: actions/checkout@v2.3.4
-      - id: protobuf_pub_upgrade
-        name: protobuf; pub.bat upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub.bat upgrade
-      - name: protobuf; dart test
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: dart test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-  job_012:
-    name: "run_tests; windows; Dart dev; PKG: protobuf; `dart test`"
-    runs-on: windows-latest
-    steps:
-      - uses: dart-lang/setup-dart@v1.0
-        with:
-          sdk: dev
-      - id: checkout
-        uses: actions/checkout@v2.3.4
-      - id: protobuf_pub_upgrade
-        name: protobuf; pub.bat upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub.bat upgrade
-      - name: protobuf; dart test
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: dart test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-  job_013:
     name: "format_analyze; linux; Dart dev; PKGS: api_benchmark, query_benchmark; `./../tool/setup.sh`, `./compile_protos.sh`, `dart format --output=none --set-exit-if-changed .`, `dart analyze`"
     runs-on: ubuntu-latest
     steps:
@@ -483,16 +147,347 @@
         if: "always() && steps.query_benchmark_pub_upgrade.conclusion == 'success'"
         working-directory: query_benchmark
         run: dart analyze
+  job_004:
+    name: "format_analyze; linux; Dart dev; PKG: protobuf; `dart format --output=none --set-exit-if-changed .`, `dart analyze --fatal-infos lib`, `dart analyze --fatal-infos test`"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@v2.1.6
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf;commands:dartfmt-dartanalyzer_1-dartanalyzer_2"
+          restore-keys: |
+            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf
+            os:ubuntu-latest;pub-cache-hosted;dart:dev
+            os:ubuntu-latest;pub-cache-hosted
+            os:ubuntu-latest
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: dev
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protobuf_pub_upgrade
+        name: protobuf; pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protobuf
+        run: pub upgrade
+      - name: "protobuf; dart format --output=none --set-exit-if-changed ."
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: "dart format --output=none --set-exit-if-changed ."
+      - name: "protobuf; dart analyze --fatal-infos lib"
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart analyze --fatal-infos lib
+      - name: "protobuf; dart analyze --fatal-infos test"
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart analyze --fatal-infos test
+  job_005:
+    name: "format_analyze; linux; Dart dev; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dart format --output=none --set-exit-if-changed .`, `dart analyze --fatal-infos`"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@v2.1.6
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin;commands:command_0-command_2-dartfmt-dartanalyzer_5"
+          restore-keys: |
+            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin
+            os:ubuntu-latest;pub-cache-hosted;dart:dev
+            os:ubuntu-latest;pub-cache-hosted
+            os:ubuntu-latest
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: dev
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protoc_plugin_pub_upgrade
+        name: protoc_plugin; pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: pub upgrade
+      - name: protoc_plugin; ./../tool/setup.sh
+        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: ./../tool/setup.sh
+      - name: protoc_plugin; make protos
+        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: make protos
+      - name: "protoc_plugin; dart format --output=none --set-exit-if-changed ."
+        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: "dart format --output=none --set-exit-if-changed ."
+      - name: "protoc_plugin; dart analyze --fatal-infos"
+        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: dart analyze --fatal-infos
+  job_006:
+    name: "run_tests; linux; Dart 2.10.5; PKG: protobuf; `dart test`"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@v2.1.6
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf;commands:test"
+          restore-keys: |
+            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf
+            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5
+            os:ubuntu-latest;pub-cache-hosted
+            os:ubuntu-latest
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: "2.10.5"
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protobuf_pub_upgrade
+        name: protobuf; pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protobuf
+        run: pub upgrade
+      - name: protobuf; dart test
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart test
     needs:
       - job_001
       - job_002
       - job_003
       - job_004
       - job_005
-      - job_006
-      - job_007
-      - job_008
-      - job_009
-      - job_010
-      - job_011
-      - job_012
+  job_007:
+    name: "run_tests; linux; Dart 2.10.5; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dart test`"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@v2.1.6
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protoc_plugin;commands:command_0-command_2-test"
+          restore-keys: |
+            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protoc_plugin
+            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5
+            os:ubuntu-latest;pub-cache-hosted
+            os:ubuntu-latest
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: "2.10.5"
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protoc_plugin_pub_upgrade
+        name: protoc_plugin; pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: pub upgrade
+      - name: protoc_plugin; ./../tool/setup.sh
+        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: ./../tool/setup.sh
+      - name: protoc_plugin; make protos
+        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: make protos
+      - name: protoc_plugin; dart test
+        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: dart test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+      - job_005
+  job_008:
+    name: "run_tests; linux; Dart dev; PKG: protobuf; `dart test`"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@v2.1.6
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf;commands:test"
+          restore-keys: |
+            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf
+            os:ubuntu-latest;pub-cache-hosted;dart:dev
+            os:ubuntu-latest;pub-cache-hosted
+            os:ubuntu-latest
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: dev
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protobuf_pub_upgrade
+        name: protobuf; pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protobuf
+        run: pub upgrade
+      - name: protobuf; dart test
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+      - job_005
+  job_009:
+    name: "run_tests; linux; Dart dev; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dart test`"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@v2.1.6
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin;commands:command_0-command_2-test"
+          restore-keys: |
+            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin
+            os:ubuntu-latest;pub-cache-hosted;dart:dev
+            os:ubuntu-latest;pub-cache-hosted
+            os:ubuntu-latest
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: dev
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protoc_plugin_pub_upgrade
+        name: protoc_plugin; pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: pub upgrade
+      - name: protoc_plugin; ./../tool/setup.sh
+        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: ./../tool/setup.sh
+      - name: protoc_plugin; make protos
+        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: make protos
+      - name: protoc_plugin; dart test
+        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: dart test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+      - job_005
+  job_010:
+    name: "run_tests; osx; Dart 2.10.5; PKG: protobuf; `dart test`"
+    runs-on: macos-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@v2.1.6
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:macos-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf;commands:test"
+          restore-keys: |
+            os:macos-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf
+            os:macos-latest;pub-cache-hosted;dart:2.10.5
+            os:macos-latest;pub-cache-hosted
+            os:macos-latest
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: "2.10.5"
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protobuf_pub_upgrade
+        name: protobuf; pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protobuf
+        run: pub upgrade
+      - name: protobuf; dart test
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+      - job_005
+  job_011:
+    name: "run_tests; osx; Dart dev; PKG: protobuf; `dart test`"
+    runs-on: macos-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@v2.1.6
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:macos-latest;pub-cache-hosted;dart:dev;packages:protobuf;commands:test"
+          restore-keys: |
+            os:macos-latest;pub-cache-hosted;dart:dev;packages:protobuf
+            os:macos-latest;pub-cache-hosted;dart:dev
+            os:macos-latest;pub-cache-hosted
+            os:macos-latest
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: dev
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protobuf_pub_upgrade
+        name: protobuf; pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protobuf
+        run: pub upgrade
+      - name: protobuf; dart test
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+      - job_005
+  job_012:
+    name: "run_tests; windows; Dart 2.10.5; PKG: protobuf; `dart test`"
+    runs-on: windows-latest
+    steps:
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: "2.10.5"
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protobuf_pub_upgrade
+        name: protobuf; pub.bat upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protobuf
+        run: pub.bat upgrade
+      - name: protobuf; dart test
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+      - job_005
+  job_013:
+    name: "run_tests; windows; Dart dev; PKG: protobuf; `dart test`"
+    runs-on: windows-latest
+    steps:
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: dev
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protobuf_pub_upgrade
+        name: protobuf; pub.bat upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protobuf
+        run: pub.bat upgrade
+      - name: protobuf; dart test
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+      - job_005
diff --git a/mono_repo.yaml b/mono_repo.yaml
index 37e6d39..ae729be 100644
--- a/mono_repo.yaml
+++ b/mono_repo.yaml
@@ -10,5 +10,4 @@
 
 merge_stages:
 - format_analyze
-- analyze
 - run_tests
diff --git a/protobuf/mono_pkg.yaml b/protobuf/mono_pkg.yaml
index 9dfc058..954d62c 100644
--- a/protobuf/mono_pkg.yaml
+++ b/protobuf/mono_pkg.yaml
@@ -5,7 +5,7 @@
 # - test stage runs for all oses and all sdks
 
 stages:
-  - analyze:
+  - format_analyze:
     - group:
       - dartfmt
       - dartanalyzer: --fatal-infos lib
diff --git a/protoc_plugin/mono_pkg.yaml b/protoc_plugin/mono_pkg.yaml
index 09747ea..eadf90f 100644
--- a/protoc_plugin/mono_pkg.yaml
+++ b/protoc_plugin/mono_pkg.yaml
@@ -1,6 +1,6 @@
 # See https://github.com/dart-lang/mono_repo for details
 stages:
-  - analyze:
+  - format_analyze:
     - group:
       - command: ./../tool/setup.sh
       - command: make protos