[fuchsia_cipd_roller] Clean up tests

The tests for this recipe were already quite verbose and made minimal
use of helper functions, presumably due to copy-pasting as more
functionality and tests were added. On top of that, formatting with YAPF
made them completely unreadable.

This continues some work I started in http://fxr/354728:
- make use of helper functions to make the test cases more concise
- override yapf formatting to more clearly distinguish separate test
  data objects
- rename many of the mocks to make it more clear what's happening (at
  the expense of having realistic mock data, which I think is a
  worthwhile tradeoff)
- use the status_check recipe module to make assertions about the
  overall recipe status/failure for each test case

Change-Id: I1d9a2be712a6578520ce7c910ef8a52eef38af67
diff --git a/recipes/fuchsia_cipd_roller.expected/default.json b/recipes/fuchsia_cipd_roller.expected/default.json
index 2f661ad..233efe8 100644
--- a/recipes/fuchsia_cipd_roller.expected/default.json
+++ b/recipes/fuchsia_cipd_roller.expected/default.json
@@ -116,7 +116,7 @@
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-mKI1nni0SW4F1cQA\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-A2--------------\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgA\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
@@ -133,7 +133,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:70.0.3538.30\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -157,7 +157,7 @@
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-r2S5xldLzzfJa2Vz\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-B2--------------\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgB\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
@@ -174,7 +174,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:70.0.3538.30\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -198,7 +198,7 @@
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-GDGGW7Xs89z2apGa\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-C2--------------\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgC\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
@@ -215,12 +215,12 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:70.0.3538.30\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:70.0.3538.29\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:1\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -238,11 +238,11 @@
       "-json-output",
       "/path/to/tmp/json",
       "-package",
-      "pkgA=version:70.0.3538.30",
+      "pkgA=version:2",
       "-package",
-      "pkgB=version:70.0.3538.30",
+      "pkgB=version:2",
       "-package",
-      "pkgC=version:70.0.3538.30",
+      "pkgC=version:2",
       "chromium/chromium"
     ],
     "cwd": "[START_DIR]/integration",
@@ -253,17 +253,17 @@
       "@@@STEP_LOG_LINE@json.output@  \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"name\": \"pkgA\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:70.0.3538.30\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:2\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"old_version\": \"[OLD_VERSION]\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"name\": \"pkgB\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:70.0.3538.30\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:2\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"old_version\": \"[OLD_VERSION]\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"name\": \"pkgC\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:70.0.3538.30\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:2\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"old_version\": \"[OLD_VERSION]\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ], @@@",
@@ -330,7 +330,7 @@
       "git",
       "commit",
       "-m",
-      "[roll] Roll chromium CIPD packages:\n\npkgA old:https://chrome-infra-packages.appspot.com/p/pkgA/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgA/+/version:70.0.3538.30\npkgB old:https://chrome-infra-packages.appspot.com/p/pkgB/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgB/+/version:70.0.3538.30\npkgC old:https://chrome-infra-packages.appspot.com/p/pkgC/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgC/+/version:70.0.3538.30\n\nFrom: [OLD_VERSION]\nTo: version:70.0.3538.30\n\nCq-Cl-Tag: roller-builder:chromium-roller\nCq-Cl-Tag: roller-bid:8945511751514863184\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Iabc123\n",
+      "[roll] Roll chromium CIPD packages:\n\npkgA old:https://chrome-infra-packages.appspot.com/p/pkgA/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgA/+/version:2\npkgB old:https://chrome-infra-packages.appspot.com/p/pkgB/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgB/+/version:2\npkgC old:https://chrome-infra-packages.appspot.com/p/pkgC/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgC/+/version:2\n\nFrom: [OLD_VERSION]\nTo: version:2\n\nCq-Cl-Tag: roller-builder:chromium-roller\nCq-Cl-Tag: roller-bid:8945511751514863184\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Iabc123\n",
       "-a"
     ],
     "cwd": "[START_DIR]/integration",
