10 "strings" |
10 "strings" |
11 ) |
11 ) |
12 |
12 |
13 // These constants determine the current version of this module. |
13 // These constants determine the current version of this module. |
14 // |
14 // |
15 // |
|
16 // For our release process, we enforce the following rules: |
15 // For our release process, we enforce the following rules: |
17 // * Tagged releases use a tag that is identical to String. |
16 // - Tagged releases use a tag that is identical to String. |
18 // * Tagged releases never reference a commit where the String |
17 // - Tagged releases never reference a commit where the String |
19 // contains "devel". |
18 // contains "devel". |
20 // * The set of all commits in this repository where String |
19 // - The set of all commits in this repository where String |
21 // does not contain "devel" must have a unique String. |
20 // does not contain "devel" must have a unique String. |
22 // |
|
23 // |
21 // |
24 // Steps for tagging a new release: |
22 // Steps for tagging a new release: |
25 // 1. Create a new CL. |
|
26 // |
23 // |
27 // 2. Update Minor, Patch, and/or PreRelease as necessary. |
24 // 1. Create a new CL. |
28 // PreRelease must not contain the string "devel". |
|
29 // |
25 // |
30 // 3. Since the last released minor version, have there been any changes to |
26 // 2. Update Minor, Patch, and/or PreRelease as necessary. |
31 // generator that relies on new functionality in the runtime? |
27 // PreRelease must not contain the string "devel". |
32 // If yes, then increment RequiredGenerated. |
|
33 // |
28 // |
34 // 4. Since the last released minor version, have there been any changes to |
29 // 3. Since the last released minor version, have there been any changes to |
35 // the runtime that removes support for old .pb.go source code? |
30 // generator that relies on new functionality in the runtime? |
36 // If yes, then increment SupportMinimum. |
31 // If yes, then increment RequiredGenerated. |
37 // |
32 // |
38 // 5. Send out the CL for review and submit it. |
33 // 4. Since the last released minor version, have there been any changes to |
39 // Note that the next CL in step 8 must be submitted after this CL |
34 // the runtime that removes support for old .pb.go source code? |
40 // without any other CLs in-between. |
35 // If yes, then increment SupportMinimum. |
41 // |
36 // |
42 // 6. Tag a new version, where the tag is is the current String. |
37 // 5. Send out the CL for review and submit it. |
|
38 // Note that the next CL in step 8 must be submitted after this CL |
|
39 // without any other CLs in-between. |
43 // |
40 // |
44 // 7. Write release notes for all notable changes |
41 // 6. Tag a new version, where the tag is is the current String. |
45 // between this release and the last release. |
|
46 // |
42 // |
47 // 8. Create a new CL. |
43 // 7. Write release notes for all notable changes |
|
44 // between this release and the last release. |
48 // |
45 // |
49 // 9. Update PreRelease to include the string "devel". |
46 // 8. Create a new CL. |
50 // For example: "" -> "devel" or "rc.1" -> "rc.1.devel" |
|
51 // |
47 // |
52 // 10. Send out the CL for review and submit it. |
48 // 9. Update PreRelease to include the string "devel". |
|
49 // For example: "" -> "devel" or "rc.1" -> "rc.1.devel" |
|
50 // |
|
51 // 10. Send out the CL for review and submit it. |
53 const ( |
52 const ( |
54 Major = 1 |
53 Major = 1 |
55 Minor = 27 |
54 Minor = 28 |
56 Patch = 1 |
55 Patch = 1 |
57 PreRelease = "" |
56 PreRelease = "" |
58 ) |
57 ) |
59 |
58 |
60 // String formats the version string for this module in semver format. |
59 // String formats the version string for this module in semver format. |
61 // |
60 // |
62 // Examples: |
61 // Examples: |
|
62 // |
63 // v1.20.1 |
63 // v1.20.1 |
64 // v1.21.0-rc.1 |
64 // v1.21.0-rc.1 |
65 func String() string { |
65 func String() string { |
66 v := fmt.Sprintf("v%d.%d.%d", Major, Minor, Patch) |
66 v := fmt.Sprintf("v%d.%d.%d", Major, Minor, Patch) |
67 if PreRelease != "" { |
67 if PreRelease != "" { |