syntax = "proto3";
package build;
import "google/protobuf/timestamp.proto";
message BuildRequest {
// project namespace
string namespace = 1;
// project id
string id = 2;
// project manifest version
uint64 manifest_version = 3;
// target platform
string target_platform = 4;
}
message BuildResponse {
// version: build version
uint64 version = 1;
}
message CancelBuildRequest {
// project namespace
string namespace = 1;
// project id
string id = 2;
// project build version
uint64 build_version = 3;
}
message CancelBuildResponse {}
message ScanBuildRequest {}
message BuildMetadataKey {
// project namespace
string namespace = 1;
// project id
string id = 2;
// project build version
uint64 version = 3;
}
message ScanBuildResponse {
repeated BuildMetadataKey builds = 1;
}
message GetBuildLogRequest {
// project namespace
string namespace = 1;
// project id
string id = 2;
// project build version
uint64 build_version = 3;
}
message GetBuildLogResponse {
// log context
bytes buffer = 1;
}
message DeleteBuildCacheRequest {
// project namespace
string namespace = 1;
// project id
string id = 2;
// target platform
string target_platform = 4;
}
message DeleteBuildCacheResponse {}
message ScanBuildCacheRequest {}
message BuildCacheMetadata {
// project namespace
string namespace = 1;
// project id
string id = 2;
// target platform
string target_platform = 3;
// cache hit timestamp
google.protobuf.Timestamp timestamp = 4;
}
message ScanBuildCacheResponse {
repeated BuildCacheMetadata caches = 1;
}
service Builder {
rpc Build(BuildRequest) returns (BuildResponse) {}
rpc CancelBuild(CancelBuildRequest) returns (CancelBuildResponse) {}
rpc GetBuildLog(GetBuildLogRequest) returns (GetBuildLogResponse) {}
rpc ScanBuild(ScanBuildRequest) returns (ScanBuildResponse) {}
rpc DeleteBuildCache(DeleteBuildCacheRequest) returns (DeleteBuildCacheResponse) {}
rpc ScanBuildCache(ScanBuildCacheRequest) returns (ScanBuildCacheResponse) {}
}