@@ -423,38 +423,16 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"labels\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"Commit-Queue\": {}@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"Commit-Queue\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"approved\": {}@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  \"status\": \"NEW\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"status\": \"MERGED\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@"
     ]
   },
   {
-    "cmd": [
-      "[START_DIR]/cipd/gerrit/gerrit",
-      "change-abandon",
-      "-host",
-      "https://fuchsia-review.googlesource.com",
-      "-input",
-      "{\"change_id\": \"integration~master~Iabc123\"}",
-      "-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/integration",
-    "name": "abandon roll: CQ failed",
-    "~followup_annotations": [
-      "@@@STEP_LOG_END@json.output (invalid)@@@",
-      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
-      "@@@STEP_LOG_END@json.output (exception)@@@",
-      "@@@STEP_LINK@gerrit link@https://fuchsia-review.googlesource.com/q/Iabc123@@@"
-    ]
-  },
-  {
-    "failure": {
-      "failure": {},
-      "humanReason": "Failed to roll changes: CQ failed.\n\nSee the link titled \"gerrit link\" in the build console to access the Gerrit change."
-    },
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/recipes/fuchsia_cipd_roller.expected/default_platform_not_resolved.json b/recipes/fuchsia_cipd_roller.expected/default_platform_not_resolved.json
index adf6684..42c9ee5 100644
--- a/recipes/fuchsia_cipd_roller.expected/default_platform_not_resolved.json
+++ b/recipes/fuchsia_cipd_roller.expected/default_platform_not_resolved.json
@@ -97,20 +97,20 @@
     "cmd": [
       "cipd",
       "describe",
-      "fuchsia/tools/bb/${platform}",
+      "pkgM/${platform}",
       "-version",
       "latest",
       "-json-output",
       "/path/to/tmp/json"
     ],
-    "name": "find common tag.cipd describe fuchsia/tools/bb/${platform}",
+    "name": "find common tag.cipd describe pkgM/${platform}",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-IX9BXIY7ZejVNabi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"package\": \"fuchsia/tools/bb/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-M1--------------\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgM/resolved-platform\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
@@ -126,7 +126,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"git_revision:a\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -138,20 +138,20 @@
     "cmd": [
       "cipd",
       "describe",
-      "fuchsia/tools/luci/gsutil/${platform}",
+      "pkgN/${platform}",
       "-version",
       "latest",
       "-json-output",
       "/path/to/tmp/json"
     ],
-    "name": "find common tag.cipd describe fuchsia/tools/luci/gsutil/${platform}",
+    "name": "find common tag.cipd describe pkgN/${platform}",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-IX9BXIY7ZejVNabi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"package\": \"fuchsia/tools/luci/gsutil/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-N1--------------\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgN/resolved-platform\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
@@ -167,7 +167,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"git_revision:a\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -185,9 +185,9 @@
       "-json-output",
       "/path/to/tmp/json",
       "-package",
-      "fuchsia/tools/bb/${platform}=git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616",
+      "pkgM/${platform}=git_revision:a",
       "-package",
-      "fuchsia/tools/luci/gsutil/${platform}=git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616",
+      "pkgN/${platform}=git_revision:a",
       "fuchsia/prebuilts"
     ],
     "cwd": "[START_DIR]/integration",
@@ -197,13 +197,13 @@
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@  \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"fuchsia/tools/bb/${platform}\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"pkgM/${platform}\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"git_revision:a\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"old_version\": \"[OLD_VERSION]\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"fuchsia/tools/luci/gsutil/${platform}\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"pkgN/${platform}\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"git_revision:a\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"old_version\": \"[OLD_VERSION]\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ], @@@",
@@ -270,7 +270,7 @@
       "git",
       "commit",
       "-m",
-      "[roll] Roll tools CIPD packages:\n\nfuchsia/tools/bb/${platform}\nfuchsia/tools/luci/gsutil/${platform}\n\nFrom: [OLD_VERSION]\nTo: git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\n\nCq-Cl-Tag: roller-builder:tools-roller\nCq-Cl-Tag: roller-bid:8945511751514863184\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Iabc123\n",
+      "[roll] Roll tools CIPD packages:\n\npkgM/${platform}\npkgN/${platform}\n\nFrom: [OLD_VERSION]\nTo: git_revision:a\n\nCq-Cl-Tag: roller-builder:tools-roller\nCq-Cl-Tag: roller-bid:8945511751514863184\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Iabc123\n",
       "-a"
     ],
     "cwd": "[START_DIR]/integration",
@@ -363,38 +363,16 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"labels\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"Commit-Queue\": {}@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"Commit-Queue\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"approved\": {}@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  \"status\": \"NEW\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"status\": \"MERGED\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@"
     ]
   },
   {
-    "cmd": [
-      "[START_DIR]/cipd/gerrit/gerrit",
-      "change-abandon",
-      "-host",
-      "https://fuchsia-review.googlesource.com",
-      "-input",
-      "{\"change_id\": \"integration~master~Iabc123\"}",
-      "-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/integration",
-    "name": "abandon roll: CQ failed",
-    "~followup_annotations": [
-      "@@@STEP_LOG_END@json.output (invalid)@@@",
-      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
-      "@@@STEP_LOG_END@json.output (exception)@@@",
-      "@@@STEP_LINK@gerrit link@https://fuchsia-review.googlesource.com/q/Iabc123@@@"
-    ]
-  },
-  {
-    "failure": {
-      "failure": {},
-      "humanReason": "Failed to roll changes: CQ failed.\n\nSee the link titled \"gerrit link\" in the build console to access the Gerrit change."
-    },
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/recipes/fuchsia_cipd_roller.expected/default_with_platform.json b/recipes/fuchsia_cipd_roller.expected/default_with_platform.json
index fc9788f..397692d 100644
--- a/recipes/fuchsia_cipd_roller.expected/default_with_platform.json
+++ b/recipes/fuchsia_cipd_roller.expected/default_with_platform.json
@@ -97,20 +97,20 @@
     "cmd": [
       "cipd",
       "describe",
-      "fuchsia/tools/bb/${platform}",
+      "pkgM/${platform}",
       "-version",
       "latest",
       "-json-output",
       "/path/to/tmp/json"
     ],
-    "name": "find common tag.cipd describe fuchsia/tools/bb/${platform}",
+    "name": "find common tag.cipd describe pkgM/${platform}",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-IX9BXIY7ZejVNabi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"package\": \"fuchsia/tools/bb/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-M1--------------\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgM/resolved-platform\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
@@ -126,7 +126,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"git_revision:a\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -138,20 +138,20 @@
     "cmd": [
       "cipd",
       "describe",
-      "fuchsia/tools/luci/gsutil/${platform}",
+      "pkgN/${platform}",
       "-version",
       "latest",
       "-json-output",
       "/path/to/tmp/json"
     ],
-    "name": "find common tag.cipd describe fuchsia/tools/luci/gsutil/${platform}",
+    "name": "find common tag.cipd describe pkgN/${platform}",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-IX9BXIY7ZejVNabi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"package\": \"fuchsia/tools/luci/gsutil/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-N1--------------\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgN/resolved-platform\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
@@ -167,7 +167,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"git_revision:a\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -185,9 +185,9 @@
       "-json-output",
       "/path/to/tmp/json",
       "-package",
-      "fuchsia/tools/bb/${platform}=git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616",
+      "pkgM/${platform}=git_revision:a",
       "-package",
-      "fuchsia/tools/luci/gsutil/${platform}=git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616",
+      "pkgN/${platform}=git_revision:a",
       "fuchsia/prebuilts"
     ],
     "cwd": "[START_DIR]/integration",
@@ -197,13 +197,13 @@
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@  \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"fuchsia/tools/bb/${platform}\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"pkgM/${platform}\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"git_revision:a\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"old_version\": \"[OLD_VERSION]\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"fuchsia/tools/luci/gsutil/${platform}\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"pkgN/${platform}\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"git_revision:a\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"old_version\": \"[OLD_VERSION]\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ], @@@",
@@ -230,9 +230,9 @@
     "name": "jiri resolve",
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@output@@Subdir prebuilt/tools/buildbucket@@@",
-      "@@@STEP_LOG_LINE@output@fuchsia/tools/bb/${platform=linux-amd64,mac-amd64} git_revision:aa2dae..@@@",
+      "@@@STEP_LOG_LINE@output@pkgM/${platform=linux-amd64,mac-amd64} git_revision:aa2dae..@@@",
       "@@@STEP_LOG_LINE@output@@Subdir prebuilt/tools/buildbucket@@@",
-      "@@@STEP_LOG_LINE@output@fuchsia/tools/luci/gsutil/${platform=linux-amd64,mac-amd64} git_revision:aa2dae..@@@",
+      "@@@STEP_LOG_LINE@output@pkgN/${platform=linux-amd64,mac-amd64} git_revision:aa2dae..@@@",
       "@@@STEP_LOG_END@output@@@"
     ]
   },
