diff --git a/infra/bots/recipes/swarm_presubmit.expected/presubmit.json b/infra/bots/recipes/swarm_presubmit.expected/presubmit.json index 5e88fc3353..6eb60133a1 100644 --- a/infra/bots/recipes/swarm_presubmit.expected/presubmit.json +++ b/infra/bots/recipes/swarm_presubmit.expected/presubmit.json @@ -119,6 +119,16 @@ }, "name": "gclient recurse (git config user.email)" }, + { + "cmd": [ + "git", + "checkout", + "-b", + "tmp_00000000-0000-0000-0000-000000000000" + ], + "cwd": "[CUSTOM_/_B_WORK]/skia", + "name": "create git branch" + }, { "cmd": [ "git", @@ -129,9 +139,10 @@ }, { "cmd": [ - "RECIPE_PACKAGE_REPO[depot_tools]/presubmit_support.py", - "--commit", - "--upstream=HEAD^", + "git", + "cl", + "presubmit", + "--force", "-v", "-v" ], @@ -141,6 +152,35 @@ }, "name": "presubmit" }, + { + "cmd": [ + "git", + "reset", + "--hard", + "origin/master" + ], + "cwd": "[CUSTOM_/_B_WORK]/skia", + "name": "git reset" + }, + { + "cmd": [ + "git", + "checkout", + "origin/master" + ], + "cwd": "[CUSTOM_/_B_WORK]/skia", + "name": "checkout origin/master" + }, + { + "cmd": [ + "git", + "branch", + "-D", + "tmp_00000000-0000-0000-0000-000000000000" + ], + "cwd": "[CUSTOM_/_B_WORK]/skia", + "name": "delete git branch" + }, { "name": "$result", "recipe_result": null, diff --git a/infra/bots/recipes/swarm_presubmit.py b/infra/bots/recipes/swarm_presubmit.py index 84d82231e8..ad4802501f 100644 --- a/infra/bots/recipes/swarm_presubmit.py +++ b/infra/bots/recipes/swarm_presubmit.py @@ -21,20 +21,33 @@ def RunSteps(api): api.vars.setup() api.core.checkout_steps() - api.step('git status', - cmd=['git', 'status'], + # git-cl wants us to be on a branch. + branch = 'tmp_%s' % api.uuid.random() + api.step('create git branch', + cmd=['git', 'checkout', '-b', branch], cwd=api.vars.skia_dir) + try: + api.step('git status', + cmd=['git', 'status'], + cwd=api.vars.skia_dir) - depot_tools_path = api.depot_tools.package_repo_resource() - script = depot_tools_path.join('presubmit_support.py') - env = {'PATH': api.path.pathsep.join([str(depot_tools_path), '%(PATH)s'])} - # TODO(borenet): --upstream=HEAD^ is a hack to force presubmit_support to - # find a diff. Otherwise, it quits early with: - # "Warning, no PRESUBMIT.py found." - api.step('presubmit', - cmd=[script, '--commit', '--upstream=HEAD^', '-v', '-v'], - cwd=api.vars.skia_dir, - env=env) + depot_tools_path = api.depot_tools.package_repo_resource() + env = {'PATH': api.path.pathsep.join([str(depot_tools_path), '%(PATH)s'])} + api.step('presubmit', + cmd=['git', 'cl', 'presubmit', '--force', '-v', '-v'], + cwd=api.vars.skia_dir, + env=env) + finally: + api.step('git reset', + cmd=['git', 'reset', '--hard', 'origin/master'], + cwd=api.vars.skia_dir) + api.step('checkout origin/master', + cmd=['git', 'checkout', 'origin/master'], + cwd=api.vars.skia_dir) + api.step('delete git branch', + cmd=['git', 'branch', '-D', branch], + cwd=api.vars.skia_dir) + def GenTests(api):