| # Copyright 2017 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| def PostUploadHook(cl, change, output_api): |
| """git cl upload will call this hook after the issue is created/modified. |
| |
| This will add extra trybot coverage for non-default Android architectures |
| that have a history of breaking with Seccomp changes. |
| """ |
| def affects_seccomp(f): |
| seccomp_paths = [ |
| 'bpf_dsl/', |
| 'seccomp-bpf/', |
| 'seccomp-bpf-helpers/', |
| 'system_headers/', |
| 'tests/' |
| ] |
| # If the file path contains any of the above fragments, it affects |
| # the Seccomp implementation. |
| affected_any = map(lambda sp: sp in f.LocalPath(), seccomp_paths) |
| return reduce(lambda a, b: a or b, affected_any) |
| |
| if not change.AffectedFiles(file_filter=affects_seccomp): |
| return [] |
| |
| return output_api.EnsureCQIncludeTrybotsAreAdded( |
| cl, |
| [ |
| 'luci.chromium.try:android_arm64_dbg_recipe', |
| 'master.tryserver.chromium.android:android_compile_x64_dbg', |
| 'master.tryserver.chromium.android:android_compile_x86_dbg', |
| ], |
| 'Automatically added Android multi-arch compile bots to run on CQ.') |