@@ -273,7 +273,7 @@
       "git",
       "commit",
       "-m",
-      "[roll] Roll tools CIPD packages:\n\nfuchsia/tools/bb/linux-amd64 old:https://chrome-infra-packages.appspot.com/p/fuchsia/tools/bb/linux-amd64/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/fuchsia/tools/bb/linux-amd64/+/git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\nfuchsia/tools/bb/mac-amd64 old:https://chrome-infra-packages.appspot.com/p/fuchsia/tools/bb/mac-amd64/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/fuchsia/tools/bb/mac-amd64/+/git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\nfuchsia/tools/luci/gsutil/linux-amd64 old:https://chrome-infra-packages.appspot.com/p/fuchsia/tools/luci/gsutil/linux-amd64/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/fuchsia/tools/luci/gsutil/linux-amd64/+/git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\nfuchsia/tools/luci/gsutil/mac-amd64 old:https://chrome-infra-packages.appspot.com/p/fuchsia/tools/luci/gsutil/mac-amd64/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/fuchsia/tools/luci/gsutil/mac-amd64/+/git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\n\nFrom: [OLD_VERSION]\nTo: git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616\n\nCq-Cl-Tag: roller-builder:tools-roller\nCq-Cl-Tag: roller-bid:8945511751514863184\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Iabc123\n",
+      "[roll] Roll tools CIPD packages:\n\npkgM/linux-amd64 old:https://chrome-infra-packages.appspot.com/p/pkgM/linux-amd64/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgM/linux-amd64/+/git_revision:a\npkgM/mac-amd64 old:https://chrome-infra-packages.appspot.com/p/pkgM/mac-amd64/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgM/mac-amd64/+/git_revision:a\npkgN/linux-amd64 old:https://chrome-infra-packages.appspot.com/p/pkgN/linux-amd64/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgN/linux-amd64/+/git_revision:a\npkgN/mac-amd64 old:https://chrome-infra-packages.appspot.com/p/pkgN/mac-amd64/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgN/mac-amd64/+/git_revision:a\n\nFrom: [OLD_VERSION]\nTo: git_revision:a\n\nCq-Cl-Tag: roller-builder:tools-roller\nCq-Cl-Tag: roller-bid:8945511751514863184\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Iabc123\n",
       "-a"
     ],
     "cwd": "[START_DIR]/integration",
