mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-10 12:09:31 +00:00
This should allow the builder to turn green as it will contain all reverts and patches only existed in crOS tree when trying to build. This is not sufficient to be used as presubmit because it relies on the target change being merged already. TEST=led get-builder luci.crosvm.ci:chromeos_hatch | led edit-cr-cl https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4004343 | led edit-recipe-bundle | led launch BUG=b:240692674 Change-Id: I3a4183bfbd007d82803e5a33a56f357868972e80 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4004343 Reviewed-by: Dennis Kempin <denniskempin@google.com> Commit-Queue: Zihan Chen <zihanchen@google.com> Auto-Submit: Zihan Chen <zihanchen@google.com>
80 lines
2.1 KiB
Python
80 lines
2.1 KiB
Python
# Copyright 2022 The ChromiumOS Authors
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
from recipe_engine.post_process import Filter
|
|
|
|
PYTHON_VERSION_COMPATIBILITY = "PY3"
|
|
|
|
DEPS = [
|
|
"crosvm",
|
|
"depot_tools/depot_tools",
|
|
"recipe_engine/buildbucket",
|
|
"recipe_engine/context",
|
|
"recipe_engine/properties",
|
|
"recipe_engine/step",
|
|
]
|
|
|
|
|
|
def RunSteps(api):
|
|
with api.crosvm.cros_container_build_context():
|
|
gitilies = api.buildbucket.build.input.gitiles_commit
|
|
upstream_url = "https://chromium.googlesource.com/crosvm/crosvm"
|
|
revision = gitilies.id or "upstream/main"
|
|
|
|
api.crosvm.step_in_container(
|
|
"Sync repo",
|
|
[
|
|
"repo",
|
|
"sync",
|
|
"-j8",
|
|
"--current-branch",
|
|
],
|
|
cros=True,
|
|
)
|
|
|
|
api.crosvm.step_in_container(
|
|
"Add crosvm upstream remote",
|
|
["git", "remote", "add", "upstream", upstream_url],
|
|
cros=True,
|
|
)
|
|
|
|
api.crosvm.step_in_container(
|
|
"Unshallow crosvm", ["git", "fetch", "cros", "--unshallow"], cros=True
|
|
)
|
|
|
|
api.crosvm.step_in_container(
|
|
"Fetch upstream crosvm", ["git", "fetch", "upstream"], cros=True
|
|
)
|
|
|
|
# Apply unmerged commit from upstream to crOS tree
|
|
api.crosvm.step_in_container(
|
|
"Cherry-pick from upstream revision", ["git", "cherry-pick", ".." + revision], cros=True
|
|
)
|
|
|
|
api.crosvm.step_in_container(
|
|
"cros-workon-hatch crosvm",
|
|
["cros_sdk", "cros-workon-hatch", "start", "crosvm"],
|
|
cros=True,
|
|
)
|
|
|
|
api.crosvm.step_in_container(
|
|
"Build crosvm",
|
|
[
|
|
"cros_sdk",
|
|
"emerge-hatch",
|
|
"crosvm",
|
|
],
|
|
cros=True,
|
|
)
|
|
|
|
|
|
def GenTests(api):
|
|
filter_steps = Filter("Build crosvm")
|
|
yield (
|
|
api.test(
|
|
"build_chromeos_hatch",
|
|
api.buildbucket.ci_build(project="crosvm/crosvm"),
|
|
)
|
|
+ api.post_process(filter_steps)
|
|
)
|