Skip to content

Commit b819b95

Browse files
Google APIscopybara-github
authored andcommitted
feat: Integration of Cloud Build with Artifact Registry
Committer: @amcooper PiperOrigin-RevId: 484745059
1 parent 61a5ff5 commit b819b95

1 file changed

Lines changed: 96 additions & 0 deletions

File tree

google/devtools/cloudbuild/v1/cloudbuild.proto

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,30 @@ message BuiltImage {
504504
TimeSpan push_timing = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
505505
}
506506

507+
// Artifact uploaded using the PythonPackage directive.
508+
message UploadedPythonPackage {
509+
// URI of the uploaded artifact.
510+
string uri = 1;
511+
512+
// Hash types and values of the Python Artifact.
513+
FileHashes file_hashes = 2;
514+
515+
// Output only. Stores timing information for pushing the specified artifact.
516+
TimeSpan push_timing = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
517+
}
518+
519+
// A Maven artifact uploaded using the MavenArtifact directive.
520+
message UploadedMavenArtifact {
521+
// URI of the uploaded artifact.
522+
string uri = 1;
523+
524+
// Hash types and values of the Maven Artifact.
525+
FileHashes file_hashes = 2;
526+
527+
// Output only. Stores timing information for pushing the specified artifact.
528+
TimeSpan push_timing = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
529+
}
530+
507531
// A step in the build pipeline.
508532
message BuildStep {
509533
// Required. The name of the container image that will run this particular
@@ -660,6 +684,12 @@ message Results {
660684

661685
// Time to push all non-container artifacts.
662686
TimeSpan artifact_timing = 7;
687+
688+
// Python artifacts uploaded to Artifact Registry at the end of the build.
689+
repeated UploadedPythonPackage python_packages = 8;
690+
691+
// Maven artifacts uploaded to Artifact Registry at the end of the build.
692+
repeated UploadedMavenArtifact maven_artifacts = 9;
663693
}
664694

665695
// An artifact that was uploaded during a build. This
@@ -953,6 +983,54 @@ message Artifacts {
953983
TimeSpan timing = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
954984
}
955985

986+
// A Maven artifact to upload to Artifact Registry upon successful completion
987+
// of all build steps.
988+
message MavenArtifact {
989+
// Artifact Registry repository, in the form
990+
// "https://$REGION-maven.pkg.dev/$PROJECT/$REPOSITORY"
991+
//
992+
// Artifact in the workspace specified by path will be uploaded to
993+
// Artifact Registry with this location as a prefix.
994+
string repository = 1;
995+
996+
// Path to an artifact in the build's workspace to be uploaded to
997+
// Artifact Registry.
998+
// This can be either an absolute path,
999+
// e.g. /workspace/my-app/target/my-app-1.0.SNAPSHOT.jar
1000+
// or a relative path from /workspace,
1001+
// e.g. my-app/target/my-app-1.0.SNAPSHOT.jar.
1002+
string path = 2;
1003+
1004+
// Maven `artifactId` value used when uploading the artifact to Artifact
1005+
// Registry.
1006+
string artifact_id = 3;
1007+
1008+
// Maven `groupId` value used when uploading the artifact to Artifact
1009+
// Registry.
1010+
string group_id = 4;
1011+
1012+
// Maven `version` value used when uploading the artifact to Artifact
1013+
// Registry.
1014+
string version = 5;
1015+
}
1016+
1017+
// Python package to upload to Artifact Registry upon successful completion
1018+
// of all build steps. A package can encapsulate multiple objects to be
1019+
// uploaded to a single repository.
1020+
message PythonPackage {
1021+
// Artifact Registry repository, in the form
1022+
// "https://$REGION-python.pkg.dev/$PROJECT/$REPOSITORY"
1023+
//
1024+
// Files in the workspace matching any path pattern will be uploaded to
1025+
// Artifact Registry with this location as a prefix.
1026+
string repository = 1;
1027+
1028+
// Path globs used to match files in the build's workspace. For Python/
1029+
// Twine, this is usually `dist/*`, and sometimes additionally an `.asc`
1030+
// file.
1031+
repeated string paths = 2;
1032+
}
1033+
9561034
// A list of images to be pushed upon the successful completion of all build
9571035
// steps.
9581036
//
@@ -976,6 +1054,24 @@ message Artifacts {
9761054
//
9771055
// If any objects fail to be pushed, the build is marked FAILURE.
9781056
ArtifactObjects objects = 2;
1057+
1058+
// A list of Maven artifacts to be uploaded to Artifact Registry upon
1059+
// successful completion of all build steps.
1060+
//
1061+
// Artifacts in the workspace matching specified paths globs will be uploaded
1062+
// to the specified Artifact Registry repository using the builder service
1063+
// account's credentials.
1064+
//
1065+
// If any artifacts fail to be pushed, the build is marked FAILURE.
1066+
repeated MavenArtifact maven_artifacts = 3;
1067+
1068+
// A list of Python packages to be uploaded to Artifact Registry upon
1069+
// successful completion of all build steps.
1070+
//
1071+
// The build service account credentials will be used to perform the upload.
1072+
//
1073+
// If any objects fail to be pushed, the build is marked FAILURE.
1074+
repeated PythonPackage python_packages = 5;
9791075
}
9801076

9811077
// Start and end times for a build execution phase.

0 commit comments

Comments
 (0)