Move RetryStep enum to infra/proto

Want to be able to use this proto in Golang as well.

BUG=b:262388770
TEST=./generate

Change-Id: I084acfa2e268d15d4f81bc530a9216d37af17328
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/proto/+/4119214
Commit-Queue: Jack Neus <jackneus@google.com>
Reviewed-by: George Engelbrecht <engeg@google.com>
diff --git a/gen/descriptors.json b/gen/descriptors.json
index 9297894..fddeb15 100644
--- a/gen/descriptors.json
+++ b/gen/descriptors.json
@@ -15536,6 +15536,82 @@
         "isImport": false,
         "isSyntaxUnspecified": false
       },
+      "enumType": [
+        {
+          "name": "RetryStep",
+          "value": [
+            {
+              "name": "UNDEFINED",
+              "number": 0
+            },
+            {
+              "name": "CREATE_BUILDSPEC",
+              "number": 10
+            },
+            {
+              "name": "PUBLIC_BUILD_LKGM",
+              "number": 20
+            },
+            {
+              "name": "RUN_CHILDREN",
+              "number": 30
+            },
+            {
+              "name": "RUN_FAILED_CHILDREN",
+              "number": 31
+            },
+            {
+              "name": "LAUNCH_TESTS",
+              "number": 40
+            },
+            {
+              "name": "STAGE_ARTIFACTS",
+              "number": 150
+            },
+            {
+              "name": "PUSH_IMAGES",
+              "number": 160
+            },
+            {
+              "name": "DEBUG_SYMBOLS",
+              "number": 165
+            },
+            {
+              "name": "EBUILD_TESTS",
+              "number": 170
+            },
+            {
+              "name": "COLLECT_SIGNING",
+              "number": 180
+            },
+            {
+              "name": "PAYGEN",
+              "number": 190
+            },
+            {
+              "name": "UPLOAD_PAYLOAD",
+              "number": 1000
+            },
+            {
+              "name": "TEST_PAYLOAD",
+              "number": 1010
+            }
+          ]
+        }
+      ],
+      "name": "chromiumos/checkpoint.proto",
+      "options": {
+        "goPackage": "go.chromium.org/chromiumos/infra/proto/go/chromiumos",
+        "javaPackage": "com.google.chrome.crosinfra.proto"
+      },
+      "package": "chromiumos",
+      "syntax": "proto3"
+    },
+    {
+      "bufExtension": {
+        "isImport": false,
+        "isSyntaxUnspecified": false
+      },
       "dependency": [
         "google/protobuf/timestamp.proto"
       ],
diff --git a/go/chromiumos/checkpoint.pb.go b/go/chromiumos/checkpoint.pb.go
new file mode 100644
index 0000000..768b430
--- /dev/null
+++ b/go/chromiumos/checkpoint.pb.go
@@ -0,0 +1,204 @@
+// Copyright 2022 The ChromiumOS Authors. All rights reserved.  Use
+// of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// 	protoc-gen-go v1.27.1
+// 	protoc        v3.17.1
+// source: chromiumos/checkpoint.proto
+
+package chromiumos
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	reflect "reflect"
+	sync "sync"
+)
+
+const (
+	// Verify that this generated code is sufficiently up-to-date.
+	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+	// Verify that runtime/protoimpl is sufficiently up-to-date.
+	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RetryStep int32
+
+const (
+	// Numbering guide:
+	// Orchestrator steps live [1, 100).
+	// Child builder steps live in [100, 800).
+	// Paygen orchestrator steps live in [800, 1000).
+	// Paygenie steps live in [1000, ...).
+	RetryStep_UNDEFINED RetryStep = 0
+	// Orchestrator steps.
+	RetryStep_CREATE_BUILDSPEC    RetryStep = 10
+	RetryStep_PUBLIC_BUILD_LKGM   RetryStep = 20
+	RetryStep_RUN_CHILDREN        RetryStep = 30
+	RetryStep_RUN_FAILED_CHILDREN RetryStep = 31
+	RetryStep_LAUNCH_TESTS        RetryStep = 40
+	// Child builder steps.
+	RetryStep_STAGE_ARTIFACTS RetryStep = 150
+	// Push images to the release bucket (and thus initiate signing).
+	RetryStep_PUSH_IMAGES RetryStep = 160
+	// Upload debug symbols.
+	RetryStep_DEBUG_SYMBOLS RetryStep = 165
+	// Run ebuild tests.
+	// Currently unsupported.
+	RetryStep_EBUILD_TESTS RetryStep = 170
+	// Collect the results of signing.
+	// Used if the build fails after it initiates signing requests
+	// (in PUSH_IMAGES) but before it collects and reports signing results.
+	RetryStep_COLLECT_SIGNING RetryStep = 180
+	// Do payload generation.
+	RetryStep_PAYGEN RetryStep = 190
+	// Paygenie steps.
+	RetryStep_UPLOAD_PAYLOAD RetryStep = 1000
+	RetryStep_TEST_PAYLOAD   RetryStep = 1010
+)
+
+// Enum value maps for RetryStep.
+var (
+	RetryStep_name = map[int32]string{
+		0:    "UNDEFINED",
+		10:   "CREATE_BUILDSPEC",
+		20:   "PUBLIC_BUILD_LKGM",
+		30:   "RUN_CHILDREN",
+		31:   "RUN_FAILED_CHILDREN",
+		40:   "LAUNCH_TESTS",
+		150:  "STAGE_ARTIFACTS",
+		160:  "PUSH_IMAGES",
+		165:  "DEBUG_SYMBOLS",
+		170:  "EBUILD_TESTS",
+		180:  "COLLECT_SIGNING",
+		190:  "PAYGEN",
+		1000: "UPLOAD_PAYLOAD",
+		1010: "TEST_PAYLOAD",
+	}
+	RetryStep_value = map[string]int32{
+		"UNDEFINED":           0,
+		"CREATE_BUILDSPEC":    10,
+		"PUBLIC_BUILD_LKGM":   20,
+		"RUN_CHILDREN":        30,
+		"RUN_FAILED_CHILDREN": 31,
+		"LAUNCH_TESTS":        40,
+		"STAGE_ARTIFACTS":     150,
+		"PUSH_IMAGES":         160,
+		"DEBUG_SYMBOLS":       165,
+		"EBUILD_TESTS":        170,
+		"COLLECT_SIGNING":     180,
+		"PAYGEN":              190,
+		"UPLOAD_PAYLOAD":      1000,
+		"TEST_PAYLOAD":        1010,
+	}
+)
+
+func (x RetryStep) Enum() *RetryStep {
+	p := new(RetryStep)
+	*p = x
+	return p
+}
+
+func (x RetryStep) String() string {
+	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (RetryStep) Descriptor() protoreflect.EnumDescriptor {
+	return file_chromiumos_checkpoint_proto_enumTypes[0].Descriptor()
+}
+
+func (RetryStep) Type() protoreflect.EnumType {
+	return &file_chromiumos_checkpoint_proto_enumTypes[0]
+}
+
+func (x RetryStep) Number() protoreflect.EnumNumber {
+	return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use RetryStep.Descriptor instead.
+func (RetryStep) EnumDescriptor() ([]byte, []int) {
+	return file_chromiumos_checkpoint_proto_rawDescGZIP(), []int{0}
+}
+
+var File_chromiumos_checkpoint_proto protoreflect.FileDescriptor
+
+var file_chromiumos_checkpoint_proto_rawDesc = []byte{
+	0x0a, 0x1b, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x68, 0x65,
+	0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x63,
+	0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2a, 0x9e, 0x02, 0x0a, 0x09, 0x52, 0x65,
+	0x74, 0x72, 0x79, 0x53, 0x74, 0x65, 0x70, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x44, 0x45, 0x46,
+	0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45,
+	0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x53, 0x50, 0x45, 0x43, 0x10, 0x0a, 0x12, 0x15, 0x0a, 0x11,
+	0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x4c, 0x4b, 0x47,
+	0x4d, 0x10, 0x14, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x55, 0x4e, 0x5f, 0x43, 0x48, 0x49, 0x4c, 0x44,
+	0x52, 0x45, 0x4e, 0x10, 0x1e, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x55, 0x4e, 0x5f, 0x46, 0x41, 0x49,
+	0x4c, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x49, 0x4c, 0x44, 0x52, 0x45, 0x4e, 0x10, 0x1f, 0x12, 0x10,
+	0x0a, 0x0c, 0x4c, 0x41, 0x55, 0x4e, 0x43, 0x48, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x53, 0x10, 0x28,
+	0x12, 0x14, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41,
+	0x43, 0x54, 0x53, 0x10, 0x96, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x49,
+	0x4d, 0x41, 0x47, 0x45, 0x53, 0x10, 0xa0, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x44, 0x45, 0x42, 0x55,
+	0x47, 0x5f, 0x53, 0x59, 0x4d, 0x42, 0x4f, 0x4c, 0x53, 0x10, 0xa5, 0x01, 0x12, 0x11, 0x0a, 0x0c,
+	0x45, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x53, 0x10, 0xaa, 0x01, 0x12,
+	0x14, 0x0a, 0x0f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x49,
+	0x4e, 0x47, 0x10, 0xb4, 0x01, 0x12, 0x0b, 0x0a, 0x06, 0x50, 0x41, 0x59, 0x47, 0x45, 0x4e, 0x10,
+	0xbe, 0x01, 0x12, 0x13, 0x0a, 0x0e, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x50, 0x41, 0x59,
+	0x4c, 0x4f, 0x41, 0x44, 0x10, 0xe8, 0x07, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x45, 0x53, 0x54, 0x5f,
+	0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0xf2, 0x07, 0x42, 0x59, 0x0a, 0x21, 0x63, 0x6f,
+	0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x2e,
+	0x63, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5a,
+	0x34, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67,
+	0x2f, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x69, 0x6e, 0x66, 0x72,
+	0x61, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x68, 0x72, 0x6f, 0x6d,
+	0x69, 0x75, 0x6d, 0x6f, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+	file_chromiumos_checkpoint_proto_rawDescOnce sync.Once
+	file_chromiumos_checkpoint_proto_rawDescData = file_chromiumos_checkpoint_proto_rawDesc
+)
+
+func file_chromiumos_checkpoint_proto_rawDescGZIP() []byte {
+	file_chromiumos_checkpoint_proto_rawDescOnce.Do(func() {
+		file_chromiumos_checkpoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_chromiumos_checkpoint_proto_rawDescData)
+	})
+	return file_chromiumos_checkpoint_proto_rawDescData
+}
+
+var file_chromiumos_checkpoint_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_chromiumos_checkpoint_proto_goTypes = []interface{}{
+	(RetryStep)(0), // 0: chromiumos.RetryStep
+}
+var file_chromiumos_checkpoint_proto_depIdxs = []int32{
+	0, // [0:0] is the sub-list for method output_type
+	0, // [0:0] is the sub-list for method input_type
+	0, // [0:0] is the sub-list for extension type_name
+	0, // [0:0] is the sub-list for extension extendee
+	0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_chromiumos_checkpoint_proto_init() }
+func file_chromiumos_checkpoint_proto_init() {
+	if File_chromiumos_checkpoint_proto != nil {
+		return
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_chromiumos_checkpoint_proto_rawDesc,
+			NumEnums:      1,
+			NumMessages:   0,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_chromiumos_checkpoint_proto_goTypes,
+		DependencyIndexes: file_chromiumos_checkpoint_proto_depIdxs,
+		EnumInfos:         file_chromiumos_checkpoint_proto_enumTypes,
+	}.Build()
+	File_chromiumos_checkpoint_proto = out.File
+	file_chromiumos_checkpoint_proto_rawDesc = nil
+	file_chromiumos_checkpoint_proto_goTypes = nil
+	file_chromiumos_checkpoint_proto_depIdxs = nil
+}
diff --git a/src/chromiumos/checkpoint.proto b/src/chromiumos/checkpoint.proto
new file mode 100644
index 0000000..e0d6470
--- /dev/null
+++ b/src/chromiumos/checkpoint.proto
@@ -0,0 +1,60 @@
+// Copyright 2022 The ChromiumOS Authors. All rights reserved.  Use
+// of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+syntax = "proto3";
+
+package chromiumos;
+
+option go_package = "go.chromium.org/chromiumos/infra/proto/go/chromiumos";
+option java_package = "com.google.chrome.crosinfra.proto";
+
+// Define protos for Release Checkpoints. See go/release-checkpoints-dd for
+// details.
+
+enum RetryStep {
+    // Numbering guide:
+    // Orchestrator steps live [1, 100).
+    // Child builder steps live in [100, 800).
+    // Paygen orchestrator steps live in [800, 1000).
+    // Paygenie steps live in [1000, ...).
+    UNDEFINED = 0;
+
+    // Orchestrator steps.
+    CREATE_BUILDSPEC = 10;
+
+    PUBLIC_BUILD_LKGM = 20;
+
+    RUN_CHILDREN = 30;
+    RUN_FAILED_CHILDREN = 31;
+
+    LAUNCH_TESTS = 40;
+
+
+    // Child builder steps.
+    STAGE_ARTIFACTS = 150;
+
+    // Push images to the release bucket (and thus initiate signing).
+    PUSH_IMAGES = 160;
+
+    // Upload debug symbols.
+    DEBUG_SYMBOLS = 165;
+
+    // Run ebuild tests.
+    // Currently unsupported.
+    EBUILD_TESTS = 170;
+
+    // Collect the results of signing.
+    // Used if the build fails after it initiates signing requests
+    // (in PUSH_IMAGES) but before it collects and reports signing results.
+    COLLECT_SIGNING = 180;
+
+    // Do payload generation.
+    PAYGEN = 190;
+
+
+    // Paygenie steps.
+    UPLOAD_PAYLOAD = 1000;
+
+    TEST_PAYLOAD = 1010;
+}