@@ -366,38 +366,16 @@
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"labels\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"Commit-Queue\": {}@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"Commit-Queue\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"approved\": {}@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  \"status\": \"NEW\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"status\": \"MERGED\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@"
     ]
   },
   {
-    "cmd": [
-      "[START_DIR]/cipd/gerrit/gerrit",
-      "change-abandon",
-      "-host",
-      "https://fuchsia-review.googlesource.com",
-      "-input",
-      "{\"change_id\": \"integration~master~Iabc123\"}",
-      "-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/integration",
-    "name": "abandon roll: CQ failed",
-    "~followup_annotations": [
-      "@@@STEP_LOG_END@json.output (invalid)@@@",
-      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
-      "@@@STEP_LOG_END@json.output (exception)@@@",
-      "@@@STEP_LINK@gerrit link@https://fuchsia-review.googlesource.com/q/Iabc123@@@"
-    ]
-  },
-  {
-    "failure": {
-      "failure": {},
-      "humanReason": "Failed to roll changes: CQ failed.\n\nSee the link titled \"gerrit link\" in the build console to access the Gerrit change."
-    },
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/recipes/fuchsia_cipd_roller.expected/noop.json b/recipes/fuchsia_cipd_roller.expected/noop.json
index 94a025a..1123ee1 100644
--- a/recipes/fuchsia_cipd_roller.expected/noop.json
+++ b/recipes/fuchsia_cipd_roller.expected/noop.json
@@ -116,7 +116,7 @@
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-mKI1nni0SW4F1cQA\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-A1--------------\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgA\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
@@ -133,7 +133,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:70.0.3538.30\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:1\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -157,7 +157,7 @@
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-r2S5xldLzzfJa2Vz\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-B1--------------\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgB\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
@@ -174,7 +174,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:70.0.3538.30\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:1\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -198,7 +198,7 @@
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-GDGGW7Xs89z2apGa\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-C1--------------\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgC\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
@@ -215,7 +215,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:70.0.3538.30\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:1\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -233,11 +233,11 @@
       "-json-output",
       "/path/to/tmp/json",
       "-package",
-      "pkgA=version:70.0.3538.30",
+      "pkgA=version:1",
       "-package",
-      "pkgB=version:70.0.3538.30",
+      "pkgB=version:1",
       "-package",
-      "pkgC=version:70.0.3538.30",
+      "pkgC=version:1",
       "chromium/chromium"
     ],
     "cwd": "[START_DIR]/integration",
diff --git a/recipes/fuchsia_cipd_roller.expected/with_debug_symbols.json b/recipes/fuchsia_cipd_roller.expected/with_debug_symbols.json
index 36fbfc4..253701d 100644
--- a/recipes/fuchsia_cipd_roller.expected/with_debug_symbols.json
+++ b/recipes/fuchsia_cipd_roller.expected/with_debug_symbols.json
@@ -109,7 +109,7 @@
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-mKI1nni0SW4F1cQA\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-A2--------------\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgA\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
@@ -126,7 +126,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:70.0.3538.30\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -150,7 +150,7 @@
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-r2S5xldLzzfJa2Vz\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-B2--------------\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgB\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
@@ -167,7 +167,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:70.0.3538.30\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -191,7 +191,7 @@
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-GDGGW7Xs89z2apGa\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-C2--------------\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgC\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
@@ -208,12 +208,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:70.0.3538.30\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:70.0.3538.29\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -225,20 +220,20 @@
     "cmd": [
       "cipd",
       "describe",
-      "chromium/fuchsia/webrunner-debug-symbols-arm64",
+      "pkgX/debug",
       "-version",
       "latest",
       "-json-output",
       "/path/to/tmp/json"
     ],
-    "name": "find common tag.cipd describe chromium/fuchsia/webrunner-debug-symbols-arm64",
+    "name": "find common tag.cipd describe pkgX/debug",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-0soOR1_LGKIyPtlc\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"package\": \"chromium/fuchsia/webrunner-debug-symbols-arm64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-X2--------------\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgX/debug\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
@@ -254,7 +249,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:70.0.3538.30\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -266,20 +261,20 @@
     "cmd": [
       "cipd",
       "describe",
-      "chromium/fuchsia/webrunner-debug-symbols-amd64",
+      "pkgY/debug",
       "-version",
       "latest",
       "-json-output",
       "/path/to/tmp/json"
     ],
-    "name": "find common tag.cipd describe chromium/fuchsia/webrunner-debug-symbols-amd64",
+    "name": "find common tag.cipd describe pkgY/debug",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"pin\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-sI1KHrov4_lmsDNn\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"package\": \"chromium/fuchsia/webrunner-debug-symbols-amd64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-Y2--------------\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"package\": \"pkgY/debug\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    \"refs\": [@@@",
       "@@@STEP_LOG_LINE@json.output@      {@@@",
@@ -295,7 +290,7 @@
       "@@@STEP_LOG_LINE@json.output@      {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_by\": \"user:44-blablbla@developer.gserviceaccount.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"registered_ts\": 1446574210, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:70.0.3538.30\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"tag\": \"version:2\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }@@@",
       "@@@STEP_LOG_LINE@json.output@    ]@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
@@ -313,15 +308,15 @@
       "-json-output",
       "/path/to/tmp/json",
       "-package",
-      "pkgA=version:70.0.3538.30",
+      "pkgA=version:2",
       "-package",
-      "pkgB=version:70.0.3538.30",
+      "pkgB=version:2",
       "-package",
-      "pkgC=version:70.0.3538.30",
+      "pkgC=version:2",
       "-package",
-      "chromium/fuchsia/webrunner-debug-symbols-arm64=version:70.0.3538.30",
+      "pkgX/debug=version:2",
       "-package",
-      "chromium/fuchsia/webrunner-debug-symbols-amd64=version:70.0.3538.30",
+      "pkgY/debug=version:2",
       "chromium/chromium"
     ],
     "cwd": "[START_DIR]/integration",
@@ -332,27 +327,27 @@
       "@@@STEP_LOG_LINE@json.output@  \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"name\": \"pkgA\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:70.0.3538.30\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:2\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"old_version\": \"[OLD_VERSION]\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"name\": \"pkgB\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:70.0.3538.30\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:2\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"old_version\": \"[OLD_VERSION]\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"name\": \"pkgC\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:70.0.3538.30\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:2\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"old_version\": \"[OLD_VERSION]\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"chromium/fuchsia/webrunner-debug-symbols-arm64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:70.0.3538.30\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"pkgX/debug\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:2\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"old_version\": \"[OLD_VERSION]\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }, @@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"chromium/fuchsia/webrunner-debug-symbols-amd64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:70.0.3538.30\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"pkgY/debug\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"new_version\": \"version:2\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"old_version\": \"[OLD_VERSION]\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ], @@@",
@@ -419,7 +414,7 @@
       "git",
       "commit",
       "-m",
-      "[roll] Roll chromium CIPD packages:\n\nchromium/fuchsia/webrunner-debug-symbols-amd64 old:https://chrome-infra-packages.appspot.com/p/chromium/fuchsia/webrunner-debug-symbols-amd64/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/chromium/fuchsia/webrunner-debug-symbols-amd64/+/version:70.0.3538.30\nchromium/fuchsia/webrunner-debug-symbols-arm64 old:https://chrome-infra-packages.appspot.com/p/chromium/fuchsia/webrunner-debug-symbols-arm64/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/chromium/fuchsia/webrunner-debug-symbols-arm64/+/version:70.0.3538.30\npkgA old:https://chrome-infra-packages.appspot.com/p/pkgA/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgA/+/version:70.0.3538.30\npkgB old:https://chrome-infra-packages.appspot.com/p/pkgB/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgB/+/version:70.0.3538.30\npkgC old:https://chrome-infra-packages.appspot.com/p/pkgC/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgC/+/version:70.0.3538.30\n\nFrom: [OLD_VERSION]\nTo: version:70.0.3538.30\n\nCq-Cl-Tag: roller-builder:chromium-roller\nCq-Cl-Tag: roller-bid:8945511751514863184\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Iabc123\n",
+      "[roll] Roll chromium CIPD packages:\n\npkgA old:https://chrome-infra-packages.appspot.com/p/pkgA/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgA/+/version:2\npkgB old:https://chrome-infra-packages.appspot.com/p/pkgB/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgB/+/version:2\npkgC old:https://chrome-infra-packages.appspot.com/p/pkgC/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgC/+/version:2\npkgX/debug old:https://chrome-infra-packages.appspot.com/p/pkgX/debug/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgX/debug/+/version:2\npkgY/debug old:https://chrome-infra-packages.appspot.com/p/pkgY/debug/+/[OLD_VERSION] new:https://chrome-infra-packages.appspot.com/p/pkgY/debug/+/version:2\n\nFrom: [OLD_VERSION]\nTo: version:2\n\nCq-Cl-Tag: roller-builder:chromium-roller\nCq-Cl-Tag: roller-bid:8945511751514863184\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Iabc123\n",
       "-a"
     ],
     "cwd": "[START_DIR]/integration",
