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