[isolate] Use go isolate binary
The isolate.py script is deprecated and should no longer be used. The
new go binary has feature parity and is distributed via CIPD instead of
via git.
* Remove unused parent_isolate feature.
* Remove custom gclient hack to checkout swarming_client.
* Remove build/swarming_client dependency.
Bug: https://crbug.com/1082177
Change-Id: I9b4870300e1b2269f9b338b89546cafaa393a5ce
Reviewed-on: https://dart-review.googlesource.com/c/recipes/+/148520
Reviewed-by: Karl Klose <karlklose@google.com>
diff --git a/README.recipes.md b/README.recipes.md
index 83efa70..a623fd1 100644
--- a/README.recipes.md
+++ b/README.recipes.md
@@ -33,65 +33,59 @@
— **def [schedule](/recipe_modules/bisect_build/api.py#20)(self, repo_url, reason):**
### *recipe_modules* / [dart](/recipe_modules/dart)
-[DEPS](/recipe_modules/dart/__init__.py#5): [build/goma][build/recipe_modules/goma], [build/swarming\_client][build/recipe_modules/swarming_client], [depot\_tools/bot\_update][depot_tools/recipe_modules/bot_update], [depot\_tools/depot\_tools][depot_tools/recipe_modules/depot_tools], [depot\_tools/gclient][depot_tools/recipe_modules/gclient], [depot\_tools/git][depot_tools/recipe_modules/git], [depot\_tools/gsutil][depot_tools/recipe_modules/gsutil], [depot\_tools/tryserver][depot_tools/recipe_modules/tryserver], [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket], [recipe\_engine/cipd][recipe_engine/recipe_modules/cipd], [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/file][recipe_engine/recipe_modules/file], [recipe\_engine/json][recipe_engine/recipe_modules/json], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/runtime][recipe_engine/recipe_modules/runtime], [recipe\_engine/service\_account][recipe_engine/recipe_modules/service_account], [recipe\_engine/step][recipe_engine/recipe_modules/step], [recipe\_engine/swarming][recipe_engine/recipe_modules/swarming]
+[DEPS](/recipe_modules/dart/__init__.py#5): [build/goma][build/recipe_modules/goma], [depot\_tools/bot\_update][depot_tools/recipe_modules/bot_update], [depot\_tools/depot\_tools][depot_tools/recipe_modules/depot_tools], [depot\_tools/gclient][depot_tools/recipe_modules/gclient], [depot\_tools/git][depot_tools/recipe_modules/git], [depot\_tools/gsutil][depot_tools/recipe_modules/gsutil], [depot\_tools/tryserver][depot_tools/recipe_modules/tryserver], [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket], [recipe\_engine/cipd][recipe_engine/recipe_modules/cipd], [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/file][recipe_engine/recipe_modules/file], [recipe\_engine/isolated][recipe_engine/recipe_modules/isolated], [recipe\_engine/json][recipe_engine/recipe_modules/json], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/runtime][recipe_engine/recipe_modules/runtime], [recipe\_engine/service\_account][recipe_engine/recipe_modules/service_account], [recipe\_engine/step][recipe_engine/recipe_modules/step], [recipe\_engine/swarming][recipe_engine/recipe_modules/swarming]
-#### **class [DartApi](/recipe_modules/dart/api.py#40)([RecipeApi][recipe_engine/wkt/RecipeApi]):**
+#### **class [DartApi](/recipe_modules/dart/api.py#36)([RecipeApi][recipe_engine/wkt/RecipeApi]):**
Recipe module for code commonly used in dart recipes.
Shouldn't be used elsewhere.
-— **def [build](/recipe_modules/dart/api.py#108)(self, build_args=None, name='build dart'):**
+— **def [build](/recipe_modules/dart/api.py#109)(self, build_args=None, name='build dart'):**
Builds dart using the specified build_args
-— **def [checkout](/recipe_modules/dart/api.py#44)(self, clobber=False):**
+— **def [checkout](/recipe_modules/dart/api.py#45)(self, clobber=False):**
Checks out the dart code and prepares it for building.
-— **def [collect\_all](/recipe_modules/dart/api.py#288)(self, steps):**
+— **def [collect\_all](/recipe_modules/dart/api.py#284)(self, steps):**
Collects the results of a sharded test run.
-— **def [commit\_id](/recipe_modules/dart/api.py#101)(self):**
-
-The commit hash of a CI build or the patch set of a CQ build
-
-— **def [dart\_executable](/recipe_modules/dart/api.py#95)(self):**
+— **def [dart\_executable](/recipe_modules/dart/api.py#96)(self):**
Returns the path to the checked-in SDK dart executable.
-— **def [delete\_debug\_log](/recipe_modules/dart/api.py#606)(self):**
+— **def [delete\_debug\_log](/recipe_modules/dart/api.py#602)(self):**
Deletes the debug log file
-— **def [download\_browser](/recipe_modules/dart/api.py#888)(self, runtime, version):**
+— **def [download\_browser](/recipe_modules/dart/api.py#884)(self, runtime, version):**
-— **def [download\_parent\_isolate](/recipe_modules/dart/api.py#155)(self):**
-
-— **def [get\_secret](/recipe_modules/dart/api.py#64)(self, name):**
+— **def [get\_secret](/recipe_modules/dart/api.py#62)(self, name):**
Decrypts the specified secret and returns the location of the result
-— **def [kill\_tasks](/recipe_modules/dart/api.py#87)(self, ok_ret='any'):**
+— **def [kill\_tasks](/recipe_modules/dart/api.py#84)(self, ok_ret='any'):**
Kills leftover tasks from previous runs or steps.
-— **def [read\_debug\_log](/recipe_modules/dart/api.py#594)(self):**
+— **def [read\_debug\_log](/recipe_modules/dart/api.py#590)(self):**
Reads the debug log file
-— **def [shard](/recipe_modules/dart/api.py#172)(self, name, isolate_hash, test_args, os, cpu='x86-64', pool='dart.tests', num_shards=0, last_shard_is_local=False, cipd_ensure_file=None, ignore_failure=False):**
+— **def [shard](/recipe_modules/dart/api.py#168)(self, name, isolate_hash, test_args, os, cpu='x86-64', pool='dart.tests', num_shards=0, last_shard_is_local=False, cipd_ensure_file=None, ignore_failure=False):**
Runs test.py in the given isolate, sharded over several swarming tasks.
Returns the created tasks, which can be collected with collect_all().
-— **def [test](/recipe_modules/dart/api.py#612)(self, test_data):**
+— **def [test](/recipe_modules/dart/api.py#608)(self, test_data):**
Reads the test-matrix.json file in checkout and runs each step listed
in the file.
-— **def [upload\_isolate](/recipe_modules/dart/api.py#132)(self, isolate_fileset):**
+— **def [upload\_isolate](/recipe_modules/dart/api.py#133)(self, isolate_fileset):**
Builds an isolate
## Recipes
@@ -173,9 +167,9 @@
— **def [RunSteps](/recipes/dart/linearize.py#24)(api):**
### *recipes* / [dart/neo](/recipes/dart/neo.py)
-[DEPS](/recipes/dart/neo.py#5): [build/swarming\_client][build/recipe_modules/swarming_client], [dart](#recipe_modules-dart), [depot\_tools/osx\_sdk][depot_tools/recipe_modules/osx_sdk], [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket], [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/step][recipe_engine/recipe_modules/step]
+[DEPS](/recipes/dart/neo.py#5): [dart](#recipe_modules-dart), [depot\_tools/osx\_sdk][depot_tools/recipe_modules/osx_sdk], [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket], [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io]
-— **def [RunSteps](/recipes/dart/neo.py#53)(api):**
+— **def [RunSteps](/recipes/dart/neo.py#50)(api):**
### *recipes* / [dart/package\_co19](/recipes/dart/package_co19.py)
[DEPS](/recipes/dart/package_co19.py#8): [depot\_tools/git][depot_tools/recipe_modules/git], [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket], [recipe\_engine/cipd][recipe_engine/recipe_modules/cipd], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/step][recipe_engine/recipe_modules/step]
@@ -193,7 +187,6 @@
— **def [RunSteps](/recipe_modules/dart/examples/example-get_secret.py#12)(api):**
[build/recipe_modules/goma]: https://chromium.googlesource.com/chromium/tools/build.git/+/1b536a38323d5aa2b35e593e263465c9f457cbd1/scripts/slave/README.recipes.md#recipe_modules-goma
-[build/recipe_modules/swarming_client]: https://chromium.googlesource.com/chromium/tools/build.git/+/1b536a38323d5aa2b35e593e263465c9f457cbd1/scripts/slave/README.recipes.md#recipe_modules-swarming_client
[depot_tools/recipe_modules/bot_update]: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/d24ae26520d089e89c2ecd8d6154e36fb9aa42ab/recipes/README.recipes.md#recipe_modules-bot_update
[depot_tools/recipe_modules/depot_tools]: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/d24ae26520d089e89c2ecd8d6154e36fb9aa42ab/recipes/README.recipes.md#recipe_modules-depot_tools
[depot_tools/recipe_modules/gclient]: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/d24ae26520d089e89c2ecd8d6154e36fb9aa42ab/recipes/README.recipes.md#recipe_modules-gclient
@@ -206,6 +199,7 @@
[recipe_engine/recipe_modules/cipd]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/3809ffa82d6bc08da66eae89bc87cdbe5c5b5905/README.recipes.md#recipe_modules-cipd
[recipe_engine/recipe_modules/context]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/3809ffa82d6bc08da66eae89bc87cdbe5c5b5905/README.recipes.md#recipe_modules-context
[recipe_engine/recipe_modules/file]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/3809ffa82d6bc08da66eae89bc87cdbe5c5b5905/README.recipes.md#recipe_modules-file
+[recipe_engine/recipe_modules/isolated]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/3809ffa82d6bc08da66eae89bc87cdbe5c5b5905/README.recipes.md#recipe_modules-isolated
[recipe_engine/recipe_modules/json]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/3809ffa82d6bc08da66eae89bc87cdbe5c5b5905/README.recipes.md#recipe_modules-json
[recipe_engine/recipe_modules/path]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/3809ffa82d6bc08da66eae89bc87cdbe5c5b5905/README.recipes.md#recipe_modules-path
[recipe_engine/recipe_modules/platform]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/3809ffa82d6bc08da66eae89bc87cdbe5c5b5905/README.recipes.md#recipe_modules-platform
diff --git a/recipe_modules/dart/__init__.py b/recipe_modules/dart/__init__.py
index c5a334c..95fb89e 100644
--- a/recipe_modules/dart/__init__.py
+++ b/recipe_modules/dart/__init__.py
@@ -14,6 +14,7 @@
'recipe_engine/cipd',
'recipe_engine/context',
'recipe_engine/file',
+ 'recipe_engine/isolated',
'recipe_engine/json',
'recipe_engine/path',
'recipe_engine/platform',
@@ -24,5 +25,4 @@
'recipe_engine/service_account',
'recipe_engine/step',
'recipe_engine/swarming',
- 'build/swarming_client',
]
diff --git a/recipe_modules/dart/api.py b/recipe_modules/dart/api.py
index 28e62bb..0420930 100644
--- a/recipe_modules/dart/api.py
+++ b/recipe_modules/dart/api.py
@@ -6,15 +6,11 @@
from collections import OrderedDict
import json, re
-BLACKLIST = (
- r'(^(out|xcodebuild)[/\\](Release|Debug|Product)\w*[/\\]' +
- r'(clang_\w*[/\\])?(generated_tests|obj)[/\\])' +
- r'|(^tools[/\\]sdks)')
-# TODO(athom): move to third_party when swarming_client.path has a setter
-SWARMING_CLIENT_PATH = 'tools/swarming_client'
-SWARMING_CLIENT_REPO = (
- 'https://chromium.googlesource.com/infra/luci/client-py.git')
-SWARMING_CLIENT_REV = '7714cbceb37236e448809134d5e145e83600a9b3'
+PATH_FILTER = (r'(^(out|xcodebuild)[/\\](Release|Debug|Product)\w*[/\\]' +
+ r'(clang_\w*[/\\])?(generated_tests|obj)[/\\])' +
+ r'|(^tools[/\\]sdks)')
+ISOLATE_PACKAGE = 'infra/tools/luci/isolate/${platform}'
+ISOLATE_VERSION = 'git_revision:925759d89ea75996345c21cdcc80a8c540425a6f'
TEST_PY_PATH = 'tools/test.py'
BUILD_PY_PATH = 'tools/build.py'
@@ -41,12 +37,14 @@
"""Recipe module for code commonly used in dart recipes.
Shouldn't be used elsewhere."""
+
+ def __init__(self, *args, **kwargs):
+ super(DartApi, self).__init__(*args, **kwargs)
+ self._isolate_client = None
+
def checkout(self, clobber=False):
"""Checks out the dart code and prepares it for building."""
self.m.gclient.set_config('dart')
- sdk = self.m.gclient.c.solutions[0]
- sdk.custom_deps['sdk/%s' % SWARMING_CLIENT_PATH] = \
- '%s@%s' % (SWARMING_CLIENT_REPO, SWARMING_CLIENT_REV)
self.m.goma.ensure_goma()
with self.m.context(
@@ -73,14 +71,13 @@
file_name = '%s.encrypted' % name
self.m.gsutil.download('dart-ci-credentials', file_name, file_name)
- executable_suffix = '.exe' if self.m.platform.name == 'win' else ''
+ cloudkms = self._executable(cloudkms_dir, 'cloudkms')
secret_key = self.m.path['cleanup'].join('%s.key' % name)
- self.m.step('cloudkms get key',
- [cloudkms_dir.join('cloudkms%s' % executable_suffix), 'decrypt',
- '-input', file_name,
- '-output', secret_key,
- 'projects/dart-ci/locations/'
- 'us-central1/keyRings/dart-ci/cryptoKeys/dart-ci'])
+ self.m.step('cloudkms get key', [
+ cloudkms, 'decrypt', '-input', file_name, '-output', secret_key,
+ 'projects/dart-ci/locations/'
+ 'us-central1/keyRings/dart-ci/cryptoKeys/dart-ci'
+ ])
return secret_key
@@ -92,13 +89,17 @@
ok_ret=ok_ret)
+ def _executable(self, path, cmd):
+ """Returns the path to the checked-in SDK dart executable."""
+ return path.join('%s.exe' % cmd if self.m.platform.name == 'win' else cmd)
+
def dart_executable(self):
"""Returns the path to the checked-in SDK dart executable."""
- executable = 'dart.exe' if self.m.platform.name == 'win' else 'dart'
- return self.m.path['checkout'].join(
- 'tools','sdks', 'dart-sdk', 'bin', executable)
+ return self._executable(
+ self.m.path['checkout'].join('tools', 'sdks', 'dart-sdk', 'bin'),
+ 'dart')
- def commit_id(self):
+ def _commit_id(self):
"""The commit hash of a CI build or the patch set of a CQ build"""
return str(self.m.buildbucket.gitiles_commit.id or 'refs/changes/%s/%s' %
(self.m.buildbucket.build.input.gerrit_changes[0].change,
@@ -131,44 +132,39 @@
def upload_isolate(self, isolate_fileset):
"""Builds an isolate"""
- # TODO(athom): Use upstream isolated recipe. https://crbug.com/944902
- if isolate_fileset == self.m.properties.get('parent_fileset_name', None):
- return self.m.properties.get('parent_fileset')
- step_result = self.m.python(
+ if not self._isolate_client:
+ ensure_file = self.m.cipd.EnsureFile().add_package(
+ ISOLATE_PACKAGE, ISOLATE_VERSION)
+ isolate_cache = self.m.path['cache'].join('isolate')
+ self.m.cipd.ensure(isolate_cache, ensure_file)
+ self._isolate_client = isolate_cache.join('isolate')
+ fileset_path = self.m.path['checkout'].join('%s' % isolate_fileset)
+ step_result = self.m.step(
'upload testing fileset %s' % isolate_fileset,
- self.m.swarming_client.path.join('isolate.py'),
- args= ['archive',
- '--blacklist=%s' % BLACKLIST,
- '--ignore_broken_items', # TODO(athom) find a way to avoid that
- '-I', 'isolateserver.appspot.com',
- '--namespace', 'default-gzip',
- '-i%s' % self.m.path['checkout'].join('%s' % isolate_fileset),
- '-s%s' % self.m.path['checkout'].join(
- '%s.isolated' % isolate_fileset)],
+ [
+ self._isolate_client,
+ 'archive',
+ # TODO(https://github.com/dart-lang/sdk/issues/41982):
+ # We currently don't have build targets that produce exactly the
+ # files needed for sharding. Instead, we have catch-all filesets
+ # in the test matrix that include at least the files the shards
+ # need. These filesets are not build outputs and don't know what
+ # files the build actually produced, so they include many files
+ # and directories that will be there in some builds, but not all.
+ # Without -allow-missing-file-dir, these extra files/directories
+ # cause the isolate command to fail.
+ '-allow-missing-file-dir',
+ '-ignored-path-filter-re=%s' % PATH_FILTER,
+ '-isolate=%s' % fileset_path,
+ '-isolated=%s.isolated' % fileset_path,
+ '-isolate-server=%s' % self.m.isolated.isolate_server,
+ ],
stdout=self.m.raw_io.output('out'))
isolate_hash = step_result.stdout.strip()[:40]
- step_result.presentation.step_text = 'swarming fileset hash: %s' % (
- isolate_hash)
+ step_result.presentation.step_text = 'fileset hash: %s' % isolate_hash
return isolate_hash
- def download_parent_isolate(self):
- # TODO(athom): Use upstream isolated recipe. https://crbug.com/944902
- self.m.path['checkout'] = self.m.path['cleanup']
- isolate_hash = self.m.properties['parent_fileset']
- fileset_name = self.m.properties['parent_fileset_name']
- with self.m.context(cwd=self.m.path['cleanup']):
- self.m.python(
- 'downloading fileset %s' % fileset_name,
- self.m.swarming_client.path.join('isolateserver.py'),
- args= ['download',
- '-I', 'isolateserver.appspot.com',
- '--namespace', 'default-gzip',
- '-s%s' % isolate_hash,
- '--target=.'],
- stdout=self.m.raw_io.output('out'))
-
-
def shard(self,
name,
isolate_hash,
@@ -568,7 +564,7 @@
# Add more links and logs to the 'test results' step
if self._try_builder():
# Construct different results links for tryjobs and CI jobs
- patchset = self.commit_id().replace('refs/changes/', '')
+ patchset = self._commit_id().replace('refs/changes/', '')
log_url = 'https://dart-ci.firebaseapp.com/cl/%s' % patchset
else:
log_url = self._results_feed_url(results_str)
@@ -866,10 +862,10 @@
flaky_json_str = self._update_flakiness_information(results_str)
results_str = self._extend_results_records(
results_str, self.m.path['checkout'].join('LATEST', 'results.json'),
- flaky_json_str, self.m.path['checkout'].join(
- 'LATEST', 'flaky.json'), self.m.buildbucket.builder_name,
- self.m.buildbucket.build.number,
- self.m.git.get_timestamp(test_data='1234567'), self.commit_id())
+ flaky_json_str,
+ self.m.path['checkout'].join('LATEST', 'flaky.json'),
+ self.m.buildbucket.builder_name, self.m.buildbucket.build.number,
+ self.m.git.get_timestamp(test_data='1234567'), self._commit_id())
try:
# Try builders do not upload results, only publish to pub/sub
with self.m.step.nest('upload new results'):
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 3a0164e..46a98e9 100644
--- a/recipe_modules/dart/examples/example.expected/analyzer-linux-release.json
+++ b/recipe_modules/dart/examples/example.expected/analyzer-linux-release.json
@@ -39,7 +39,7 @@
"-u",
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
"--spec-path",
- "cache_dir = '[CACHE]/git'\nsolutions = [{'custom_deps': {'sdk/tools/swarming_client': 'https://chromium.googlesource.com/infra/luci/client-py.git@7714cbceb37236e448809134d5e145e83600a9b3'}, 'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
+ "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
"--revision_mapping_file",
"{}",
"--git-cache-dir",
@@ -1163,44 +1163,63 @@
},
{
"cmd": [
- "python",
- "-u",
- "[CACHE]/builder/sdk/tools/swarming_client/isolate.py",
- "archive",
- "--blacklist=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
- "--ignore_broken_items",
- "-I",
- "isolateserver.appspot.com",
- "--namespace",
- "default-gzip",
- "-i[CACHE]/builder/sdk/test",
- "-s[CACHE]/builder/sdk/test.isolated"
+ "cipd",
+ "ensure",
+ "-root",
+ "[CACHE]/isolate",
+ "-ensure-file",
+ "infra/tools/luci/isolate/${platform} git_revision:925759d89ea75996345c21cdcc80a8c540425a6f",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
],
"infra_step": true,
- "name": "upload testing fileset test",
+ "name": "ensure_installed",
"~followup_annotations": [
- "@@@STEP_TEXT@swarming fileset hash: test_hash@@@"
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-git_revision:925\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/isolate/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
]
},
{
"cmd": [
- "python",
- "-u",
- "[CACHE]/builder/sdk/tools/swarming_client/isolate.py",
+ "[CACHE]/isolate/isolate",
"archive",
- "--blacklist=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
- "--ignore_broken_items",
- "-I",
- "isolateserver.appspot.com",
- "--namespace",
- "default-gzip",
- "-i[CACHE]/builder/sdk/trigger",
- "-s[CACHE]/builder/sdk/trigger.isolated"
+ "-allow-missing-file-dir",
+ "-ignored-path-filter-re=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
+ "-isolate=[CACHE]/builder/sdk/test",
+ "-isolated=[CACHE]/builder/sdk/test.isolated",
+ "-isolate-server=https://example.isolateserver.appspot.com"
+ ],
+ "infra_step": true,
+ "name": "upload testing fileset test",
+ "~followup_annotations": [
+ "@@@STEP_TEXT@fileset hash: test_hash@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[CACHE]/isolate/isolate",
+ "archive",
+ "-allow-missing-file-dir",
+ "-ignored-path-filter-re=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
+ "-isolate=[CACHE]/builder/sdk/trigger",
+ "-isolated=[CACHE]/builder/sdk/trigger.isolated",
+ "-isolate-server=https://example.isolateserver.appspot.com"
],
"infra_step": true,
"name": "upload testing fileset trigger",
"~followup_annotations": [
- "@@@STEP_TEXT@swarming fileset hash: trigger_hash@@@"
+ "@@@STEP_TEXT@fileset hash: trigger_hash@@@"
]
},
{
diff --git a/recipe_modules/dart/examples/example.expected/basic-failure.json b/recipe_modules/dart/examples/example.expected/basic-failure.json
index b9f630e..cfcf491 100644
--- a/recipe_modules/dart/examples/example.expected/basic-failure.json
+++ b/recipe_modules/dart/examples/example.expected/basic-failure.json
@@ -39,7 +39,7 @@
"-u",
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
"--spec-path",
- "cache_dir = '[CACHE]/git'\nsolutions = [{'custom_deps': {'sdk/tools/swarming_client': 'https://chromium.googlesource.com/infra/luci/client-py.git@7714cbceb37236e448809134d5e145e83600a9b3'}, 'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
+ "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
"--revision_mapping_file",
"{}",
"--git-cache-dir",
diff --git a/recipe_modules/dart/examples/example.expected/basic-mac.json b/recipe_modules/dart/examples/example.expected/basic-mac.json
index c1fac0c..ac26d44 100644
--- a/recipe_modules/dart/examples/example.expected/basic-mac.json
+++ b/recipe_modules/dart/examples/example.expected/basic-mac.json
@@ -39,7 +39,7 @@
"-u",
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
"--spec-path",
- "cache_dir = '[CACHE]/git'\nsolutions = [{'custom_deps': {'sdk/tools/swarming_client': 'https://chromium.googlesource.com/infra/luci/client-py.git@7714cbceb37236e448809134d5e145e83600a9b3'}, 'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
+ "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
"--revision_mapping_file",
"{}",
"--git-cache-dir",
@@ -872,48 +872,27 @@
]
},
{
- "cmd": [],
- "name": "trigger shards for test1"
- },
- {
- "cmd": [],
- "name": "trigger shards for test1.ensure swarming",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
"cmd": [
"cipd",
"ensure",
"-root",
- "[CACHE]/swarming_client",
+ "[CACHE]/isolate",
"-ensure-file",
- "infra/tools/luci/swarming/${platform} git_revision:2d3d6714d3e768108a1be7bfdd17c54a3693bdeb",
+ "infra/tools/luci/isolate/${platform} git_revision:925759d89ea75996345c21cdcc80a8c540425a6f",
"-max-threads",
"0",
"-json-output",
"/path/to/tmp/json"
],
- "cwd": "[CACHE]/builder/sdk",
- "env": {
- "BUILDBOT_BUILDERNAME": "dart2js-strong-mac-x64-chrome-be"
- },
- "env_suffixes": {
- "PATH": [
- "RECIPE_REPO[depot_tools]"
- ]
- },
"infra_step": true,
- "name": "trigger shards for test1.ensure swarming.ensure_installed",
+ "name": "ensure_installed (2)",
"~followup_annotations": [
- "@@@STEP_NEST_LEVEL@2@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
"@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
"@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-git_revision:2d3\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/swarming/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-git_revision:925\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/isolate/resolved-platform\"@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ ]@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
@@ -923,14 +902,40 @@
},
{
"cmd": [
- "[CACHE]/swarming_client/swarming",
- "spawn-tasks",
- "-server",
- "https://example.swarmingserver.appspot.com",
- "-json-input",
- "{\"requests\": [{\"name\": \"test1_shard_1\", \"priority\": \"25\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cipd_input\": {\"packages\": [{\"package_name\": \"dart/browsers/chrome/${platform}\", \"path\": \"browsers\", \"version\": \"version:66.0.3359.139\"}, {\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:b01b3ede35a24f76f21420f11d13f234848e5d34\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:b01b3ede35a24f76f21420f11d13f234848e5d34\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2.7.17.chromium.24\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:3.8.1rc1.chromium.10\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"\"}]}, \"command\": [\"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--silent-failures\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-mac-chrome\", \"foo\", \"--bar\", \"-e co19, language_2\", \"--copy-coredumps\", \"--chrome=browsers/Google Chrome.app/Contents/MacOS/Google Chrome\", \"--shards=2\", \"--shard=1\", \"--output-directory=${ISOLATED_OUTDIR}\"], \"containment\": {\"containment_type\": \"AUTO\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"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, \"inputs_ref\": {\"isolated\": \"isolate_hash_123\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"1200\", \"outputs\": []}}]}, {\"name\": \"test1_shard_2\", \"priority\": \"25\", \"service_account\": \"\", \"task_slices\": [{\"expiration_secs\": \"3600\", \"properties\": {\"caches\": [{\"name\": \"vpython\", \"path\": \"cache/vpython\"}], \"cipd_input\": {\"packages\": [{\"package_name\": \"dart/browsers/chrome/${platform}\", \"path\": \"browsers\", \"version\": \"version:66.0.3359.139\"}, {\"package_name\": \"infra/tools/luci/vpython/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:b01b3ede35a24f76f21420f11d13f234848e5d34\"}, {\"package_name\": \"infra/tools/luci/vpython-native/${platform}\", \"path\": \"cipd_bin_packages\", \"version\": \"git_revision:b01b3ede35a24f76f21420f11d13f234848e5d34\"}, {\"package_name\": \"infra/3pp/tools/cpython/${platform}\", \"path\": \"cipd_bin_packages/cpython\", \"version\": \"version:2.7.17.chromium.24\"}, {\"package_name\": \"infra/3pp/tools/cpython3/${platform}\", \"path\": \"cipd_bin_packages/cpython3\", \"version\": \"version:3.8.1rc1.chromium.10\"}, {\"package_name\": \"dart/dart-sdk/${platform}\", \"path\": \"tools/sdks\", \"version\": \"\"}]}, \"command\": [\"tools/test.py\", \"--progress=status\", \"--report\", \"--time\", \"--silent-failures\", \"--write-results\", \"--write-logs\", \"--clean-exit\", \"-ndart2js-mac-chrome\", \"foo\", \"--bar\", \"-e co19, language_2\", \"--copy-coredumps\", \"--chrome=browsers/Google Chrome.app/Contents/MacOS/Google Chrome\", \"--shards=2\", \"--shard=2\", \"--output-directory=${ISOLATED_OUTDIR}\"], \"containment\": {\"containment_type\": \"AUTO\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"cpu\", \"value\": \"x86-64\"}, {\"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, \"inputs_ref\": {\"isolated\": \"isolate_hash_123\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"1200\", \"outputs\": []}}]}]}",
- "-json-output",
- "/path/to/tmp/json"
+ "[CACHE]/isolate/isolate",
+ "archive",
+ "-allow-missing-file-dir",
+ "-ignored-path-filter-re=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
+ "-isolate=[CACHE]/builder/sdk/test",
+ "-isolated=[CACHE]/builder/sdk/test.isolated",
+ "-isolate-server=https://example.isolateserver.appspot.com"
+ ],
+ "infra_step": true,
+ "name": "upload testing fileset test",
+ "~followup_annotations": [
+ "@@@STEP_TEXT@fileset hash: @@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CACHE]/builder/sdk/tools/test.py",
+ "--progress=status",
+ "--report",
+ "--time",
+ "--silent-failures",
+ "--write-results",
+ "--write-logs",
+ "--clean-exit",
+ "-ndart2js-mac-chrome",
+ "foo",
+ "--bar",
+ "-e co19, language_2",
+ "--copy-coredumps",
+ "--chrome=browsers/Google Chrome.app/Contents/MacOS/Google Chrome",
+ "--output-directory",
+ "[CLEANUP]/tmp_tmp_1"
],
"cwd": "[CACHE]/builder/sdk",
"env": {
@@ -942,28 +947,58 @@
]
},
"infra_step": true,
- "name": "trigger shards for test1.trigger shards for test1",
+ "name": "test1"
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CLEANUP]/tmp_tmp_1/logs.json",
+ "/path/to/tmp/"
+ ],
+ "cwd": "[CACHE]/builder/sdk",
+ "env": {
+ "BUILDBOT_BUILDERNAME": "dart2js-strong-mac-x64-chrome-be"
+ },
+ "env_suffixes": {
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "read logs.json for test1",
"~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_LOG_LINE@json.output@{@@@",
- "@@@STEP_LOG_LINE@json.output@ \"tasks\": [@@@",
- "@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"request\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"name\": \"test1_shard_1\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
- "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"0\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
- "@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"request\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"name\": \"test1_shard_2\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
- "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"1\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }@@@",
- "@@@STEP_LOG_LINE@json.output@ ]@@@",
- "@@@STEP_LOG_LINE@json.output@}@@@",
- "@@@STEP_LOG_END@json.output@@@",
- "@@@STEP_LINK@task UI: test1_shard_1@https://example.swarmingserver.appspot.com/task?id=0@@@",
- "@@@STEP_LINK@task UI: test1_shard_2@https://example.swarmingserver.appspot.com/task?id=1@@@"
+ "@@@STEP_LOG_END@logs.json@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CLEANUP]/tmp_tmp_1/results.json",
+ "/path/to/tmp/"
+ ],
+ "cwd": "[CACHE]/builder/sdk",
+ "env": {
+ "BUILDBOT_BUILDERNAME": "dart2js-strong-mac-x64-chrome-be"
+ },
+ "env_suffixes": {
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "read results.json for test1",
+ "~followup_annotations": [
+ "@@@STEP_LOG_END@results.json@@@"
]
},
{
@@ -995,7 +1030,7 @@
"--bar",
"--buildername",
"--output-directory",
- "[CLEANUP]/tmp_tmp_1"
+ "[CLEANUP]/tmp_tmp_2"
],
"cwd": "[CACHE]/builder/sdk",
"env": {
@@ -1017,7 +1052,7 @@
"--json-output",
"/path/to/tmp/json",
"copy",
- "[CLEANUP]/tmp_tmp_1/logs.json",
+ "[CLEANUP]/tmp_tmp_2/logs.json",
"/path/to/tmp/"
],
"cwd": "[CACHE]/builder/sdk",
@@ -1043,7 +1078,7 @@
"--json-output",
"/path/to/tmp/json",
"copy",
- "[CLEANUP]/tmp_tmp_1/results.json",
+ "[CLEANUP]/tmp_tmp_2/results.json",
"/path/to/tmp/"
],
"cwd": "[CACHE]/builder/sdk",
@@ -1080,7 +1115,7 @@
"--copy-coredumps",
"--chrome=browsers/Google Chrome.app/Contents/MacOS/Google Chrome",
"--output-directory",
- "[CLEANUP]/tmp_tmp_2"
+ "[CLEANUP]/tmp_tmp_3"
],
"cwd": "[CACHE]/builder/sdk",
"env": {
@@ -1102,7 +1137,7 @@
"--json-output",
"/path/to/tmp/json",
"copy",
- "[CLEANUP]/tmp_tmp_2/logs.json",
+ "[CLEANUP]/tmp_tmp_3/logs.json",
"/path/to/tmp/"
],
"cwd": "[CACHE]/builder/sdk",
@@ -1128,7 +1163,7 @@
"--json-output",
"/path/to/tmp/json",
"copy",
- "[CLEANUP]/tmp_tmp_2/results.json",
+ "[CLEANUP]/tmp_tmp_3/results.json",
"/path/to/tmp/"
],
"cwd": "[CACHE]/builder/sdk",
@@ -1147,158 +1182,6 @@
]
},
{
- "cmd": [
- "[CACHE]/swarming_client/swarming",
- "collect",
- "-server",
- "https://example.swarmingserver.appspot.com",
- "-task-summary-json",
- "/path/to/tmp/json",
- "-task-output-stdout",
- "json",
- "-output-dir",
- "[CLEANUP]/tmp_tmp_3",
- "0"
- ],
- "infra_step": true,
- "name": "test1_shard_1",
- "~followup_annotations": [
- "@@@STEP_LOG_LINE@json.output@{@@@",
- "@@@STEP_LOG_LINE@json.output@ \"0\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"output\": \"hello world!\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"outputs\": [], @@@",
- "@@@STEP_LOG_LINE@json.output@ \"results\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"bot_id\": \"vm-123\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"duration\": 62.35, @@@",
- "@@@STEP_LOG_LINE@json.output@ \"exit_code\": 0, @@@",
- "@@@STEP_LOG_LINE@json.output@ \"name\": \"test1_shard_1\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"outputs_ref\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"isolated\": \"abc123\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"namespace\": \"default-gzip\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
- "@@@STEP_LOG_LINE@json.output@ \"state\": \"COMPLETED\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"0\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }@@@",
- "@@@STEP_LOG_LINE@json.output@ }@@@",
- "@@@STEP_LOG_LINE@json.output@}@@@",
- "@@@STEP_LOG_END@json.output@@@",
- "@@@STEP_LOG_LINE@task stdout+stderr: test1_shard_1@hello world!@@@",
- "@@@STEP_LOG_END@task stdout+stderr: test1_shard_1@@@",
- "@@@STEP_LINK@task isolated outputs: test1_shard_1@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
- ]
- },
- {
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "[CLEANUP]/tmp_tmp_3/0/logs.json",
- "/path/to/tmp/"
- ],
- "infra_step": true,
- "name": "read logs.json for test1_shard_1",
- "~followup_annotations": [
- "@@@STEP_LOG_END@logs.json@@@"
- ]
- },
- {
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "[CLEANUP]/tmp_tmp_3/0/results.json",
- "/path/to/tmp/"
- ],
- "infra_step": true,
- "name": "read results.json for test1_shard_1",
- "~followup_annotations": [
- "@@@STEP_LOG_END@results.json@@@"
- ]
- },
- {
- "cmd": [
- "[CACHE]/swarming_client/swarming",
- "collect",
- "-server",
- "https://example.swarmingserver.appspot.com",
- "-task-summary-json",
- "/path/to/tmp/json",
- "-task-output-stdout",
- "json",
- "-output-dir",
- "[CLEANUP]/tmp_tmp_4",
- "1"
- ],
- "infra_step": true,
- "name": "test1_shard_2",
- "~followup_annotations": [
- "@@@STEP_LOG_LINE@json.output@{@@@",
- "@@@STEP_LOG_LINE@json.output@ \"1\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"output\": \"hello world!\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"outputs\": [], @@@",
- "@@@STEP_LOG_LINE@json.output@ \"results\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"bot_id\": \"vm-123\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"duration\": 62.35, @@@",
- "@@@STEP_LOG_LINE@json.output@ \"exit_code\": 0, @@@",
- "@@@STEP_LOG_LINE@json.output@ \"name\": \"test1_shard_2\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"outputs_ref\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"isolated\": \"abc123\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"namespace\": \"default-gzip\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
- "@@@STEP_LOG_LINE@json.output@ \"state\": \"COMPLETED\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"1\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }@@@",
- "@@@STEP_LOG_LINE@json.output@ }@@@",
- "@@@STEP_LOG_LINE@json.output@}@@@",
- "@@@STEP_LOG_END@json.output@@@",
- "@@@STEP_LOG_LINE@task stdout+stderr: test1_shard_2@hello world!@@@",
- "@@@STEP_LOG_END@task stdout+stderr: test1_shard_2@@@",
- "@@@STEP_LINK@task isolated outputs: test1_shard_2@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
- ]
- },
- {
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "[CLEANUP]/tmp_tmp_4/1/logs.json",
- "/path/to/tmp/"
- ],
- "infra_step": true,
- "name": "read logs.json for test1_shard_2",
- "~followup_annotations": [
- "@@@STEP_LOG_END@logs.json@@@"
- ]
- },
- {
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "[CLEANUP]/tmp_tmp_4/1/results.json",
- "/path/to/tmp/"
- ],
- "infra_step": true,
- "name": "read results.json for test1_shard_2",
- "~followup_annotations": [
- "@@@STEP_LOG_END@results.json@@@"
- ]
- },
- {
"cmd": [],
"name": "download previous results"
},
@@ -1843,22 +1726,6 @@
]
},
{
- "cmd": [
- "python",
- "-u",
- "[CLEANUP]/tools/swarming_client/isolateserver.py",
- "download",
- "-I",
- "isolateserver.appspot.com",
- "--namespace",
- "default-gzip",
- "-sisolate_hash_123",
- "--target=."
- ],
- "cwd": "[CLEANUP]",
- "name": "downloading fileset test"
- },
- {
"name": "$result"
}
]
\ No newline at end of file
diff --git a/recipe_modules/dart/examples/example.expected/basic-missing-name.json b/recipe_modules/dart/examples/example.expected/basic-missing-name.json
index 6200bcd..8195920 100644
--- a/recipe_modules/dart/examples/example.expected/basic-missing-name.json
+++ b/recipe_modules/dart/examples/example.expected/basic-missing-name.json
@@ -39,7 +39,7 @@
"-u",
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
"--spec-path",
- "cache_dir = '[CACHE]/git'\nsolutions = [{'custom_deps': {'sdk/tools/swarming_client': 'https://chromium.googlesource.com/infra/luci/client-py.git@7714cbceb37236e448809134d5e145e83600a9b3'}, 'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
+ "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
"--revision_mapping_file",
"{}",
"--git-cache-dir",
diff --git a/recipe_modules/dart/examples/example.expected/basic-timeout.json b/recipe_modules/dart/examples/example.expected/basic-timeout.json
index 4bb9728..18eaaaf 100644
--- a/recipe_modules/dart/examples/example.expected/basic-timeout.json
+++ b/recipe_modules/dart/examples/example.expected/basic-timeout.json
@@ -39,7 +39,7 @@
"-u",
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
"--spec-path",
- "cache_dir = '[CACHE]/git'\nsolutions = [{'custom_deps': {'sdk/tools/swarming_client': 'https://chromium.googlesource.com/infra/luci/client-py.git@7714cbceb37236e448809134d5e145e83600a9b3'}, 'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
+ "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
"--revision_mapping_file",
"{}",
"--git-cache-dir",
diff --git a/recipe_modules/dart/examples/example.expected/basic.json b/recipe_modules/dart/examples/example.expected/basic.json
index e8a93f2..02a1211 100644
--- a/recipe_modules/dart/examples/example.expected/basic.json
+++ b/recipe_modules/dart/examples/example.expected/basic.json
@@ -81,7 +81,7 @@
"-u",
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
"--spec-path",
- "cache_dir = '[CACHE]/git'\nsolutions = [{'custom_deps': {'sdk/tools/swarming_client': 'https://chromium.googlesource.com/infra/luci/client-py.git@7714cbceb37236e448809134d5e145e83600a9b3'}, 'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
+ "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
"--patch_root",
"sdk",
"--revision_mapping_file",
@@ -905,23 +905,47 @@
},
{
"cmd": [
- "python",
- "-u",
- "[CACHE]/builder/sdk/tools/swarming_client/isolate.py",
+ "cipd",
+ "ensure",
+ "-root",
+ "[CACHE]/isolate",
+ "-ensure-file",
+ "infra/tools/luci/isolate/${platform} git_revision:925759d89ea75996345c21cdcc80a8c540425a6f",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "infra_step": true,
+ "name": "ensure_installed (2)",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-git_revision:925\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/isolate/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[CACHE]/isolate/isolate",
"archive",
- "--blacklist=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
- "--ignore_broken_items",
- "-I",
- "isolateserver.appspot.com",
- "--namespace",
- "default-gzip",
- "-i[CACHE]/builder/sdk/test",
- "-s[CACHE]/builder/sdk/test.isolated"
+ "-allow-missing-file-dir",
+ "-ignored-path-filter-re=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
+ "-isolate=[CACHE]/builder/sdk/test",
+ "-isolated=[CACHE]/builder/sdk/test.isolated",
+ "-isolate-server=https://example.isolateserver.appspot.com"
],
"infra_step": true,
"name": "upload testing fileset test",
"~followup_annotations": [
- "@@@STEP_TEXT@swarming fileset hash: test_hash@@@"
+ "@@@STEP_TEXT@fileset hash: test_hash@@@"
]
},
{
diff --git a/recipe_modules/dart/examples/example.expected/example-android.json b/recipe_modules/dart/examples/example.expected/example-android.json
index b337f3b..b6761cb 100644
--- a/recipe_modules/dart/examples/example.expected/example-android.json
+++ b/recipe_modules/dart/examples/example.expected/example-android.json
@@ -39,7 +39,7 @@
"-u",
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
"--spec-path",
- "cache_dir = '[CACHE]/git'\nsolutions = [{'custom_deps': {'sdk/tools/swarming_client': 'https://chromium.googlesource.com/infra/luci/client-py.git@7714cbceb37236e448809134d5e145e83600a9b3'}, 'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
+ "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
"--revision_mapping_file",
"{}",
"--git-cache-dir",
@@ -815,23 +815,47 @@
},
{
"cmd": [
- "python",
- "-u",
- "[CACHE]/builder/sdk/tools/swarming_client/isolate.py",
+ "cipd",
+ "ensure",
+ "-root",
+ "[CACHE]/isolate",
+ "-ensure-file",
+ "infra/tools/luci/isolate/${platform} git_revision:925759d89ea75996345c21cdcc80a8c540425a6f",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "infra_step": true,
+ "name": "ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-git_revision:925\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/isolate/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[CACHE]/isolate/isolate",
"archive",
- "--blacklist=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
- "--ignore_broken_items",
- "-I",
- "isolateserver.appspot.com",
- "--namespace",
- "default-gzip",
- "-i[CACHE]/builder/sdk/test",
- "-s[CACHE]/builder/sdk/test.isolated"
+ "-allow-missing-file-dir",
+ "-ignored-path-filter-re=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
+ "-isolate=[CACHE]/builder/sdk/test",
+ "-isolated=[CACHE]/builder/sdk/test.isolated",
+ "-isolate-server=https://example.isolateserver.appspot.com"
],
"infra_step": true,
"name": "upload testing fileset test",
"~followup_annotations": [
- "@@@STEP_TEXT@swarming fileset hash: test_hash@@@"
+ "@@@STEP_TEXT@fileset hash: test_hash@@@"
]
},
{
diff --git a/recipe_modules/dart/examples/example.expected/example-mac.json b/recipe_modules/dart/examples/example.expected/example-mac.json
index 383596a..06971b8 100644
--- a/recipe_modules/dart/examples/example.expected/example-mac.json
+++ b/recipe_modules/dart/examples/example.expected/example-mac.json
@@ -39,7 +39,7 @@
"-u",
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
"--spec-path",
- "cache_dir = '[CACHE]/git'\nsolutions = [{'custom_deps': {'sdk/tools/swarming_client': 'https://chromium.googlesource.com/infra/luci/client-py.git@7714cbceb37236e448809134d5e145e83600a9b3'}, 'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
+ "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
"--revision_mapping_file",
"{}",
"--git-cache-dir",
diff --git a/recipe_modules/dart/examples/example.expected/fuzz-test.json b/recipe_modules/dart/examples/example.expected/fuzz-test.json
index 706f44a..4eff8c0 100644
--- a/recipe_modules/dart/examples/example.expected/fuzz-test.json
+++ b/recipe_modules/dart/examples/example.expected/fuzz-test.json
@@ -39,7 +39,7 @@
"-u",
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
"--spec-path",
- "cache_dir = '[CACHE]/git'\nsolutions = [{'custom_deps': {'sdk/tools/swarming_client': 'https://chromium.googlesource.com/infra/luci/client-py.git@7714cbceb37236e448809134d5e145e83600a9b3'}, 'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
+ "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
"--revision_mapping_file",
"{}",
"--git-cache-dir",
@@ -815,23 +815,47 @@
},
{
"cmd": [
- "python",
- "-u",
- "[CACHE]/builder/sdk/tools/swarming_client/isolate.py",
+ "cipd",
+ "ensure",
+ "-root",
+ "[CACHE]/isolate",
+ "-ensure-file",
+ "infra/tools/luci/isolate/${platform} git_revision:925759d89ea75996345c21cdcc80a8c540425a6f",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "infra_step": true,
+ "name": "ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-git_revision:925\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/isolate/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[CACHE]/isolate/isolate",
"archive",
- "--blacklist=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
- "--ignore_broken_items",
- "-I",
- "isolateserver.appspot.com",
- "--namespace",
- "default-gzip",
- "-i[CACHE]/builder/sdk/test",
- "-s[CACHE]/builder/sdk/test.isolated"
+ "-allow-missing-file-dir",
+ "-ignored-path-filter-re=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
+ "-isolate=[CACHE]/builder/sdk/test",
+ "-isolated=[CACHE]/builder/sdk/test.isolated",
+ "-isolate-server=https://example.isolateserver.appspot.com"
],
"infra_step": true,
"name": "upload testing fileset test",
"~followup_annotations": [
- "@@@STEP_TEXT@swarming fileset hash: test_hash@@@"
+ "@@@STEP_TEXT@fileset hash: test_hash@@@"
]
},
{
diff --git a/recipe_modules/dart/examples/example.expected/vm-win.json b/recipe_modules/dart/examples/example.expected/vm-win.json
index be6b294..ca20e66 100644
--- a/recipe_modules/dart/examples/example.expected/vm-win.json
+++ b/recipe_modules/dart/examples/example.expected/vm-win.json
@@ -39,7 +39,7 @@
"-u",
"RECIPE_MODULE[depot_tools::bot_update]\\resources\\bot_update.py",
"--spec-path",
- "cache_dir = '[CACHE]\\\\git'\nsolutions = [{'custom_deps': {'sdk/tools/swarming_client': 'https://chromium.googlesource.com/infra/luci/client-py.git@7714cbceb37236e448809134d5e145e83600a9b3'}, 'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
+ "cache_dir = '[CACHE]\\\\git'\nsolutions = [{'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
"--revision_mapping_file",
"{}",
"--git-cache-dir",
@@ -1200,44 +1200,63 @@
},
{
"cmd": [
- "python",
- "-u",
- "[CACHE]\\builder\\sdk\\tools\\swarming_client\\isolate.py",
- "archive",
- "--blacklist=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
- "--ignore_broken_items",
- "-I",
- "isolateserver.appspot.com",
- "--namespace",
- "default-gzip",
- "-i[CACHE]\\builder\\sdk\\test",
- "-s[CACHE]\\builder\\sdk\\test.isolated"
+ "cipd.bat",
+ "ensure",
+ "-root",
+ "[CACHE]\\isolate",
+ "-ensure-file",
+ "infra/tools/luci/isolate/${platform} git_revision:925759d89ea75996345c21cdcc80a8c540425a6f",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
],
"infra_step": true,
- "name": "upload testing fileset test",
+ "name": "ensure_installed",
"~followup_annotations": [
- "@@@STEP_TEXT@swarming fileset hash: test_hash@@@"
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-git_revision:925\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/isolate/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
]
},
{
"cmd": [
- "python",
- "-u",
- "[CACHE]\\builder\\sdk\\tools\\swarming_client\\isolate.py",
+ "[CACHE]\\isolate\\isolate",
"archive",
- "--blacklist=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
- "--ignore_broken_items",
- "-I",
- "isolateserver.appspot.com",
- "--namespace",
- "default-gzip",
- "-i[CACHE]\\builder\\sdk\\trigger",
- "-s[CACHE]\\builder\\sdk\\trigger.isolated"
+ "-allow-missing-file-dir",
+ "-ignored-path-filter-re=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
+ "-isolate=[CACHE]\\builder\\sdk\\test",
+ "-isolated=[CACHE]\\builder\\sdk\\test.isolated",
+ "-isolate-server=https://example.isolateserver.appspot.com"
+ ],
+ "infra_step": true,
+ "name": "upload testing fileset test",
+ "~followup_annotations": [
+ "@@@STEP_TEXT@fileset hash: test_hash@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[CACHE]\\isolate\\isolate",
+ "archive",
+ "-allow-missing-file-dir",
+ "-ignored-path-filter-re=(^(out|xcodebuild)[/\\\\](Release|Debug|Product)\\w*[/\\\\](clang_\\w*[/\\\\])?(generated_tests|obj)[/\\\\])|(^tools[/\\\\]sdks)",
+ "-isolate=[CACHE]\\builder\\sdk\\trigger",
+ "-isolated=[CACHE]\\builder\\sdk\\trigger.isolated",
+ "-isolate-server=https://example.isolateserver.appspot.com"
],
"infra_step": true,
"name": "upload testing fileset trigger",
"~followup_annotations": [
- "@@@STEP_TEXT@swarming fileset hash: trigger_hash@@@"
+ "@@@STEP_TEXT@fileset hash: trigger_hash@@@"
]
},
{
diff --git a/recipe_modules/dart/examples/example.py b/recipe_modules/dart/examples/example.py
index cafdc89..20204a5 100644
--- a/recipe_modules/dart/examples/example.py
+++ b/recipe_modules/dart/examples/example.py
@@ -329,9 +329,6 @@
api.dart.test(test_data=TEST_MATRIX)
- if 'parent_fileset' in api.properties:
- api.dart.download_parent_isolate()
-
def _canned_step(api, name, shards=0, local_shard=True, deflake=True):
step_name = '%s_shard_%s' % (name, 1) if shards > 0 else name
@@ -545,10 +542,7 @@
builder='dart2js-strong-mac-x64-chrome-dev',
git_repo='https://dart.googlesource.com/sdk',
project='dart'),
- api.properties(
- clobber='True',
- parent_fileset='isolate_hash_123',
- parent_fileset_name='test'),
+ api.properties(clobber='True'),
api.step_data('add fields to result records',
api.raw_io.output_text(RESULT_DATA)),
api.post_process(StatusSuccess),
diff --git a/recipes/dart/forward_branch.expected/base.json b/recipes/dart/forward_branch.expected/base.json
index 68184b5..7a93b5c 100644
--- a/recipes/dart/forward_branch.expected/base.json
+++ b/recipes/dart/forward_branch.expected/base.json
@@ -39,7 +39,7 @@
"-u",
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
"--spec-path",
- "cache_dir = '[CACHE]/git'\nsolutions = [{'custom_deps': {'sdk/tools/swarming_client': 'https://chromium.googlesource.com/infra/luci/client-py.git@7714cbceb37236e448809134d5e145e83600a9b3'}, 'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
+ "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
"--revision_mapping_file",
"{}",
"--git-cache-dir",
diff --git a/recipes/dart/neo.expected/builders_analyzer-triggered.json b/recipes/dart/neo.expected/builders_analyzer-triggered.json
deleted file mode 100644
index 3f171d4..0000000
--- a/recipes/dart/neo.expected/builders_analyzer-triggered.json
+++ /dev/null
@@ -1,223 +0,0 @@
-[
- {
- "cmd": [
- "python",
- "-u",
- "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py",
- "--path",
- "[START_DIR]/swarming.client",
- "--url",
- "https://chromium.googlesource.com/infra/luci/client-py.git"
- ],
- "env": {
- "ANALYZER_STATE_LOCATION_OVERRIDE": "[CLEANUP]/analysis-cache"
- },
- "name": "git setup (swarming_client)"
- },
- {
- "cmd": [
- "git",
- "fetch",
- "origin",
- "master",
- "--progress"
- ],
- "cwd": "[START_DIR]/swarming.client",
- "env": {
- "ANALYZER_STATE_LOCATION_OVERRIDE": "[CLEANUP]/analysis-cache",
- "PATH": "RECIPE_REPO[depot_tools]:<PATH>"
- },
- "infra_step": true,
- "name": "git fetch (swarming_client)"
- },
- {
- "cmd": [
- "git",
- "checkout",
- "-f",
- "FETCH_HEAD"
- ],
- "cwd": "[START_DIR]/swarming.client",
- "env": {
- "ANALYZER_STATE_LOCATION_OVERRIDE": "[CLEANUP]/analysis-cache"
- },
- "infra_step": true,
- "name": "git checkout (swarming_client)"
- },
- {
- "cmd": [
- "git",
- "rev-parse",
- "HEAD"
- ],
- "cwd": "[START_DIR]/swarming.client",
- "env": {
- "ANALYZER_STATE_LOCATION_OVERRIDE": "[CLEANUP]/analysis-cache"
- },
- "infra_step": true,
- "name": "read revision",
- "~followup_annotations": [
- "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "clean",
- "-f",
- "-d",
- "-x"
- ],
- "cwd": "[START_DIR]/swarming.client",
- "env": {
- "ANALYZER_STATE_LOCATION_OVERRIDE": "[CLEANUP]/analysis-cache"
- },
- "infra_step": true,
- "name": "git clean (swarming_client)"
- },
- {
- "cmd": [
- "git",
- "submodule",
- "sync"
- ],
- "cwd": "[START_DIR]/swarming.client",
- "env": {
- "ANALYZER_STATE_LOCATION_OVERRIDE": "[CLEANUP]/analysis-cache"
- },
- "infra_step": true,
- "name": "submodule sync (swarming_client)"
- },
- {
- "cmd": [
- "git",
- "submodule",
- "update",
- "--init",
- "--recursive"
- ],
- "cwd": "[START_DIR]/swarming.client",
- "env": {
- "ANALYZER_STATE_LOCATION_OVERRIDE": "[CLEANUP]/analysis-cache"
- },
- "infra_step": true,
- "name": "submodule update (swarming_client)"
- },
- {
- "cmd": [
- "python",
- "-u",
- "[START_DIR]/swarming.client/isolateserver.py",
- "download",
- "-I",
- "isolateserver.appspot.com",
- "--namespace",
- "default-gzip",
- "-sisolate_123",
- "--target=."
- ],
- "cwd": "[CLEANUP]",
- "env": {
- "ANALYZER_STATE_LOCATION_OVERRIDE": "[CLEANUP]/analysis-cache"
- },
- "name": "downloading fileset test_name"
- },
- {
- "cmd": [
- "python",
- "-u",
- "[CLEANUP]/tools/task_kill.py",
- "--kill_browsers=True",
- "--kill_vsbuild=True"
- ],
- "env": {
- "ANALYZER_STATE_LOCATION_OVERRIDE": "[CLEANUP]/analysis-cache"
- },
- "name": "kill processes"
- },
- {
- "cmd": [
- "python",
- "-u",
- "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
- "[CLEANUP]/tools/bots/test_matrix.json",
- "/path/to/tmp/json"
- ],
- "env": {
- "ANALYZER_STATE_LOCATION_OVERRIDE": "[CLEANUP]/analysis-cache"
- },
- "infra_step": true,
- "name": "read test-matrix.json",
- "~followup_annotations": [
- "@@@STEP_LOG_LINE@json.output@{@@@",
- "@@@STEP_LOG_LINE@json.output@ \"builder_configurations\": [@@@",
- "@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"builders\": [@@@",
- "@@@STEP_LOG_LINE@json.output@ \"dart2js-win-debug-x64-firefox\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"analyzer-linux-release-none\"@@@",
- "@@@STEP_LOG_LINE@json.output@ ], @@@",
- "@@@STEP_LOG_LINE@json.output@ \"meta\": {}, @@@",
- "@@@STEP_LOG_LINE@json.output@ \"steps\": [@@@",
- "@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"arguments\": [@@@",
- "@@@STEP_LOG_LINE@json.output@ \"foo\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"--bar\"@@@",
- "@@@STEP_LOG_LINE@json.output@ ], @@@",
- "@@@STEP_LOG_LINE@json.output@ \"name\": \"Build\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"script\": \"tools/build.py\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"shards\": 1@@@",
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
- "@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"arguments\": [@@@",
- "@@@STEP_LOG_LINE@json.output@ \"foo\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"--bar\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"-e co19\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"language_2\"@@@",
- "@@@STEP_LOG_LINE@json.output@ ], @@@",
- "@@@STEP_LOG_LINE@json.output@ \"name\": \"Test-step 1\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"script\": \"tools/test.py\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
- "@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"arguments\": [@@@",
- "@@@STEP_LOG_LINE@json.output@ \"foo\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"--bar\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"-mdebug\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"-n${runtime}-foo-${mode}-${arch}-bar\"@@@",
- "@@@STEP_LOG_LINE@json.output@ ], @@@",
- "@@@STEP_LOG_LINE@json.output@ \"name\": \"Test-step 2\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }@@@",
- "@@@STEP_LOG_LINE@json.output@ ]@@@",
- "@@@STEP_LOG_LINE@json.output@ }@@@",
- "@@@STEP_LOG_LINE@json.output@ ], @@@",
- "@@@STEP_LOG_LINE@json.output@ \"filesets\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"fileset1\": \"[]\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"nameoffileset\": \"[]\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
- "@@@STEP_LOG_LINE@json.output@ \"global\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"chrome\": \"66.0.3359.139\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"firefox\": \"60.0.1\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }@@@",
- "@@@STEP_LOG_LINE@json.output@}@@@",
- "@@@STEP_LOG_END@json.output@@@"
- ]
- },
- {
- "cmd": [
- "python",
- "-u",
- "[CLEANUP]/tools/task_kill.py",
- "--kill_browsers=True",
- "--kill_vsbuild=True"
- ],
- "env": {
- "ANALYZER_STATE_LOCATION_OVERRIDE": "[CLEANUP]/analysis-cache"
- },
- "name": "kill processes (2)"
- },
- {
- "failure": {
- "humanReason": "Error, could not find builder by name analyzer-triggered in test-matrix"
- },
- "name": "$result"
- }
-]
\ No newline at end of file
diff --git a/recipes/dart/neo.expected/builders_dart2js-win-debug-x64-firefox-try.json b/recipes/dart/neo.expected/builders_dart2js-win-debug-x64-firefox-try.json
index 4bf16eb..7e99b70 100644
--- a/recipes/dart/neo.expected/builders_dart2js-win-debug-x64-firefox-try.json
+++ b/recipes/dart/neo.expected/builders_dart2js-win-debug-x64-firefox-try.json
@@ -85,7 +85,7 @@
"-u",
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
"--spec-path",
- "cache_dir = '[CACHE]/git'\nsolutions = [{'custom_deps': {'sdk/tools/swarming_client': 'https://chromium.googlesource.com/infra/luci/client-py.git@7714cbceb37236e448809134d5e145e83600a9b3'}, 'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
+ "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': 'DEPS', 'managed': False, 'name': 'sdk', 'url': 'https://dart.googlesource.com/sdk.git'}]",
"--patch_root",
"sdk",
"--revision_mapping_file",
@@ -187,8 +187,7 @@
"@@@STEP_LOG_LINE@json.output@ \"builder_configurations\": [@@@",
"@@@STEP_LOG_LINE@json.output@ {@@@",
"@@@STEP_LOG_LINE@json.output@ \"builders\": [@@@",
- "@@@STEP_LOG_LINE@json.output@ \"dart2js-win-debug-x64-firefox\", @@@",
- "@@@STEP_LOG_LINE@json.output@ \"analyzer-linux-release-none\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"dart2js-win-debug-x64-firefox\"@@@",
"@@@STEP_LOG_LINE@json.output@ ], @@@",
"@@@STEP_LOG_LINE@json.output@ \"meta\": {}, @@@",
"@@@STEP_LOG_LINE@json.output@ \"steps\": [@@@",
diff --git a/recipes/dart/neo.py b/recipes/dart/neo.py
index 17a92f0..05fa012 100644
--- a/recipes/dart/neo.py
+++ b/recipes/dart/neo.py
@@ -10,8 +10,6 @@
'recipe_engine/path',
'recipe_engine/properties',
'recipe_engine/raw_io',
- 'recipe_engine/step',
- 'build/swarming_client',
]
@@ -28,7 +26,6 @@
{
"builders": [
"dart2js-win-debug-x64-firefox",
- "analyzer-linux-release-none"
],
"meta": {},
"steps": [{
@@ -59,17 +56,8 @@
def _run_steps_impl(api):
- # If parent_fileset is set, the bot is triggered by
- # another builder, and we should not download the sdk.
- # We rely on all files being in the isolate
- if 'parent_fileset' in api.properties:
- # todo(athom): this doesn't work on windows, see bug 785362.
- api.swarming_client.checkout('master')
- api.dart.download_parent_isolate()
- else:
- clobber = 'clobber' in api.properties
- api.dart.checkout(clobber)
-
+ clobber = 'clobber' in api.properties
+ api.dart.checkout(clobber)
api.dart.kill_tasks()
try:
@@ -88,12 +76,3 @@
api.step_data('add fields to result records',
api.raw_io.output_text('{"data":"result data"}\n')),
)
- yield api.test(
- 'builders/analyzer-triggered',
- api.buildbucket.ci_build(
- builder='analyzer-triggered',
- git_repo='https://dart.googlesource.com/sdk',
- project='dart'),
- api.properties.generic(
- parent_fileset='isolate_123', parent_fileset_name='test_name'),
- )