@@ -2015,7 +2010,7 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"path\": \"chromium/fuchsia/arm64/webrunner\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"path\": \"pkgA\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@"
     ]
@@ -2045,7 +2040,7 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"path\": \"chromium/fuchsia/amd64/webrunner\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"path\": \"pkgB\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@"
     ]
@@ -2082,7 +2077,7 @@
   },
   {
     "cmd": [],
-    "name": "fetch and upload debug symbols.read_manifest_chromium/fuchsia/webrunner-debug-symbols-arm64",
+    "name": "fetch and upload debug symbols.read_manifest_pkgX/debug",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -2095,18 +2090,18 @@
       "-time",
       "-j=50",
       "-element",
-      "chromium/fuchsia/webrunner-debug-symbols-arm64",
+      "pkgX/debug",
       "-template",
       "\n      {\n        \"name\": \"{{.Name}}\",\n        \"version\": \"{{.Version}}\",\n        \"path\": \"{{.Path}}\",\n        \"internal\": \"{{.Internal}}\",\n        \"attributes\": \"{{.Attributes}}\"\n      }\n      ",
       "chromium/chromium"
     ],
     "cwd": "[START_DIR]/integration",
-    "name": "fetch and upload debug symbols.read_manifest_chromium/fuchsia/webrunner-debug-symbols-arm64.jiri manifest",
+    "name": "fetch and upload debug symbols.read_manifest_pkgX/debug.jiri manifest",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"attributes\": \"debug-symbols,debug-symbols-amd64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@  \"path\": \"prebuilt/build_ids/arm64/webrunner\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"path\": \"pkgX/debug\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@"
     ]
@@ -2119,14 +2114,14 @@
       "--json-output",
       "/path/to/tmp/json",
       "glob",
-      "[START_DIR]/prebuilt/build_ids/arm64/webrunner",
+      "[START_DIR]/pkgX/debug",
       "**/*.tar.bz2"
     ],
     "infra_step": true,
-    "name": "fetch and upload debug symbols.find archives for chromium/fuchsia/webrunner-debug-symbols-arm64",
+    "name": "fetch and upload debug symbols.find archives for pkgX/debug",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@glob@[START_DIR]/prebuilt/build_ids/arm64/webrunner/[START_DIR]/prebuilt/build_ids/arm64/webrunner/symbols.tar.bz2@@@",
+      "@@@STEP_LOG_LINE@glob@[START_DIR]/pkgX/debug/[START_DIR]/pkgX/debug/symbols.tar.bz2@@@",
       "@@@STEP_LOG_END@glob@@@"
     ]
   },
@@ -2136,11 +2131,11 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::archive]/resources/extract.py",
       "--json-input",
-      "{\"archive_file\": \"[START_DIR]/prebuilt/build_ids/arm64/webrunner/[START_DIR]/prebuilt/build_ids/arm64/webrunner/symbols.tar.bz2\", \"include_files\": [], \"output\": \"[START_DIR]/chromium/fuchsia/webrunner-debug-symbols-arm64/symbols.tar.bz2\", \"safe_mode\": true}",
+      "{\"archive_file\": \"[START_DIR]/pkgX/debug/[START_DIR]/pkgX/debug/symbols.tar.bz2\", \"include_files\": [], \"output\": \"[START_DIR]/pkgX/debug/symbols.tar.bz2\", \"safe_mode\": true}",
       "--json-output",
       "/path/to/tmp/json"
     ],
-    "name": "fetch and upload debug symbols.extract [START_DIR]/prebuilt/build_ids/arm64/webrunner/[START_DIR]/prebuilt/build_ids/arm64/webrunner/symbols.tar.bz2",
+    "name": "fetch and upload debug symbols.extract [START_DIR]/pkgX/debug/[START_DIR]/pkgX/debug/symbols.tar.bz2",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_TEXT@<br/>extracted 1337 files - 50159.75 MB@@@",
@@ -2155,7 +2150,7 @@
   },
   {
     "cmd": [],
-    "name": "fetch and upload debug symbols.read_manifest_chromium/fuchsia/webrunner-debug-symbols-amd64",
+    "name": "fetch and upload debug symbols.read_manifest_pkgY/debug",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -2168,18 +2163,18 @@
       "-time",
       "-j=50",
       "-element",
-      "chromium/fuchsia/webrunner-debug-symbols-amd64",
+      "pkgY/debug",
       "-template",
       "\n      {\n        \"name\": \"{{.Name}}\",\n        \"version\": \"{{.Version}}\",\n        \"path\": \"{{.Path}}\",\n        \"internal\": \"{{.Internal}}\",\n        \"attributes\": \"{{.Attributes}}\"\n      }\n      ",
       "chromium/chromium"
     ],
     "cwd": "[START_DIR]/integration",
-    "name": "fetch and upload debug symbols.read_manifest_chromium/fuchsia/webrunner-debug-symbols-amd64.jiri manifest",
+    "name": "fetch and upload debug symbols.read_manifest_pkgY/debug.jiri manifest",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"attributes\": \"debug-symbols,debug-symbols-amd64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@  \"path\": \"prebuilt/build_ids/amd64/webrunner\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"path\": \"pkgY/debug\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@"
     ]
@@ -2192,14 +2187,14 @@
       "--json-output",
       "/path/to/tmp/json",
       "glob",
-      "[START_DIR]/prebuilt/build_ids/amd64/webrunner",
+      "[START_DIR]/pkgY/debug",
       "**/*.tar.bz2"
     ],
     "infra_step": true,
