[fiddle] Add PRESUBMIT rule to run tools/fiddle/make_all_examples_cpp.py
It will run this only if it detected a change to docs/examples and runs fairly quickly. Hopefully it avoids future bitrot like: https://skia-review.googlesource.com/c/skia/+/423956 Change-Id: I8c6a54faa3a14dfb53260e03d4e6cc61e84b76cc Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423976 Reviewed-by: Joe Gregorio <jcgregorio@google.com>
This commit is contained in:
parent
2d1b7165a4
commit
2cd8067113
24
PRESUBMIT.py
24
PRESUBMIT.py
@ -249,6 +249,29 @@ def _CheckDEPSValid(input_api, output_api):
|
||||
return results
|
||||
|
||||
|
||||
def _RegenerateAllExamplesCPP(input_api, output_api):
|
||||
"""Regenerates all_examples.cpp if an example was added or deleted."""
|
||||
if not any(f.LocalPath().startswith('docs/examples/')
|
||||
for f in input_api.AffectedFiles()):
|
||||
return []
|
||||
command_str = 'tools/fiddle/make_all_examples_cpp.py'
|
||||
cmd = ['python', command_str]
|
||||
if 0 != subprocess.call(cmd):
|
||||
return [output_api.PresubmitError('`%s` failed' % ' '.join(cmd))]
|
||||
|
||||
results = []
|
||||
git_diff_output = input_api.subprocess.check_output(
|
||||
['git', 'diff', '--no-ext-diff'])
|
||||
if git_diff_output:
|
||||
results += [output_api.PresubmitError(
|
||||
'Diffs found after running "%s":\n\n%s\n'
|
||||
'Please commit or discard the above changes.' % (
|
||||
command_str,
|
||||
git_diff_output,
|
||||
)
|
||||
)]
|
||||
return results
|
||||
|
||||
def _CommonChecks(input_api, output_api):
|
||||
"""Presubmit checks common to upload and commit."""
|
||||
results = []
|
||||
@ -276,6 +299,7 @@ def _CommonChecks(input_api, output_api):
|
||||
results.extend(_CheckIncludesFormatted(input_api, output_api))
|
||||
results.extend(_CheckGNFormatted(input_api, output_api))
|
||||
results.extend(_CheckGitConflictMarkers(input_api, output_api))
|
||||
results.extend(_RegenerateAllExamplesCPP(input_api, output_api))
|
||||
return results
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user