xref: /aosp_15_r20/external/angle/build/config/siso/PRESUBMIT.py (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors
2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file.
4*8975f5c5SAndroid Build Coastguard Worker
5*8975f5c5SAndroid Build Coastguard WorkerPRESUBMIT_VERSION = '2.0.0'
6*8975f5c5SAndroid Build Coastguard Worker
7*8975f5c5SAndroid Build Coastguard Worker
8*8975f5c5SAndroid Build Coastguard Workerdef CheckSisoConfigFormat(input_api, output_api):
9*8975f5c5SAndroid Build Coastguard Worker  """Check if build/config/siso/*.star files are formatted correctly."""
10*8975f5c5SAndroid Build Coastguard Worker  repo_root = input_api.change.RepositoryRoot()
11*8975f5c5SAndroid Build Coastguard Worker  log_level = 'debug' if input_api.verbose else 'warning'
12*8975f5c5SAndroid Build Coastguard Worker  commands = []
13*8975f5c5SAndroid Build Coastguard Worker  for f in input_api.AffectedFiles():
14*8975f5c5SAndroid Build Coastguard Worker    filepath = f.AbsoluteLocalPath()
15*8975f5c5SAndroid Build Coastguard Worker    if not filepath.endswith('.star'):
16*8975f5c5SAndroid Build Coastguard Worker      continue
17*8975f5c5SAndroid Build Coastguard Worker    if not input_api.os_path.isfile(filepath):
18*8975f5c5SAndroid Build Coastguard Worker      continue
19*8975f5c5SAndroid Build Coastguard Worker    name = 'Validate ' + filepath
20*8975f5c5SAndroid Build Coastguard Worker    cmd = ['lucicfg', 'fmt', '-dry-run', '-log-level', log_level, filepath]
21*8975f5c5SAndroid Build Coastguard Worker    commands.append(input_api.Command(name, cmd, {}, output_api.PresubmitError))
22*8975f5c5SAndroid Build Coastguard Worker  return input_api.RunTests(commands)
23