| # Copyright 2016 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| """Recipe for building and testing Cobalt.""" |
| |
| from recipe_engine.post_process import StatusSuccess |
| from recipe_engine.recipe_api import Property |
| |
| DEPS = [ |
| "fuchsia/checkout", |
| "recipe_engine/buildbucket", |
| "recipe_engine/context", |
| "recipe_engine/path", |
| "recipe_engine/properties", |
| "recipe_engine/step", |
| ] |
| |
| PROPERTIES = { |
| "manifest": Property(kind=str, help="Jiri manifest to use"), |
| "remote": Property(kind=str, help="Remote manifest repository"), |
| } |
| |
| |
| def RunSteps(api, manifest, remote): |
| with api.context(infra_steps=True): |
| api.checkout.fuchsia_with_options( |
| path=api.path["start_dir"], |
| manifest=manifest, |
| remote=remote, |
| build=api.buildbucket.build, |
| ) |
| |
| # Start the cobalt build process. |
| with api.context(cwd=api.path["start_dir"].join("cobalt")): |
| api.step("setup", ["./cobaltb.py", "setup"]) |
| api.step("build", ["./cobaltb.py", "build"]) |
| api.step("lint", ["./cobaltb.py", "lint", "--all"]) |
| api.step("test", ["./cobaltb.py", "test"]) |
| |
| |
| def GenTests(api): |
| yield ( |
| api.test("ci") |
| + api.properties( |
| manifest="cobalt", remote="https://fuchsia.googlesource.com/manifest" |
| ) |
| + api.post_process(StatusSuccess) |
| ) |
| |
| yield ( |
| api.test("cq_try") |
| + api.buildbucket.try_build(git_repo="https://fuchsia.googlesource.com/cobalt") |
| + api.properties( |
| manifest="cobalt", remote="https://fuchsia.googlesource.com/manifest", |
| ) |
| + api.post_process(StatusSuccess) |
| ) |