blob: 72a5bed3c921915d0033b57621f8dcba768d8142 [file] [log] [blame]
// Copyright 2019 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package testplans;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/testplans";
import "chromiumos/common.proto";
import "google/protobuf/struct.proto";
import "testplans/common.proto";
import "testplans/target_test_requirements_config.proto";
message GenerateTestPlanRequest {
// Serialized buildbucket Build protos that are part of this orchestrator run.
// See
// https://chromium.googlesource.com/infra/luci/luci-go/+/master/buildbucket/proto/build.proto
repeated ProtoBytes buildbucket_protos = 5;
// The manifest-internal snapshot commit hash that's being used for the
// current build. Note that manifest_commit will be soon replaced with
// gitiles_commit below.
string manifest_commit = 7;
// Serialized buildbucket GitilesCommit, representing the manifest or
// manifest-internal commit to which the build is synced.
ProtoBytes gitiles_commit = 9;
// Serialized buildbucket GerritChanges, or none if this is a postsubmit run
// or similar. Explicit proto import is avoided here to prevent a dependency
// on the luci-go repo.
// See
// https://chromium.googlesource.com/infra/luci/luci-go/+/master/buildbucket/proto/common.proto
repeated ProtoBytes gerrit_changes = 8;
}
// The final test plan.
message GenerateTestPlanResponse {
repeated HwTestUnit hw_test_units = 3;
repeated VmTestUnit vm_test_units = 6;
repeated TastVmTestUnit direct_tast_vm_test_units = 7;
repeated TastGceTestUnit tast_gce_test_units = 8;
reserved 2, 4, 5;
}
// The files that should be tested in a test plan.
message BuildPayload {
// The GS bucket in which artifacts for the build are stored, e.g.
// gs://chromeos-image-archive
string artifacts_gs_bucket = 1;
// The path in the bucket in which artifacts for the build are stored, e.g.
// eve-paladin/R73-11588.0.0-rc4
string artifacts_gs_path = 2;
// Artifact type to files available for that type. e.g.
// "AUTOTEST_FILES": [ "control_files.tar" ]
google.protobuf.Struct files_by_artifact = 3;
}
// The parts of a TestUnit that are common among all test types.
message TestUnitCommon {
// The build target for this test unit.
chromiumos.BuildTarget build_target = 2;
// A builder name for this test unit, e.g. eve-arcvm-cq.
string builder_name = 4;
// The build files provided to run this test unit.
BuildPayload build_payload = 3;
}
message HwTestUnit {
TestUnitCommon common = 1;
HwTestCfg hw_test_cfg = 2;
}
message TastVmTestUnit {
TestUnitCommon common = 1;
TastVmTestCfg tast_vm_test_cfg = 2;
}
message TastGceTestUnit {
TestUnitCommon common = 1;
TastGceTestCfg tast_gce_test_cfg = 2;
}
message VmTestUnit {
TestUnitCommon common = 1;
VmTestCfg vm_test_cfg = 2;
}