-    "name": "fetch and upload debug symbols.find archives for chromium/fuchsia/webrunner-debug-symbols-amd64",
+    "name": "fetch and upload debug symbols.find archives for pkgY/debug",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@glob@[START_DIR]/prebuilt/build_ids/amd64/webrunner/[START_DIR]/prebuilt/build_ids/amd64/webrunner/symbols.tar.bz2@@@",
+      "@@@STEP_LOG_LINE@glob@[START_DIR]/pkgY/debug/[START_DIR]/pkgY/debug/symbols.tar.bz2@@@",
       "@@@STEP_LOG_END@glob@@@"
     ]
   },
@@ -2209,11 +2204,11 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::archive]/resources/extract.py",
       "--json-input",
-      "{\"archive_file\": \"[START_DIR]/prebuilt/build_ids/amd64/webrunner/[START_DIR]/prebuilt/build_ids/amd64/webrunner/symbols.tar.bz2\", \"include_files\": [], \"output\": \"[START_DIR]/chromium/fuchsia/webrunner-debug-symbols-amd64/symbols.tar.bz2\", \"safe_mode\": true}",
+      "{\"archive_file\": \"[START_DIR]/pkgY/debug/[START_DIR]/pkgY/debug/symbols.tar.bz2\", \"include_files\": [], \"output\": \"[START_DIR]/pkgY/debug/symbols.tar.bz2\", \"safe_mode\": true}",
       "--json-output",
       "/path/to/tmp/json"
     ],
-    "name": "fetch and upload debug symbols.extract [START_DIR]/prebuilt/build_ids/amd64/webrunner/[START_DIR]/prebuilt/build_ids/amd64/webrunner/symbols.tar.bz2",
+    "name": "fetch and upload debug symbols.extract [START_DIR]/pkgY/debug/[START_DIR]/pkgY/debug/symbols.tar.bz2",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_TEXT@<br/>extracted 1337 files - 50159.75 MB@@@",
@@ -2233,8 +2228,8 @@
       "foo-bucket",
       "-j",
       "1000",
-      "[START_DIR]/chromium/fuchsia/webrunner-debug-symbols-arm64/symbols.tar.bz2",
-      "[START_DIR]/chromium/fuchsia/webrunner-debug-symbols-amd64/symbols.tar.bz2"
+      "[START_DIR]/pkgX/debug/symbols.tar.bz2",
+      "[START_DIR]/pkgY/debug/symbols.tar.bz2"
     ],
     "infra_step": true,
     "name": "fetch and upload debug symbols.upload debug symbols",
@@ -2249,8 +2244,8 @@
       "bar-bucket",
       "-j",
       "1000",
-      "[START_DIR]/chromium/fuchsia/webrunner-debug-symbols-arm64/symbols.tar.bz2",
-      "[START_DIR]/chromium/fuchsia/webrunner-debug-symbols-amd64/symbols.tar.bz2"
+      "[START_DIR]/pkgX/debug/symbols.tar.bz2",
+      "[START_DIR]/pkgY/debug/symbols.tar.bz2"
     ],
     "infra_step": true,
     "name": "fetch and upload debug symbols.upload debug symbols (2)",
diff --git a/recipes/fuchsia_cipd_roller.py b/recipes/fuchsia_cipd_roller.py
index 8475d3c..7266d56 100644
--- a/recipes/fuchsia_cipd_roller.py
+++ b/recipes/fuchsia_cipd_roller.py
@@ -166,10 +166,12 @@
     pkg = packages[i]
     i += 1
     tags = get_tags_from_cipd(api, pkg, tag, ref)
-    if common_tags.intersection(tags):
+    intersection = common_tags.intersection(tags)
+    if intersection:
       # This package's latest instance shares some tags with the previous
-      # packages' latest instances, so we're all good.
-      common_tags.intersection_update(tags)
+      # packages' latest instances, so we still have some common tag candidates
+      # and can move on to the next package.
+      common_tags = intersection
       continue
 
     # Else, the instance of `pkg` at `ref` does not share any tags with all the
@@ -201,8 +203,8 @@
       # This package has not yet been updated to the version of the
       # representative package instance. Go back and start over with *this*
       # package as the new representative.
-      common_tags = tags
       found_outdated_package = True
+      common_tags = tags
       i = 0
     else:
       # We should only "backtrack" once (i.e., find a package whose latest
@@ -429,16 +431,9 @@
 
 def GenTests(api):
   default_packages = ['pkgA', 'pkgB', 'pkgC']
-  debug_symbol_packages = [
-      'chromium/fuchsia/webrunner-debug-symbols-arm64',
-      'chromium/fuchsia/webrunner-debug-symbols-amd64'
-  ]
-  platform_packages = [
-      'fuchsia/tools/bb/${platform}', 'fuchsia/tools/luci/gsutil/${platform}'
-  ]
-  default_lockfiles = [
-      'integration/flower=integration/jiri.lock',
-  ]
+  debug_symbol_packages = ['pkgX/debug', 'pkgY/debug']
+  platform_packages = ['pkgM/${platform}', 'pkgN/${platform}']
+  default_lockfiles = ['integration/flower=integration/jiri.lock']
 
   default_properties = api.properties(
       project='integration',
@@ -447,7 +442,8 @@
       import_in='chromium/chromium',
       packages=default_packages,
       lockfiles=default_lockfiles,
-      owners=['nobody@google.com', 'noreply@google.com'])
+      owners=['nobody@google.com', 'noreply@google.com'],
+  )
 
   debug_symbols_properties = api.properties(
       project='integration',
@@ -466,11 +462,13 @@
       import_in='fuchsia/prebuilts',
       packages=platform_packages,
       lockfiles=default_lockfiles,
-      tag='git_revision')
+      tag='git_revision',
+  )
 
   def cipd_describe(pkg, version, tags, second=False):
+    suffix = ' (2)' if second else ''
     return api.step_data(
-        'find common tag.cipd describe %s%s' % (pkg, ' (2)' if second else ''),
+        'find common tag.cipd describe %s%s' % (pkg, suffix),
         api.cipd.example_describe(
             package_name=pkg, version=version, test_data_tags=tags))
 
@@ -481,37 +479,19 @@
     )
 
   def cipd_search_and_describe(pkg, version, tag):
