• Bruce Dawson's avatar
    Optimize presubmit --all with --no_diffs option · 09c0c073
    Bruce Dawson authored
    Some of the expensive checks when running presubmit --all, such as
    CheckStableMojomChanges (~300 s) and CheckAddedDepsHaveTargetApprovals
    (~200 s) only look at diffs and are therefore guaranteed to be NOPs when
    running presubmit --all or --files=. Passing along the no_diffs state
    lets these expensive checks be skipped, thus allowing for faster
    iteration times.
    
    Initial testing suggests that (with some supporting changes in the
    Chromium repo) this reduces "presubmit --all" times by about ten
    minutes, or a bit more than 10%, and additional improvements may be
    possible.
    
    Special handling for the no-diffs case also offers a simple way to avoid
    presubmit failures that happen whenever all files are flagged as being
    changed.
    
    Finally, and perhaps most importantly for having a presubmit --all bot,
    when --no_diffs is passed we can treat errors like "Issue wasn't
    uploaded" and "Add a description to the CL" as messages, thus making it
    possible to have zero presubmit errors when run on origin/main.
    
    Bug: 1320937, 1322936
    Change-Id: I0d09dd4aae8fdaa48c8b2f89337441cf96dcff72
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3628368
    Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
    Reviewed-by: 's avatarGavin Mak <gavinmak@google.com>
    09c0c073
Name
Last commit
Last update
..
gstools Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
auth_test.py Loading commit data...
autoninja_test.py Loading commit data...
bot_update_coverage_test.py Loading commit data...
cipd_bootstrap_test.py Loading commit data...
detect_host_arch_test.py Loading commit data...
download_from_google_storage_unittest.py Loading commit data...
fetch_test.py Loading commit data...
fix_encoding_test.py Loading commit data...
gclient_cipd_smoketest.py Loading commit data...
gclient_eval_unittest.py Loading commit data...
gclient_git_mutates_smoketest.py Loading commit data...
gclient_git_smoketest.py Loading commit data...
gclient_paths_test.py Loading commit data...
gclient_scm_test.py Loading commit data...
gclient_smoketest.py Loading commit data...
gclient_smoketest_base.py Loading commit data...
gclient_test.py Loading commit data...
gclient_transitions_smoketest.py Loading commit data...
gclient_utils_test.py Loading commit data...
gerrit_client_test.py Loading commit data...
gerrit_util_test.py Loading commit data...
git_cache_test.py Loading commit data...
git_cl_creds_check_report.txt Loading commit data...
git_cl_test.py Loading commit data...
git_common_test.py Loading commit data...
git_dates_test.py Loading commit data...
git_find_releases_test.py Loading commit data...
git_footers_test.py Loading commit data...
git_hyper_blame_test.py Loading commit data...
git_map_test.py Loading commit data...
git_migrate_default_branch_test.py Loading commit data...
git_number_test.py Loading commit data...
git_rebase_update_test.py Loading commit data...
gsutil_test.py Loading commit data...
lockfile_test.py Loading commit data...
metrics_test.py Loading commit data...
my_activity_test.py Loading commit data...
ninjalog_uploader_test.py Loading commit data...
owners_client_test.py Loading commit data...
owners_finder_test.py Loading commit data...
owners_unittest.py Loading commit data...
presubmit_unittest.py Loading commit data...
rdb_wrapper_test.py Loading commit data...
recipes_test.py Loading commit data...
roll_dep_test.py Loading commit data...
scm_unittest.py Loading commit data...
split_cl_test.py Loading commit data...
subcommand_test.py Loading commit data...
subprocess2_test.py Loading commit data...
upload_to_google_storage_unittest.py Loading commit data...
utils_test.py Loading commit data...
watchlists_unittest.py Loading commit data...