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