-    return cipd_search(
-        pkg, tag, instances=[version]) + cipd_describe(
-            pkg, version, [tag], second=True)
+    return (cipd_search(pkg, tag, instances=[version]) +
+            cipd_describe(pkg, version, [tag], second=True))
 
   # yapf: disable
-  yield (api.test('default') + default_properties + api.step_data(
-      'find common tag.cipd describe pkgC',
-      api.cipd.example_describe(
-          package_name='pkgC',
-          version='GDGGW7Xs89z2apGaYf1mDvbQuHfYIoPexfedNzvKodUC',
-          test_data_tags=[
-              'version:70.0.3538.30',
-              'version:70.0.3538.29',
-          ])) + api.step_data(
-              'find common tag.cipd describe pkgB',
-              api.cipd.example_describe(
-                  package_name='pkgB',
-                  version='r2S5xldLzzfJa2VzOYgoC6TsIWePSDLBI5FRywd_gHAC',
-                  test_data_tags=[
-                      'version:70.0.3538.30',
-                  ])) +
-         api.step_data(
-             'find common tag.cipd describe pkgA',
-             api.cipd.example_describe(
-                 package_name='pkgA',
-                 version='mKI1nni0SW4F1cQAuYnkYU_RtDv47noSKO9vGHJVjzYC',
-                 test_data_tags=[
-                     'version:70.0.3538.30',
-                 ])) + api.auto_roller.dry_run_step_data() +
-         api.buildbucket.build(
-             api.buildbucket.ci_build_message(builder='chromium-roller')))
+  yield (
+      api.status_check.test('default')
+      + default_properties
+      + cipd_describe('pkgA', version='A2', tags=['version:2'])
+      + cipd_describe('pkgB', version='B2', tags=['version:2'])
+      + cipd_describe('pkgC', version='C2', tags=['version:2', 'version:1'])
+      + api.auto_roller.success_step_data()
+      + api.buildbucket.ci_build(builder='chromium-roller')
+  )
 
   yield (
       api.status_check.test('last_package_out_of_date')
@@ -585,159 +565,63 @@
       + cipd_search('pkgA', tag='version:1', instances=[])
   )
 
-  yield (api.test('noop') + default_properties + api.step_data(
-      'find common tag.cipd describe pkgC',
-      api.cipd.example_describe(
-          package_name='pkgC',
-          version='GDGGW7Xs89z2apGaYf1mDvbQuHfYIoPexfedNzvKodUC',
-          test_data_tags=[
-              'version:70.0.3538.30',
-          ])) + api.step_data(
-              'find common tag.cipd describe pkgB',
-              api.cipd.example_describe(
-                  package_name='pkgB',
-                  version='r2S5xldLzzfJa2VzOYgoC6TsIWePSDLBI5FRywd_gHAC',
-                  test_data_tags=[
-                      'version:70.0.3538.30',
-                  ])) +
-         api.step_data(
-             'find common tag.cipd describe pkgA',
-             api.cipd.example_describe(
-                 package_name='pkgA',
-                 version='mKI1nni0SW4F1cQAuYnkYU_RtDv47noSKO9vGHJVjzYC',
-                 test_data_tags=[
-                     'version:70.0.3538.30',
-                 ])) +
-         api.step_data('jiri edit', api.json.output({'packages': []})))
+  yield (
+      api.status_check.test('noop')
+      + default_properties
+      + cipd_describe('pkgA', version='A1', tags=['version:1'])
+      + cipd_describe('pkgB', version='B1', tags=['version:1'])
+      + cipd_describe('pkgC', version='C1', tags=['version:1'])
+      + api.step_data('jiri edit', api.json.output({'packages': []}))
+  )
 
-  yield (api.test('default_with_platform') + platform_pkg_properties +
-         api.step_data(
-             'find common tag.cipd describe fuchsia/tools/bb/${platform}',
-             api.cipd.example_describe(
-                 package_name='fuchsia/tools/bb/${platform}',
-                 version='IX9BXIY7ZejVNabi6zF5lyq2KIW_ABFvBf1u3Cjr2dIC',
-                 test_data_tags=[
-                     'git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616',
-                 ])) +
-         api.step_data(
-             'find common tag.cipd describe fuchsia/tools/luci/gsutil/${platform}',
-             api.cipd.example_describe(
-                 package_name='fuchsia/tools/luci/gsutil/${platform}',
-                 version='IX9BXIY7ZejVNabi6zF5lyq2KIW_ABFvBf1u3Cjr2dIC',
-                 test_data_tags=[
-                     'git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616',
-                 ])) + api.auto_roller.dry_run_step_data() +
-         api.buildbucket.build(
-             api.buildbucket.ci_build_message(builder='tools-roller')))
+  yield (
+      api.status_check.test('default_with_platform')
+      + platform_pkg_properties
+      + cipd_describe('pkgM/${platform}', version='M1', tags=['git_revision:a'])
+      + cipd_describe('pkgN/${platform}', version='N1', tags=['git_revision:a'])
+      + api.auto_roller.success_step_data()
+      + api.buildbucket.ci_build(builder='tools-roller')
+  )
 
-  yield (api.test('default_platform_not_resolved') + platform_pkg_properties +
-         api.step_data(
-             'find common tag.cipd describe fuchsia/tools/bb/${platform}',
-             api.cipd.example_describe(
-                 package_name='fuchsia/tools/bb/${platform}',
-                 version='IX9BXIY7ZejVNabi6zF5lyq2KIW_ABFvBf1u3Cjr2dIC',
-                 test_data_tags=[
-                     'git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616',
-                 ])) +
-         api.step_data(
-             'find common tag.cipd describe fuchsia/tools/luci/gsutil/${platform}',
-             api.cipd.example_describe(
-                 package_name='fuchsia/tools/luci/gsutil/${platform}',
-                 version='IX9BXIY7ZejVNabi6zF5lyq2KIW_ABFvBf1u3Cjr2dIC',
-                 test_data_tags=[
-                     'git_revision:aa2dae2ba04148bbe29726c64cfd9d40b6fc2616',
-                 ])) +
-         api.step_data('jiri resolve', api.raw_io.stream_output('')) +
-         api.auto_roller.dry_run_step_data() + api.buildbucket.build(
-             api.buildbucket.ci_build_message(builder='tools-roller')))
+  yield (
+      api.status_check.test('default_platform_not_resolved')
+      + platform_pkg_properties
+      + cipd_describe('pkgM/${platform}', version='M1', tags=['git_revision:a'])
+      + cipd_describe('pkgN/${platform}', version='N1', tags=['git_revision:a'])
+      + api.step_data('jiri resolve', api.raw_io.stream_output(''))
+      + api.auto_roller.success_step_data()
+      + api.buildbucket.ci_build(builder='tools-roller')
+  )
 
