blob: 8eb8f056137135d3cecc76475590833607e4c743 [file] [log] [blame]
// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package chromiumos;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/chromiumos";
option java_package = "com.google.chrome.crosinfra.proto";
// ***DO NOT IMPORT ANY FIELDS IN THIS PROTO.***
// This file is copied from GoldenEye's original proto.
// google3/java/com/google/chrome/crosbuilds/common/proto/crosbuilds.proto
// CI has no plans to support these messages and want to keep them separate
// from rest of the protos. This whole file is only used to decode config
// from GE.
message Model {
// The board name for this model.
string board_name = 1;
// The name of the model.
string name = 2;
// Defines which test suites should actually be run for a given model
// when the release builder is setting up the hardware tests.
repeated string test_suites = 3;
// Defines whether presubmit hardware tests should be run against a given
// model as part of the commit queue.
bool cq_test_enabled = 4;
// Defines the test pool that will be scheduled against for any HW tests
// executed against the given model.
string release_builder_test_pool = 5;
// The GoldenEye ID for the board of this model.
// If the board does not exist, the field value will be 0.
int64 board_id = 6;
bool is_active = 7;
// Hardware match for the model.
string hwid_match = 8;
}
// Enum for various type of builders
enum BuilderType {
UNKNOWN_BUILDER_TYPE = 0;
RELEASE = 1;
}
enum Architecture {
UNKNOWN = 0;
X86_INTERNAL = 1;
ARM_INTERNAL = 2;
}
// Configuration required by BuildBot in order to generate a unified release
// builder with the appropriate model specific hardware test coverage.
// For context, see: go/cros-unibuild-hw-test
message ReferenceBoardUnifiedBuildConfig {
// The name of the build that will be created by BuildBot.
string name = 1;
// The name of the reference board this unified build is based upon.
string reference_board_name = 2;
// The instruction set architecture of the reference board.
Architecture arch = 3;
// Whether this is a release build or not.
BuilderType builder = 4;
// Whether this build is considered experimental only.
bool experimental = 5;
// The list of models that are based on the given reference board
// and supported as part of the unified build.
repeated Model models = 6;
}
// Message to represent a build config for a given builder
message Config {
BuilderType builder = 1;
bool experimental = 2;
bool leader_board = 3;
string board_group = 4;
Architecture arch = 5;
}
// Message to represent a board in build configuration
message BuildBoard {
string name = 1;
repeated Config configs = 2;
}
// Message to represent a build configuration.
// The JSON file from GE is this proto.
message GEConfig {
string metadata_version = 1;
repeated BuildBoard boards = 2;
bool release_branch = 3;
repeated ReferenceBoardUnifiedBuildConfig reference_board_unified_builds = 4;
}