| syntax = 'proto3'; |
| package chromite.api; |
| |
| option go_package = "go.chromium.org/chromiumos/infra/proto/go/chromite/api"; |
| |
| import "chromite/api/build_api.proto"; |
| import "chromite/api/sysroot.proto"; |
| import "chromiumos/common.proto"; |
| |
| // An artifact is a file generated during or after a build. |
| message Artifact { |
| // Absolute path to the artifact file. |
| string path = 1; |
| } |
| |
| // Request describing where build artifact bundles for a given build target |
| // should be dumped. |
| message BundleRequest { |
| // The build target to bundle artifacts for. |
| // Deprecated. Use sysroot instead. |
| chromiumos.BuildTarget build_target = 1; |
| |
| // Absolute path to the directory in which artifacts should be dropped. |
| string output_dir = 2; |
| |
| // The chroot where the sysroot lives. |
| chromiumos.Chroot chroot = 3; |
| // The sysroot where the files live. |
| chromite.api.Sysroot sysroot = 4; |
| } |
| |
| // Response describing which bundles were dumped to the given output directory. |
| message BundleResponse { |
| // The artifacts that added to the output directory. |
| repeated Artifact artifacts = 1; |
| } |
| |
| // Request describing where to find build artifacts that are taken from a |
| // sysroot. |
| message BundleVmFilesRequest { |
| // The chroot where the sysroot lives. |
| chromiumos.Chroot chroot = 1; |
| // The sysroot where the files live. |
| chromite.api.Sysroot sysroot = 2; |
| // Test results directory relative to the sysroot. |
| string test_results_dir = 3; |
| |
| // Absolute path to the directory in which artifacts should be dropped. |
| string output_dir = 4; |
| } |
| |
| // DEPRECATED for recipes: crbug/1019868: This is being replaced with |
| // BundleRequest. |
| // Request describing where to find Chrome AFDO artifacts |
| message BundleChromeAFDORequest { |
| // The chroot where the orderfile lives. |
| chromiumos.Chroot chroot = 1; |
| // The build_target of the builder. |
| chromiumos.BuildTarget build_target = 2; |
| // Absolute path to the directory in which artifacts should be dropped. |
| string output_dir = 3; |
| // The type of AFDO artifact (benchmark-afdo or orderfile) |
| chromiumos.AFDOArtifactType artifact_type = 4; |
| } |
| |
| // Fetch the pinned guest image uris. |
| message PinnedGuestImageUriRequest { |
| // The chroot where the sysroot lives. |
| chromiumos.Chroot chroot = 1; |
| // The sysroot where the files live. |
| chromite.api.Sysroot sysroot = 2; |
| } |
| |
| // Response from fetching pinned guest image uris. |
| message PinnedGuestImageUriResponse { |
| message PinnedGuestImage { |
| string filename = 1; |
| string uri = 2; |
| } |
| |
| // The pinned guest images. |
| repeated PinnedGuestImage pinned_images = 1; |
| } |
| |
| // Service for bundling build artifacts and dumping them somewhere on disk. |
| service ArtifactsService { |
| option (service_options) = { |
| module: "artifacts", |
| service_chroot_assert: OUTSIDE, |
| }; |
| |
| // Create a tar archive with all files needed for Autotest HW testing. |
| rpc BundleAutotestFiles(BundleRequest) returns (BundleResponse); |
| |
| // Create the ChromeOS Config JSON payload. |
| rpc BundleChromeOSConfig(BundleRequest) returns (BundleResponse); |
| |
| // Create a tar archive with ebuild logs. |
| rpc BundleEbuildLogs(BundleRequest) returns (BundleResponse); |
| |
| // Create a tar archive with unsigned firmware images. |
| rpc BundleFirmware(BundleRequest) returns (BundleResponse); |
| |
| // Create a tar.xz archive for each image that has been created. |
| rpc BundleImageArchives(BundleRequest) returns (BundleResponse); |
| |
| // Generate zip containing all built images for the target. |
| rpc BundleImageZip(BundleRequest) returns (BundleResponse); |
| |
| // DEPRECATED for recipes: crbug/1019868: This are being replaced by |
| // ToolchainService.Bundle{ArtifactType}() |
| // Create Chrome Benchmark AFDO builder artifacts. |
| rpc BundleAFDOGenerationArtifacts(BundleChromeAFDORequest) |
| returns (BundleResponse); |
| |
| // Create a tar archive with all guest images test bundles. |
| rpc BundlePinnedGuestImages(BundleRequest) returns (BundleResponse); |
| |
| // Create the simple chrome artifacts. |
| rpc BundleSimpleChromeArtifacts(BundleRequest) returns (BundleResponse); |
| |
| // Create a tar archive with all files needed for Tast HW testing. |
| rpc BundleTastFiles(BundleRequest) returns (BundleResponse); |
| |
| // Generate minimal update payloads to be used in HW testing. |
| rpc BundleTestUpdatePayloads(BundleRequest) returns (BundleResponse); |
| |
| // Create a tar archive with VM memory and disk images. |
| rpc BundleVmFiles(BundleVmFilesRequest) returns (BundleResponse); |
| |
| // Generate a CPE report to a file. |
| rpc ExportCpeReport(BundleRequest) returns (BundleResponse); |
| |
| // Fetch the pinned guest image locations. |
| rpc FetchPinnedGuestImageUris(PinnedGuestImageUriRequest) |
| returns (PinnedGuestImageUriResponse); |
| } |