| // 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; |
| } |