Presubmit recipe: call presubmit_support.py directly

For some reason, presubmit_support.py can't find PRESUBMIT.py
unless it has a diff. Calling this script directly allows us
to specify a fake upstream to force it to find a diff and
therefore be able to find PRESUBMIT.py.

BUG=skia:5823
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2398653002

Review-Url: https://codereview.chromium.org/2398653002
This commit is contained in:
borenet 2016-10-05 09:52:41 -07:00 committed by Commit bot
parent 9b345e3615
commit c1c7c21fdd
2 changed files with 15 additions and 68 deletions

View File

@ -119,16 +119,6 @@
},
"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",
@ -139,10 +129,9 @@
},
{
"cmd": [
"git",
"cl",
"presubmit",
"--force",
"RECIPE_PACKAGE_REPO[depot_tools]/presubmit_support.py",
"--commit",
"--upstream=HEAD^",
"-v",
"-v"
],
@ -152,35 +141,6 @@
},
"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,

View File

@ -21,33 +21,20 @@ def RunSteps(api):
api.vars.setup()
api.core.checkout_steps()
# 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],
api.step('git status',
cmd=['git', 'status'],
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()
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)
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)
def GenTests(api):