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