-  yield (api.test('with_debug_symbols') + debug_symbols_properties +
-         api.step_data(
-             'find common tag.cipd describe pkgC',
-             api.cipd.example_describe(
-                 package_name='pkgC',
-                 version='GDGGW7Xs89z2apGaYf1mDvbQuHfYIoPexfedNzvKodUC',
-                 test_data_tags=[
-                     'version:70.0.3538.30',
-                     'version:70.0.3538.29',
-                 ])) + api.step_data(
-                     'find common tag.cipd describe pkgB',
-                     api.cipd.example_describe(
-                         package_name='pkgB',
-                         version='r2S5xldLzzfJa2VzOYgoC6TsIWePSDLBI5FRywd_gHAC',
-                         test_data_tags=[
-                             'version:70.0.3538.30',
-                         ])) +
-         api.step_data(
-             'find common tag.cipd describe pkgA',
-             api.cipd.example_describe(
-                 package_name='pkgA',
-                 version='mKI1nni0SW4F1cQAuYnkYU_RtDv47noSKO9vGHJVjzYC',
-                 test_data_tags=[
-                     'version:70.0.3538.30',
-                 ])) +
-         api.step_data(
-             'find common tag.cipd describe chromium/fuchsia/webrunner-debug-symbols-amd64',
-             api.cipd.example_describe(
-                 package_name='chromium/fuchsia/webrunner-debug-symbols-amd64',
-                 version='sI1KHrov4_lmsDNnkSJ0MHnKgEtWSl8XRCNRhpAhkacC',
-                 test_data_tags=[
-                     'version:70.0.3538.30',
-                 ])) +
-         api.step_data(
-             'find common tag.cipd describe chromium/fuchsia/webrunner-debug-symbols-arm64',
-             api.cipd.example_describe(
-                 package_name='chromium/fuchsia/webrunner-debug-symbols-arm64',
-                 version='0soOR1_LGKIyPtlcA2mtD9dHQoKd0K1kkusVwcXLNLAC',
-                 test_data_tags=[
-                     'version:70.0.3538.30',
-                 ])) + api.jiri.read_manifest_element(
-                     api,
-                     'chromium/chromium',
-                     'package',
-                     'chromium/fuchsia/webrunner-debug-symbols-amd64',
-                     test_output={
-                         'path': 'prebuilt/build_ids/amd64/webrunner',
-                         'attributes': 'debug-symbols,debug-symbols-amd64',
-                     },
-                     nesting='fetch and upload debug symbols') +
-         api.jiri.read_manifest_element(
-             api,
-             'chromium/chromium',
-             'package',
-             'chromium/fuchsia/webrunner-debug-symbols-arm64',
-             test_output={
-                 'path': 'prebuilt/build_ids/arm64/webrunner',
-                 'attributes': 'debug-symbols,debug-symbols-amd64',
-             },
-             nesting='fetch and upload debug symbols') +
-         api.jiri.read_manifest_element(
-             api,
-             'chromium/chromium',
-             'package',
-             'pkgA',
-             test_output={
-                 'path': 'chromium/fuchsia/arm64/webrunner',
-             },
-             nesting='fetch and upload debug symbols') +
-         api.jiri.read_manifest_element(
-             api,
-             'chromium/chromium',
-             'package',
-             'pkgB',
-             test_output={
-                 'path': 'chromium/fuchsia/amd64/webrunner',
-             },
-             nesting='fetch and upload debug symbols') +
-         api.jiri.read_manifest_element(
-             api,
-             'chromium/chromium',
-             'package',
-             'pkgC',
-             test_output={
-                 'path': 'pkgC',
-             },
-             nesting='fetch and upload debug symbols') +
-         api.auto_roller.success_step_data() + api.buildbucket.build(
-             api.buildbucket.ci_build_message(builder='chromium-roller')))
+  def fetch_debug_symbols(pkg, attributes=None):
+    test_output = {'path': pkg}
+    if attributes:
+      test_output['attributes'] = attributes
+    return api.jiri.read_manifest_element(
+        api,
+        'chromium/chromium',
+        'package',
+        pkg,
+        test_output=test_output,
+        nesting='fetch and upload debug symbols',
+    )
+
+  yield (
+      api.status_check.test('with_debug_symbols')
+      + debug_symbols_properties
+      + cipd_describe('pkgA', version='A2', tags=['version:2'])
+      + cipd_describe('pkgB', version='B2', tags=['version:2'])
+      + cipd_describe('pkgC', version='C2', tags=['version:2'])
+      + cipd_describe('pkgX/debug', version='X2', tags=['version:2'])
+      + cipd_describe('pkgY/debug', version='Y2', tags=['version:2'])
+      + fetch_debug_symbols(
+          'pkgX/debug', attributes='debug-symbols,debug-symbols-amd64')
+      + fetch_debug_symbols(
+          'pkgY/debug', attributes='debug-symbols,debug-symbols-amd64')
+      + fetch_debug_symbols('pkgA')
+      + fetch_debug_symbols('pkgB')
+      + fetch_debug_symbols('pkgC')
+      + api.auto_roller.success_step_data()
+      + api.buildbucket.ci_build(builder='chromium-roller')
+  )
   # yapf: enable