Revert "Selectively clobber git cache when revision can not be found."
This reverts commit 67d5986d7ec383c879569a1abd7bfd5d6ccf4ccc.
Reason for revert: Failing for windows when files in cache/builder can not be deleted and for linux when cache/builder does not exist.
Original change's description:
> Selectively clobber git cache when revision can not be found.
>
> Sometimes the checkout process fails and got_revision is not populated.
> This change will make those cases fail, clobber and retry the checkout.
>
> Bug: https://github.com/flutter/flutter/issues/105476
> Change-Id: I332d0ab2efef80adc85d1fe6ca247f1ada55b502
> Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/31071
> Reviewed-by: Keyong Han <keyonghan@google.com>
> Commit-Queue: Godofredo Contreras <godofredoc@google.com>
TBR=zra@google.com,godofredoc@google.com,keyonghan@google.com,flutter-scoped@luci-project-accounts.iam.gserviceaccount.com,dnfield@google.com
Change-Id: I0d37d6f99bdff546d3ae1b5c84ed19f1ee06d099
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/flutter/flutter/issues/105476
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/31122
Reviewed-by: Godofredo Contreras <godofredoc@google.com>
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
diff --git a/recipe_modules/repo_util/api.py b/recipe_modules/repo_util/api.py
index 9b676df..b3b883b 100644
--- a/recipe_modules/repo_util/api.py
+++ b/recipe_modules/repo_util/api.py
@@ -60,11 +60,9 @@
# being found after a failure.
with self.m.depot_tools.on_path():
self.m.file.rmtree('Clobber cache', checkout_path)
- self.m.path.mock_add_directory(self.m.path['cache'].join('git'))
- if self.m.path.exists(self.m.path['cache'].join('git')):
- self.m.file.rmtree(
- 'Clobber git cache', self.m.path['cache'].join('git')
- )
+ self.m.file.rmtree(
+ 'Clobber git cache', self.m.path['cache'].join('git')
+ )
self.m.file.ensure_directory('Ensure checkout cache', checkout_path)
# Inner function to execute code a second time in case of failure.
@@ -88,10 +86,7 @@
self.m.gclient.c = src_cfg
self.m.gclient.c.got_revision_mapping['src/flutter'
] = 'got_engine_revision'
- step_result = self.m.bot_update.ensure_checkout()
- if ('got_revision' in step_result.presentation.properties and
- step_result.presentation.properties['got_revision'] == 'BOT_UPDATE_NO_REV_FOUND'):
- raise self.m.step.StepFailure('BOT_UPDATE_NO_REV_FOUND')
+ self.m.bot_update.ensure_checkout()
self.m.gclient.runhooks()
except:
# On any exception, clean up the cache and raise
diff --git a/recipe_modules/repo_util/examples/full.expected/first_bot_update_failed.json b/recipe_modules/repo_util/examples/full.expected/first_bot_update_failed.json
index 49fdb6b..8838d36 100644
--- a/recipe_modules/repo_util/examples/full.expected/first_bot_update_failed.json
+++ b/recipe_modules/repo_util/examples/full.expected/first_bot_update_failed.json
@@ -816,9 +816,9 @@
"The recipe has crashed at point 'Uncaught exception'!",
"",
"Traceback (most recent call last):",
- " File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/examples/full.py\", line 30, in RunSteps",
+ " File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/examples/full.py\", line 29, in RunSteps",
" api.repo_util.engine_checkout(api.path['start_dir'].join('engine'), {}, {})",
- " File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 101, in engine_checkout",
+ " File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 96, in engine_checkout",
" self.m.retry.wrap(_InnerCheckout, step_name='Checkout source', sleep=10.0, backoff_factor=5, max_attempts=4)",
" File \"RECIPE_REPO[flutter]/recipe_modules/retry/api.py\", line 88, in wrap",
" step = self.m.step.active_result",
diff --git a/recipe_modules/repo_util/examples/full.expected/first_bot_update_revision_not_found.json b/recipe_modules/repo_util/examples/full.expected/first_bot_update_revision_not_found.json
deleted file mode 100644
index 56baf58..0000000
--- a/recipe_modules/repo_util/examples/full.expected/first_bot_update_revision_not_found.json
+++ /dev/null
@@ -1,807 +0,0 @@
-[
- {
- "cmd": [],
- "name": "Checkout flutter/flutter"
- },
- {
- "cmd": [
- "python3",
- "-u",
- "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py",
- "--path",
- "[START_DIR]/flutter",
- "--url",
- "https://flutter.googlesource.com/mirrors/flutter"
- ],
- "name": "Checkout flutter/flutter.git setup",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "fetch",
- "origin",
- "master",
- "--recurse-submodules",
- "--progress",
- "--tags"
- ],
- "cwd": "[START_DIR]/flutter",
- "env": {
- "PATH": "RECIPE_REPO[depot_tools]:<PATH>"
- },
- "infra_step": true,
- "name": "Checkout flutter/flutter.git fetch",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "checkout",
- "-f",
- "FETCH_HEAD"
- ],
- "cwd": "[START_DIR]/flutter",
- "infra_step": true,
- "name": "Checkout flutter/flutter.git checkout",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "rev-parse",
- "HEAD"
- ],
- "cwd": "[START_DIR]/flutter",
- "infra_step": true,
- "name": "Checkout flutter/flutter.read revision",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@",
- "@@@SET_BUILD_PROPERTY@got_revision@\"deadbeef\"@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "clean",
- "-f",
- "-d",
- "-x"
- ],
- "cwd": "[START_DIR]/flutter",
- "infra_step": true,
- "name": "Checkout flutter/flutter.git clean",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "submodule",
- "sync"
- ],
- "cwd": "[START_DIR]/flutter",
- "infra_step": true,
- "name": "Checkout flutter/flutter.submodule sync",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "submodule",
- "update",
- "--init",
- "--recursive"
- ],
- "cwd": "[START_DIR]/flutter",
- "infra_step": true,
- "name": "Checkout flutter/flutter.submodule update",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [],
- "name": "Checkout flutter/engine"
- },
- {
- "cmd": [
- "python3",
- "-u",
- "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py",
- "--path",
- "[START_DIR]/engine",
- "--url",
- "https://flutter.googlesource.com/mirrors/engine"
- ],
- "name": "Checkout flutter/engine.git setup",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "fetch",
- "origin",
- "main",
- "--recurse-submodules",
- "--progress",
- "--tags"
- ],
- "cwd": "[START_DIR]/engine",
- "env": {
- "PATH": "RECIPE_REPO[depot_tools]:<PATH>"
- },
- "infra_step": true,
- "name": "Checkout flutter/engine.git fetch",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "checkout",
- "-f",
- "FETCH_HEAD"
- ],
- "cwd": "[START_DIR]/engine",
- "infra_step": true,
- "name": "Checkout flutter/engine.git checkout",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "rev-parse",
- "HEAD"
- ],
- "cwd": "[START_DIR]/engine",
- "infra_step": true,
- "name": "Checkout flutter/engine.read revision",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@",
- "@@@SET_BUILD_PROPERTY@got_revision@\"deadbeef\"@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "clean",
- "-f",
- "-d",
- "-x"
- ],
- "cwd": "[START_DIR]/engine",
- "infra_step": true,
- "name": "Checkout flutter/engine.git clean",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "submodule",
- "sync"
- ],
- "cwd": "[START_DIR]/engine",
- "infra_step": true,
- "name": "Checkout flutter/engine.submodule sync",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "submodule",
- "update",
- "--init",
- "--recursive"
- ],
- "cwd": "[START_DIR]/engine",
- "infra_step": true,
- "name": "Checkout flutter/engine.submodule update",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [],
- "name": "Checkout flutter/cocoon"
- },
- {
- "cmd": [
- "python3",
- "-u",
- "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py",
- "--path",
- "[START_DIR]/cocoon",
- "--url",
- "https://flutter.googlesource.com/mirrors/cocoon"
- ],
- "name": "Checkout flutter/cocoon.git setup",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "fetch",
- "origin",
- "main",
- "--recurse-submodules",
- "--progress",
- "--tags"
- ],
- "cwd": "[START_DIR]/cocoon",
- "env": {
- "PATH": "RECIPE_REPO[depot_tools]:<PATH>"
- },
- "infra_step": true,
- "name": "Checkout flutter/cocoon.git fetch",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "checkout",
- "-f",
- "FETCH_HEAD"
- ],
- "cwd": "[START_DIR]/cocoon",
- "infra_step": true,
- "name": "Checkout flutter/cocoon.git checkout",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "rev-parse",
- "HEAD"
- ],
- "cwd": "[START_DIR]/cocoon",
- "infra_step": true,
- "name": "Checkout flutter/cocoon.read revision",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@",
- "@@@SET_BUILD_PROPERTY@got_revision@\"deadbeef\"@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "clean",
- "-f",
- "-d",
- "-x"
- ],
- "cwd": "[START_DIR]/cocoon",
- "infra_step": true,
- "name": "Checkout flutter/cocoon.git clean",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "submodule",
- "sync"
- ],
- "cwd": "[START_DIR]/cocoon",
- "infra_step": true,
- "name": "Checkout flutter/cocoon.submodule sync",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "submodule",
- "update",
- "--init",
- "--recursive"
- ],
- "cwd": "[START_DIR]/cocoon",
- "infra_step": true,
- "name": "Checkout flutter/cocoon.submodule update",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [],
- "name": "Checkout flutter/packages"
- },
- {
- "cmd": [
- "python3",
- "-u",
- "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py",
- "--path",
- "[START_DIR]/packages",
- "--url",
- "https://flutter.googlesource.com/mirrors/packages"
- ],
- "name": "Checkout flutter/packages.git setup",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "fetch",
- "origin",
- "main",
- "--recurse-submodules",
- "--progress",
- "--tags"
- ],
- "cwd": "[START_DIR]/packages",
- "env": {
- "PATH": "RECIPE_REPO[depot_tools]:<PATH>"
- },
- "infra_step": true,
- "name": "Checkout flutter/packages.git fetch",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "checkout",
- "-f",
- "FETCH_HEAD"
- ],
- "cwd": "[START_DIR]/packages",
- "infra_step": true,
- "name": "Checkout flutter/packages.git checkout",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "rev-parse",
- "HEAD"
- ],
- "cwd": "[START_DIR]/packages",
- "infra_step": true,
- "name": "Checkout flutter/packages.read revision",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@",
- "@@@SET_BUILD_PROPERTY@got_revision@\"deadbeef\"@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "clean",
- "-f",
- "-d",
- "-x"
- ],
- "cwd": "[START_DIR]/packages",
- "infra_step": true,
- "name": "Checkout flutter/packages.git clean",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "submodule",
- "sync"
- ],
- "cwd": "[START_DIR]/packages",
- "infra_step": true,
- "name": "Checkout flutter/packages.submodule sync",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "submodule",
- "update",
- "--init",
- "--recursive"
- ],
- "cwd": "[START_DIR]/packages",
- "infra_step": true,
- "name": "Checkout flutter/packages.submodule update",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [],
- "name": "Checkout flutter/flutter (2)"
- },
- {
- "cmd": [
- "python3",
- "-u",
- "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py",
- "--path",
- "[START_DIR]/flutter",
- "--url",
- "https://flutter.googlesource.com/mirrors/flutter"
- ],
- "name": "Checkout flutter/flutter (2).git setup",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "fetch",
- "origin",
- "beta",
- "--recurse-submodules",
- "--progress",
- "--tags"
- ],
- "cwd": "[START_DIR]/flutter",
- "env": {
- "PATH": "RECIPE_REPO[depot_tools]:<PATH>"
- },
- "infra_step": true,
- "name": "Checkout flutter/flutter (2).git fetch",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "checkout",
- "-f",
- "FETCH_HEAD"
- ],
- "cwd": "[START_DIR]/flutter",
- "infra_step": true,
- "name": "Checkout flutter/flutter (2).git checkout",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "rev-parse",
- "HEAD"
- ],
- "cwd": "[START_DIR]/flutter",
- "infra_step": true,
- "name": "Checkout flutter/flutter (2).read revision",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@",
- "@@@SET_BUILD_PROPERTY@got_revision@\"deadbeef\"@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "clean",
- "-f",
- "-d",
- "-x"
- ],
- "cwd": "[START_DIR]/flutter",
- "infra_step": true,
- "name": "Checkout flutter/flutter (2).git clean",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "submodule",
- "sync"
- ],
- "cwd": "[START_DIR]/flutter",
- "infra_step": true,
- "name": "Checkout flutter/flutter (2).submodule sync",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "submodule",
- "update",
- "--init",
- "--recursive"
- ],
- "cwd": "[START_DIR]/flutter",
- "infra_step": true,
- "name": "Checkout flutter/flutter (2).submodule update",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "git",
- "rev-parse",
- "HEAD"
- ],
- "cwd": "[START_DIR]/flutter",
- "infra_step": true,
- "name": "git rev-parse"
- },
- {
- "cmd": [],
- "name": "Checkout source code",
- "~followup_annotations": [
- "@@@STEP_FAILURE@@@"
- ]
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[START_DIR]/engine"
- ],
- "env_suffixes": {
- "DEPOT_TOOLS_UPDATE": [
- "0"
- ],
- "PATH": [
- "RECIPE_REPO[depot_tools]"
- ]
- },
- "infra_step": true,
- "name": "Checkout source code.Clobber cache",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/git"
- ],
- "env_suffixes": {
- "DEPOT_TOOLS_UPDATE": [
- "0"
- ],
- "PATH": [
- "RECIPE_REPO[depot_tools]"
- ]
- },
- "infra_step": true,
- "name": "Checkout source code.Clobber git cache",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "ensure-directory",
- "--mode",
- "0777",
- "[START_DIR]/engine"
- ],
- "env_suffixes": {
- "DEPOT_TOOLS_UPDATE": [
- "0"
- ],
- "PATH": [
- "RECIPE_REPO[depot_tools]"
- ]
- },
- "infra_step": true,
- "name": "Checkout source code.Ensure checkout cache",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
- "--spec-path",
- "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': False, 'name': 'src/flutter', 'url': 'https://github.com/flutter/engine'}]",
- "--revision_mapping_file",
- "{\"got_engine_revision\": \"src/flutter\"}",
- "--git-cache-dir",
- "[CACHE]/git",
- "--cleanup-dir",
- "[CLEANUP]/bot_update",
- "--output_json",
- "/path/to/tmp/json",
- "--revision",
- "src/flutter@refs/pull/1/head",
- "--refs",
- "refs/pull/1/head"
- ],
- "cwd": "[START_DIR]/engine",
- "env": {
- "DEPOT_TOOLS_COLLECT_METRICS": "0",
- "GIT_HTTP_LOW_SPEED_LIMIT": "102400",
- "GIT_HTTP_LOW_SPEED_TIME": "1800"
- },
- "env_suffixes": {
- "DEPOT_TOOLS_UPDATE": [
- "0",
- "0"
- ],
- "PATH": [
- "RECIPE_REPO[depot_tools]",
- "RECIPE_REPO[depot_tools]"
- ]
- },
- "infra_step": true,
- "name": "Checkout source code.bot_update",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_LOG_LINE@json.output@{@@@",
- "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"BOT_UPDATE_NO_REV_FOUND\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }@@@",
- "@@@STEP_LOG_LINE@json.output@}@@@",
- "@@@STEP_LOG_END@json.output@@@",
- "@@@SET_BUILD_PROPERTY@got_revision@\"BOT_UPDATE_NO_REV_FOUND\"@@@"
- ]
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[START_DIR]/engine"
- ],
- "cwd": "[START_DIR]/engine",
- "env_suffixes": {
- "DEPOT_TOOLS_UPDATE": [
- "0",
- "0"
- ],
- "PATH": [
- "RECIPE_REPO[depot_tools]",
- "RECIPE_REPO[depot_tools]"
- ]
- },
- "infra_step": true,
- "name": "Checkout source code.Clobber cache (2)",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/git"
- ],
- "cwd": "[START_DIR]/engine",
- "env_suffixes": {
- "DEPOT_TOOLS_UPDATE": [
- "0",
- "0"
- ],
- "PATH": [
- "RECIPE_REPO[depot_tools]",
- "RECIPE_REPO[depot_tools]"
- ]
- },
- "infra_step": true,
- "name": "Checkout source code.Clobber git cache (2)",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "ensure-directory",
- "--mode",
- "0777",
- "[START_DIR]/engine"
- ],
- "cwd": "[START_DIR]/engine",
- "env_suffixes": {
- "DEPOT_TOOLS_UPDATE": [
- "0",
- "0"
- ],
- "PATH": [
- "RECIPE_REPO[depot_tools]",
- "RECIPE_REPO[depot_tools]"
- ]
- },
- "infra_step": true,
- "name": "Checkout source code.Ensure checkout cache (2)",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [],
- "name": "RECIPE CRASH (Uncaught exception)",
- "~followup_annotations": [
- "@@@STEP_EXCEPTION@@@",
- "The recipe has crashed at point 'Uncaught exception'!",
- "",
- "Traceback (most recent call last):",
- " File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/examples/full.py\", line 30, in RunSteps",
- " api.repo_util.engine_checkout(api.path['start_dir'].join('engine'), {}, {})",
- " File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 101, in engine_checkout",
- " self.m.retry.wrap(_InnerCheckout, step_name='Checkout source', sleep=10.0, backoff_factor=5, max_attempts=4)",
- " File \"RECIPE_REPO[flutter]/recipe_modules/retry/api.py\", line 88, in wrap",
- " step = self.m.step.active_result",
- " File \"RECIPE_REPO[recipe_engine]/recipe_modules/step/api.py\", in active_result",
- " return self.step_client.previous_step_result()",
- " File \"RECIPE_REPO[recipe_engine]/recipe_engine/recipe_api.py\", in previous_step_result",
- " raise ValueError(",
- "ValueError('No steps have been run yet, and you are asking for a previous step result.')"
- ]
- },
- {
- "failure": {
- "humanReason": "Uncaught Exception: ValueError('No steps have been run yet, and you are asking for a previous step result.')"
- },
- "name": "$result"
- }
-]
\ No newline at end of file
diff --git a/recipe_modules/repo_util/examples/full.py b/recipe_modules/repo_util/examples/full.py
index d804a7e..a1f3b70 100644
--- a/recipe_modules/repo_util/examples/full.py
+++ b/recipe_modules/repo_util/examples/full.py
@@ -7,7 +7,6 @@
DEPS = [
'flutter/repo_util',
'recipe_engine/context',
- 'recipe_engine/json',
'recipe_engine/path',
'recipe_engine/properties',
'recipe_engine/raw_io',
@@ -67,22 +66,4 @@
api.expect_exception('ValueError') +
api.step_data("Checkout source code.bot_update", retcode=1) +
api.repo_util.flutter_environment_data()
- )
- yield (
- api.test(
- 'first_bot_update_revision_not_found',
- api.properties(
- git_url='https://github.com/flutter/engine',
- git_ref='refs/pull/1/head'
- )
- ) +
- # Next line force a fail condition for the bot update
- # first execution.
- api.expect_exception('ValueError') +
- api.path.exists(api.path['cache'].join('git')) +
- api.override_step_data(
- "Checkout source code.bot_update",
- api.json.output({'properties': {'got_revision': 'BOT_UPDATE_NO_REV_FOUND'}}),
- retcode=0) +
- api.repo_util.flutter_environment_data()
- )
+ )
\ No newline at end of file
diff --git a/recipe_modules/repo_util/examples/unsupported.expected/unsupported.json b/recipe_modules/repo_util/examples/unsupported.expected/unsupported.json
index ab5c52a..6d8af43 100644
--- a/recipe_modules/repo_util/examples/unsupported.expected/unsupported.json
+++ b/recipe_modules/repo_util/examples/unsupported.expected/unsupported.json
@@ -9,7 +9,7 @@
"Traceback (most recent call last):",
" File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/examples/unsupported.py\", line 15, in RunSteps",
" api.repo_util.checkout('unsupported_repo', repo_dir)",
- " File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 116, in checkout",
+ " File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 111, in checkout",
" raise ValueError('Unsupported repo: %s' % name)",
"ValueError('Unsupported repo: unsupported_repo')"
]