1*bb4ee6a4SAndroid Build Coastguard Worker# Copyright 2022 The ChromiumOS Authors 2*bb4ee6a4SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*bb4ee6a4SAndroid Build Coastguard Worker# found in the LICENSE file. 4*bb4ee6a4SAndroid Build Coastguard Worker 5*bb4ee6a4SAndroid Build Coastguard Workerfrom recipe_engine.post_process import Filter 6*bb4ee6a4SAndroid Build Coastguard Worker 7*bb4ee6a4SAndroid Build Coastguard WorkerDEPS = [ 8*bb4ee6a4SAndroid Build Coastguard Worker "crosvm", 9*bb4ee6a4SAndroid Build Coastguard Worker "recipe_engine/buildbucket", 10*bb4ee6a4SAndroid Build Coastguard Worker "recipe_engine/context", 11*bb4ee6a4SAndroid Build Coastguard Worker "recipe_engine/properties", 12*bb4ee6a4SAndroid Build Coastguard Worker "recipe_engine/step", 13*bb4ee6a4SAndroid Build Coastguard Worker] 14*bb4ee6a4SAndroid Build Coastguard Worker 15*bb4ee6a4SAndroid Build Coastguard Worker 16*bb4ee6a4SAndroid Build Coastguard Workerdef RunSteps(api): 17*bb4ee6a4SAndroid Build Coastguard Worker # Note: The recipe does work on linux as well, if the required dependencies have been installed 18*bb4ee6a4SAndroid Build Coastguard Worker # on the host via ./tools/install-deps. 19*bb4ee6a4SAndroid Build Coastguard Worker # This allows the build to be tested via `./recipe.py run build_windows` 20*bb4ee6a4SAndroid Build Coastguard Worker with api.crosvm.host_build_context(): 21*bb4ee6a4SAndroid Build Coastguard Worker api.step( 22*bb4ee6a4SAndroid Build Coastguard Worker "Build crosvm tests", 23*bb4ee6a4SAndroid Build Coastguard Worker [ 24*bb4ee6a4SAndroid Build Coastguard Worker "vpython3", 25*bb4ee6a4SAndroid Build Coastguard Worker "./tools/run_tests", 26*bb4ee6a4SAndroid Build Coastguard Worker "--verbose", 27*bb4ee6a4SAndroid Build Coastguard Worker "--build-only", 28*bb4ee6a4SAndroid Build Coastguard Worker ], 29*bb4ee6a4SAndroid Build Coastguard Worker ) 30*bb4ee6a4SAndroid Build Coastguard Worker api.step( 31*bb4ee6a4SAndroid Build Coastguard Worker "Run crosvm tests", 32*bb4ee6a4SAndroid Build Coastguard Worker [ 33*bb4ee6a4SAndroid Build Coastguard Worker "vpython3", 34*bb4ee6a4SAndroid Build Coastguard Worker "./tools/run_tests", 35*bb4ee6a4SAndroid Build Coastguard Worker "--verbose", 36*bb4ee6a4SAndroid Build Coastguard Worker ], 37*bb4ee6a4SAndroid Build Coastguard Worker ) 38*bb4ee6a4SAndroid Build Coastguard Worker api.step( 39*bb4ee6a4SAndroid Build Coastguard Worker "Clippy windows crosvm", 40*bb4ee6a4SAndroid Build Coastguard Worker [ 41*bb4ee6a4SAndroid Build Coastguard Worker "vpython3", 42*bb4ee6a4SAndroid Build Coastguard Worker "./tools/clippy", 43*bb4ee6a4SAndroid Build Coastguard Worker ], 44*bb4ee6a4SAndroid Build Coastguard Worker ) 45*bb4ee6a4SAndroid Build Coastguard Worker 46*bb4ee6a4SAndroid Build Coastguard Worker 47*bb4ee6a4SAndroid Build Coastguard Workerdef GenTests(api): 48*bb4ee6a4SAndroid Build Coastguard Worker filter_steps = Filter("Build crosvm tests", "Run crosvm tests") 49*bb4ee6a4SAndroid Build Coastguard Worker yield ( 50*bb4ee6a4SAndroid Build Coastguard Worker api.test( 51*bb4ee6a4SAndroid Build Coastguard Worker "build", 52*bb4ee6a4SAndroid Build Coastguard Worker api.buildbucket.ci_build(project="crosvm/crosvm"), 53*bb4ee6a4SAndroid Build Coastguard Worker ) 54*bb4ee6a4SAndroid Build Coastguard Worker + api.post_process(filter_steps) 55*bb4ee6a4SAndroid Build Coastguard Worker ) 56