[dart] Upgrade vpython3 and remove python 2.x remnants

Bug: b/202110580
Change-Id: I81cc02fc082091adc6eae13abe3da69926238c40
Reviewed-on: https://dart-review.googlesource.com/c/recipes/+/365000
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
diff --git a/recipe_modules/dart/api.py b/recipe_modules/dart/api.py
index ce6cbdd..a54d656 100644
--- a/recipe_modules/dart/api.py
+++ b/recipe_modules/dart/api.py
@@ -224,24 +224,15 @@
     if not cipd_ensure_file:  # pragma: no cover
       cipd_ensure_file = self.m.cipd.EnsureFile()
     cipd_ensure_file.add_package(
-        'infra/tools/luci/vpython/${platform}',
-        'git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6',
+        'infra/tools/luci/vpython3/${platform}',
+        'git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e',
         'cipd_bin_packages')
-    cipd_ensure_file.add_package(
-        'infra/tools/luci/vpython-native/${platform}',
-        'git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6',
-        'cipd_bin_packages')
-    cipd_ensure_file.add_package('infra/3pp/tools/cpython/${platform}',
-                                 'version:2@2.7.18.chromium.39',
-                                 'cipd_bin_packages/cpython')
     cipd_ensure_file.add_package('infra/3pp/tools/cpython3/${platform}',
                                  'version:2@3.8.10.chromium.21',
                                  'cipd_bin_packages/cpython3')
     path_prefixes = [
         'cipd_bin_packages',
         'cipd_bin_packages/bin',
-        'cipd_bin_packages/cpython',
-        'cipd_bin_packages/cpython/bin',
         'cipd_bin_packages/cpython3',
         'cipd_bin_packages/cpython3/bin',
     ]
diff --git a/recipe_modules/dart/examples/example.expected/analyzer-linux-release-main.json b/recipe_modules/dart/examples/example.expected/analyzer-linux-release-main.json
index 1b5068f..ff3398f 100644
--- a/recipe_modules/dart/examples/example.expected/analyzer-linux-release-main.json
+++ b/recipe_modules/dart/examples/example.expected/analyzer-linux-release-main.json
@@ -1064,7 +1064,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nunittest-asserts-release-linux\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"experimental\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"test1_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nunittest-asserts-release-linux\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"experimental\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nunittest-asserts-release-linux\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"experimental\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"test1_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nunittest-asserts-release-linux\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"experimental\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1141,19 +1141,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1218,8 +1208,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1261,19 +1249,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1338,8 +1316,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1643,7 +1619,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test3_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nanalyzer-asserts-linux\", \"foo\", \"--bar\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"experimental\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test3_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nanalyzer-asserts-linux\", \"foo\", \"--bar\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"experimental\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1714,19 +1690,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1793,8 +1759,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -2372,7 +2336,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nunittest-asserts-release-linux\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"experimental\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nunittest-asserts-release-linux\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"experimental\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -2446,19 +2410,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -2525,8 +2479,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
diff --git a/recipe_modules/dart/examples/example.expected/analyzer-linux-release.json b/recipe_modules/dart/examples/example.expected/analyzer-linux-release.json
index ab76843..4dcbb18 100644
--- a/recipe_modules/dart/examples/example.expected/analyzer-linux-release.json
+++ b/recipe_modules/dart/examples/example.expected/analyzer-linux-release.json
@@ -1060,7 +1060,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nunittest-asserts-release-linux\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"test1_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nunittest-asserts-release-linux\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nunittest-asserts-release-linux\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"test1_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nunittest-asserts-release-linux\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1136,19 +1136,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1213,8 +1203,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1256,19 +1244,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1333,8 +1311,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1634,7 +1610,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test3_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nanalyzer-asserts-linux\", \"foo\", \"--bar\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test3_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nanalyzer-asserts-linux\", \"foo\", \"--bar\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1704,19 +1680,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1783,8 +1749,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -2359,7 +2323,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nunittest-asserts-release-linux\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nunittest-asserts-release-linux\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -2432,19 +2396,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -2511,8 +2465,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
diff --git a/recipe_modules/dart/examples/example.expected/basic-mac.json b/recipe_modules/dart/examples/example.expected/basic-mac.json
index bf34acf..40975fa 100644
--- a/recipe_modules/dart/examples/example.expected/basic-mac.json
+++ b/recipe_modules/dart/examples/example.expected/basic-mac.json
@@ -985,7 +985,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/chrome/${platform}\", \"path\": \"third_party/browsers/chrome\", \"version\": \"version:81\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-mac-chrome\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--chrome=third_party/browsers/chrome/Google Chrome.app/Contents/MacOS/Google Chrome\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Mac\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"test1_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/chrome/${platform}\", \"path\": \"third_party/browsers/chrome\", \"version\": \"version:81\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-mac-chrome\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--chrome=third_party/browsers/chrome/Google Chrome.app/Contents/MacOS/Google Chrome\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Mac\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/chrome/${platform}\", \"path\": \"third_party/browsers/chrome\", \"version\": \"version:81\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-mac-chrome\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--chrome=third_party/browsers/chrome/Google Chrome.app/Contents/MacOS/Google Chrome\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Mac\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"test1_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/chrome/${platform}\", \"path\": \"third_party/browsers/chrome\", \"version\": \"version:81\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-mac-chrome\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--chrome=third_party/browsers/chrome/Google Chrome.app/Contents/MacOS/Google Chrome\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Mac\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1061,19 +1061,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1147,8 +1137,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1190,19 +1178,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1276,8 +1254,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1877,7 +1853,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/chrome/${platform}\", \"path\": \"third_party/browsers/chrome\", \"version\": \"version:81\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-mac-chrome\", \"foo\", \"--bar\", \"-e co19, language\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--chrome=third_party/browsers/chrome/Google Chrome.app/Contents/MacOS/Google Chrome\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Mac\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/chrome/${platform}\", \"path\": \"third_party/browsers/chrome\", \"version\": \"version:81\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-mac-chrome\", \"foo\", \"--bar\", \"-e co19, language\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--chrome=third_party/browsers/chrome/Google Chrome.app/Contents/MacOS/Google Chrome\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Mac\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1950,19 +1926,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -2038,8 +2004,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
diff --git a/recipe_modules/dart/examples/example.expected/bisection-does-not-refer-to-latest-build-or-publish-results.json b/recipe_modules/dart/examples/example.expected/bisection-does-not-refer-to-latest-build-or-publish-results.json
index e05237e..29ba424 100644
--- a/recipe_modules/dart/examples/example.expected/bisection-does-not-refer-to-latest-build-or-publish-results.json
+++ b/recipe_modules/dart/examples/example.expected/bisection-does-not-refer-to-latest-build-or-publish-results.json
@@ -959,7 +959,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"test1_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"test1_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1035,19 +1035,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1118,8 +1108,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1161,19 +1149,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1244,8 +1222,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1853,7 +1829,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1926,19 +1902,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -2011,8 +1977,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
diff --git a/recipe_modules/dart/examples/example.expected/branch-try-builder-does-not-publish-results.json b/recipe_modules/dart/examples/example.expected/branch-try-builder-does-not-publish-results.json
index 9a08a42..a3cda18 100644
--- a/recipe_modules/dart/examples/example.expected/branch-try-builder-does-not-publish-results.json
+++ b/recipe_modules/dart/examples/example.expected/branch-try-builder-does-not-publish-results.json
@@ -1086,7 +1086,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:try\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/firefox/${platform}\", \"path\": \"third_party/browsers/firefox\", \"version\": \"version:67\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--firefox=third_party/browsers/firefox/firefox/firefox\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"test1_shard_2\", \"priority\": \"25\", \"realm\": \"dart:try\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/firefox/${platform}\", \"path\": \"third_party/browsers/firefox\", \"version\": \"version:67\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--firefox=third_party/browsers/firefox/firefox/firefox\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:try\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/firefox/${platform}\", \"path\": \"third_party/browsers/firefox\", \"version\": \"version:67\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--firefox=third_party/browsers/firefox/firefox/firefox\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"test1_shard_2\", \"priority\": \"25\", \"realm\": \"dart:try\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/firefox/${platform}\", \"path\": \"third_party/browsers/firefox\", \"version\": \"version:67\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--firefox=third_party/browsers/firefox/firefox/firefox\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1162,19 +1162,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1251,8 +1241,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1294,19 +1282,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1383,8 +1361,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1993,7 +1969,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:try\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/firefox/${platform}\", \"path\": \"third_party/browsers/firefox\", \"version\": \"version:67\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--firefox=third_party/browsers/firefox/firefox/firefox\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:try\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/firefox/${platform}\", \"path\": \"third_party/browsers/firefox\", \"version\": \"version:67\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--firefox=third_party/browsers/firefox/firefox/firefox\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -2066,19 +2042,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -2157,8 +2123,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
diff --git a/recipe_modules/dart/examples/example.expected/co19.json b/recipe_modules/dart/examples/example.expected/co19.json
index 7edc776..c12341b 100644
--- a/recipe_modules/dart/examples/example.expected/co19.json
+++ b/recipe_modules/dart/examples/example.expected/co19.json
@@ -113,7 +113,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"co19_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/third_party/co19\", \"path\": \"tests/co19/src\", \"version\": \"git_revision:co19_hash\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"co19/nnbd\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"co19_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/third_party/co19\", \"path\": \"tests/co19/src\", \"version\": \"git_revision:co19_hash\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"co19/nnbd\", \"--silent-failures\", \"--copy-coredumps\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -183,19 +183,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -265,8 +255,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -460,7 +448,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"co19_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/third_party/co19\", \"path\": \"tests/co19/src\", \"version\": \"git_revision:co19_hash\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"co19/nnbd\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"co19_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/third_party/co19\", \"path\": \"tests/co19/src\", \"version\": \"git_revision:co19_hash\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"co19/nnbd\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -533,19 +521,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -617,8 +595,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
diff --git a/recipe_modules/dart/examples/example.expected/example-android.json b/recipe_modules/dart/examples/example.expected/example-android.json
index 02d19ca..358dd51 100644
--- a/recipe_modules/dart/examples/example.expected/example-android.json
+++ b/recipe_modules/dart/examples/example.expected/example-android.json
@@ -960,7 +960,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"android_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndartkp-android-release-arm64c\", \"--silent-failures\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"host_class\", \"value\": \"android\"}, {\"key\": \"os\", \"value\": \"Android\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"android_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndartkp-android-release-arm64c\", \"--silent-failures\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"host_class\", \"value\": \"android\"}, {\"key\": \"os\", \"value\": \"Android\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"android_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndartkp-android-release-arm64c\", \"--silent-failures\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"host_class\", \"value\": \"android\"}, {\"key\": \"os\", \"value\": \"Android\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"android_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndartkp-android-release-arm64c\", \"--silent-failures\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"host_class\", \"value\": \"android\"}, {\"key\": \"os\", \"value\": \"Android\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1036,19 +1036,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1112,8 +1102,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1155,19 +1143,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1231,8 +1209,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1559,7 +1535,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"android_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndartkp-android-release-arm64c\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"host_class\", \"value\": \"android\"}, {\"key\": \"os\", \"value\": \"Android\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"android_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndartkp-android-release-arm64c\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"host_class\", \"value\": \"android\"}, {\"key\": \"os\", \"value\": \"Android\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1632,19 +1608,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1710,8 +1676,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
diff --git a/recipe_modules/dart/examples/example.expected/fuzz-test.json b/recipe_modules/dart/examples/example.expected/fuzz-test.json
index e948649..a056e70 100644
--- a/recipe_modules/dart/examples/example.expected/fuzz-test.json
+++ b/recipe_modules/dart/examples/example.expected/fuzz-test.json
@@ -835,7 +835,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"make a fuzz_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"out/ReleaseX64/dart\", \"runtime/tools/dartfuzz/dartfuzz_test.dart\", \"--isolates\", \"8\", \"--no-show-stats\", \"--time\", \"2700\", \"--shards=3\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"make a fuzz_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"out/ReleaseX64/dart\", \"runtime/tools/dartfuzz/dartfuzz_test.dart\", \"--isolates\", \"8\", \"--no-show-stats\", \"--time\", \"2700\", \"--shards=3\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"make a fuzz_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"out/ReleaseX64/dart\", \"runtime/tools/dartfuzz/dartfuzz_test.dart\", \"--isolates\", \"8\", \"--no-show-stats\", \"--time\", \"2700\", \"--shards=3\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"make a fuzz_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"out/ReleaseX64/dart\", \"runtime/tools/dartfuzz/dartfuzz_test.dart\", \"--isolates\", \"8\", \"--no-show-stats\", \"--time\", \"2700\", \"--shards=3\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -911,19 +911,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -983,8 +973,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1026,19 +1014,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1098,8 +1076,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
diff --git a/recipe_modules/dart/examples/example.expected/try-builder-publishes-results.json b/recipe_modules/dart/examples/example.expected/try-builder-publishes-results.json
index 91dab71..70785f9 100644
--- a/recipe_modules/dart/examples/example.expected/try-builder-publishes-results.json
+++ b/recipe_modules/dart/examples/example.expected/try-builder-publishes-results.json
@@ -1086,7 +1086,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:try\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/firefox/${platform}\", \"path\": \"third_party/browsers/firefox\", \"version\": \"version:67\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--firefox=third_party/browsers/firefox/firefox/firefox\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"test1_shard_2\", \"priority\": \"25\", \"realm\": \"dart:try\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/firefox/${platform}\", \"path\": \"third_party/browsers/firefox\", \"version\": \"version:67\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--firefox=third_party/browsers/firefox/firefox/firefox\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:try\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/firefox/${platform}\", \"path\": \"third_party/browsers/firefox\", \"version\": \"version:67\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--firefox=third_party/browsers/firefox/firefox/firefox\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"test1_shard_2\", \"priority\": \"25\", \"realm\": \"dart:try\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/firefox/${platform}\", \"path\": \"third_party/browsers/firefox\", \"version\": \"version:67\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--silent-failures\", \"--copy-coredumps\", \"--firefox=third_party/browsers/firefox/firefox/firefox\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1162,19 +1162,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1251,8 +1241,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1294,19 +1282,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1383,8 +1361,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1993,7 +1969,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:try\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/firefox/${platform}\", \"path\": \"third_party/browsers/firefox\", \"version\": \"version:67\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--firefox=third_party/browsers/firefox/firefox/firefox\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"realm\": \"dart:try\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/browsers/firefox/${platform}\", \"path\": \"third_party/browsers/firefox\", \"version\": \"version:67\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"/usr/bin/xvfb-run\", \"-a\", \"--server-args=-screen 0 1024x768x24\", \"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-linux-firefox\", \"foo\", \"--bar\", \"-e co19, language\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--firefox=third_party/browsers/firefox/firefox/firefox\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Linux\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -2066,19 +2042,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -2157,8 +2123,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
diff --git a/recipe_modules/dart/examples/example.expected/vm-win-arm64.json b/recipe_modules/dart/examples/example.expected/vm-win-arm64.json
index cfd3bac..5a56d1f 100644
--- a/recipe_modules/dart/examples/example.expected/vm-win-arm64.json
+++ b/recipe_modules/dart/examples/example.expected/vm-win-arm64.json
@@ -1064,7 +1064,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"vm tests_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-arm64\", \"--silent-failures\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"luci.flutter.staging\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"vm tests_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-arm64\", \"--silent-failures\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"luci.flutter.staging\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"vm tests_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-arm64\", \"--silent-failures\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"luci.flutter.staging\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"vm tests_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-arm64\", \"--silent-failures\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"luci.flutter.staging\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1141,19 +1141,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1215,8 +1205,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1258,19 +1246,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1332,8 +1310,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1368,7 +1344,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"vm co19 tests_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/third_party/co19\", \"path\": \"tests/co19/src\", \"version\": \"git_revision:co19_hash\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-arm64\", \"co19\", \"--silent-failures\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"luci.flutter.staging\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"vm co19 tests_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/third_party/co19\", \"path\": \"tests/co19/src\", \"version\": \"git_revision:co19_hash\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-arm64\", \"co19\", \"--silent-failures\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"luci.flutter.staging\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1439,19 +1415,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1519,8 +1485,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -2098,7 +2062,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"vm tests_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-arm64\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"luci.flutter.staging\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"vm tests_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-arm64\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"luci.flutter.staging\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -2172,19 +2136,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -2248,8 +2202,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
diff --git a/recipe_modules/dart/examples/example.expected/vm-win-x64.json b/recipe_modules/dart/examples/example.expected/vm-win-x64.json
index c1abca8..8f13570 100644
--- a/recipe_modules/dart/examples/example.expected/vm-win-x64.json
+++ b/recipe_modules/dart/examples/example.expected/vm-win-x64.json
@@ -1064,7 +1064,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"vm tests_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-x64\", \"--silent-failures\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"vm tests_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-x64\", \"--silent-failures\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"vm tests_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-x64\", \"--silent-failures\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}, {\"name\": \"vm tests_shard_2\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-x64\", \"--silent-failures\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1141,19 +1141,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1219,8 +1209,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1262,19 +1250,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1340,8 +1318,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -1376,7 +1352,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"vm co19 tests_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/third_party/co19\", \"path\": \"tests/co19/src\", \"version\": \"git_revision:co19_hash\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-x64\", \"co19\", \"--silent-failures\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"vm co19 tests_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/third_party/co19\", \"path\": \"tests/co19/src\", \"version\": \"git_revision:co19_hash\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-x64\", \"co19\", \"--silent-failures\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -1447,19 +1423,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -1531,8 +1497,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",
@@ -2110,7 +2074,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"vm tests_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2@2.7.18.chromium.39\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-x64\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython\", \"cipd_bin_packages/cpython/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
+      "{\"requests\": [{\"name\": \"vm tests_shard_1\", \"priority\": \"25\", \"realm\": \"dart:ci\", \"service_account\": \"\", \"tags\": [\"optional:true\"], \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cas_input_root\": {\"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \"digest\": {\"hash\": \"test_hash\", \"size_bytes\": \"47\"}}, \"cipd_input\": {\"packages\": [{\"package_name\": \"infra/tools/luci/vpython3/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:2@3.8.10.chromium.21\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"version:2.9.0-18.0.dev\"}]}, \"command\": [\"python3\", \"-u\", \"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-nvm-win-release-x64\", \"--repeat=5\", \"--tests\", \"Flaky/Test/1\\nFlaky/Test/2\", \"--copy-coredumps\", \"--cleanup-dart-processes\", \"--shards=1\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\", \"--previous-results=LATEST/results.json\"], \"containment\": {\"containment_type\": \"AUTO\"}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"key\": \"host_class\", \"value\": \"default\"}, {\"key\": \"os\", \"value\": \"Windows\"}, {\"key\": \"pool\", \"value\": \"dart.tests\"}], \"env\": [{\"key\": \"VPYTHON_VIRTUALENV_ROOT\", \"value\": \"cache/vpython\"}], \"env_prefixes\": [{\"key\": \"PATH\", \"value\": [\"cipd_bin_packages\", \"cipd_bin_packages/bin\", \"cipd_bin_packages/cpython3\", \"cipd_bin_packages/cpython3/bin\"]}], \"execution_timeout_secs\": \"3600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"io_timeout_secs\": \"1200\", \"outputs\": [], \"relative_cwd\": \"\"}, \"wait_for_capacity\": false}]}]}",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -2184,19 +2148,9 @@
       "@@@STEP_LOG_LINE@json.input@            \"cipd_input\": {@@@",
       "@@@STEP_LOG_LINE@json.input@              \"packages\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython/${platform}\",@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython3/${platform}\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/tools/luci/vpython-native/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:a058ec28ee4f76d255fdc3e1676a8eb2e39479b6\"@@@",
-      "@@@STEP_LOG_LINE@json.input@                },@@@",
-      "@@@STEP_LOG_LINE@json.input@                {@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython/${platform}\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"path\": \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"version:2@2.7.18.chromium.39\"@@@",
+      "@@@STEP_LOG_LINE@json.input@                  \"version\": \"git_revision:54edd25b784c750239eaaf07a21ed1e548dec39e\"@@@",
       "@@@STEP_LOG_LINE@json.input@                },@@@",
       "@@@STEP_LOG_LINE@json.input@                {@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"package_name\": \"infra/3pp/tools/cpython3/${platform}\",@@@",
@@ -2264,8 +2218,6 @@
       "@@@STEP_LOG_LINE@json.input@                \"value\": [@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/bin\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython\",@@@",
-      "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython/bin\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3\",@@@",
       "@@@STEP_LOG_LINE@json.input@                  \"cipd_bin_packages/cpython3/bin\"@@@",
       "@@@STEP_LOG_LINE@json.input@                ]@@@",