@@ -6,13 +6,20 @@ the pipelines repo, a terminal window and a text editor.
6
6
7
7
1 . ` cd ` to root of Pipelines git checkout.
8
8
9
- 2 . Point ` kubectl ` at dogfooding cluster.
9
+ 1 . Configure ` kubectl ` to use the dogfooding cluster
10
+ [ as the default context] ( https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/ )
11
+ (** in the final step we will configure the default context to point to something else; until then be aware
12
+ that any kubctl commands you run will act on the dogfooding cluster** )
10
13
11
14
``` bash
12
15
gcloud container clusters get-credentials dogfooding --zone us-central1-a --project tekton-releases
13
16
```
14
17
15
- 3. Create PipelineResource for new version. e.g.
18
+ 1. Select the commit you would like to build the release from, most likely the
19
+ most recent commit at https://github.com/tektoncd/pipeline/commits/master
20
+ and note the commit' s hash.
21
+
22
+ 1. Create a `.yaml` file containing PipelineResource for new version. e.g.
16
23
17
24
```yaml
18
25
apiVersion: tekton.dev/v1alpha1
@@ -25,26 +32,26 @@ the pipelines repo, a terminal window and a text editor.
25
32
- name: url
26
33
value: https://github.com/tektoncd/pipeline
27
34
- name: revision
28
- value: # Example: 33e0847e67fc9804689e50371746c3cdad4b0a9d
35
+ value: # The commmit you selected in the last step, e.g. 33e0847e67fc9804689e50371746c3cdad4b0a9d
29
36
```
30
37
31
- 4. ` kubectl apply -f tekton/resources .yaml`
38
+ 1. Apply file you just made to the dogfooding cluster: `kubectl apply -f your-pipeline-resource-file .yaml`
32
39
33
- 5 . Create environment variables for bash scripts in later steps.
40
+ 1 . Create environment variables for bash scripts in later steps.
34
41
35
42
```bash
36
- TEKTON_VERSION=# Example: v0.11.2
37
- TEKTON_RELEASE_GIT_RESOURCE=# Example : tekton-pipelines-v0-11-2
38
- TEKTON_IMAGE_REGISTRY=gcr.io/tekton-releases
43
+ TEKTON_VERSION=# Example: v0.11.0
44
+ TEKTON_RELEASE_GIT_RESOURCE=# Name of the resource you created, e.g. : tekton-pipelines-v0-11-0
45
+ TEKTON_IMAGE_REGISTRY=gcr.io/tekton-releases # only change if you want to publish to a different registry
39
46
```
40
47
41
- 6 . Confirm commit SHA matches what you want to release.
48
+ 1 . Confirm commit SHA matches what you want to release.
42
49
43
50
```bash
44
51
kubectl get pipelineresource "$TEKTON_RELEASE_GIT_RESOURCE" -o=jsonpath="{' Target Revision: ' }{.spec.params[?(@.name == ' revision' )].value}{' \n ' }"
45
52
```
46
53
47
- 7 . Execute the release pipeline.
54
+ 1 . Execute the release pipeline.
48
55
49
56
**If you are backporting include this flag: `--param=releaseAsLatest="false"`**
50
57
@@ -70,19 +77,22 @@ the pipelines repo, a terminal window and a text editor.
70
77
pipeline-release
71
78
```
72
79
73
- 8. Watch logs of pipeline-release.
80
+ 1. Watch logs of pipeline-release.
81
+
82
+ 1. The YAMLs are now released! Anyone installing Tekton Pipelines will now get the new version. Time to create a new GitHub release announcement:
74
83
75
- 9. The YAMLs are now released! Anyone installing Tekton Pipelines will now get the new version. Time to create a new GitHub release announcement:
84
+ 1. Choose a name for the new release! The usual pattern is "< cat breed > < famous robot >" e.g. "Ragdoll Norby".
85
+ (Check the previous releases to avoid repetition: https://github.com/tektoncd/pipeline/releases.)
76
86
77
87
1. Create additional environment variables
78
88
79
89
```bash
80
90
TEKTON_OLD_VERSION=# Example: v0.11.1
81
- TEKTON_RELEASE_NAME=# Example : "Ragdoll Norby"
91
+ TEKTON_RELEASE_NAME=# The release name you just chose, e.g. : "Ragdoll Norby"
82
92
TEKTON_PACKAGE=tektoncd/pipeline
83
93
```
84
94
85
- 2 . Execute the Draft Release task.
95
+ 1 . Execute the Draft Release task.
86
96
87
97
```bash
88
98
tkn task start \
@@ -95,26 +105,30 @@ the pipelines repo, a terminal window and a text editor.
95
105
create-draft-release
96
106
```
97
107
98
- 4. Watch logs of create-draft-release
108
+ 1. Watch logs of create-draft-release
109
+
110
+ 1. On successful completion, a URL will be logged. Visit that URL and sort the
111
+ release notes.
112
+ 1. Manually add upgrade and deprecation notices based on the generated release notes
113
+ 1. Double-check that the list of commits here matches your expectations
114
+ for the release. You might need to remove incorrect commits or copy/paste commits
115
+ from the release branch. Refer to previous releases to confirm the expected format.
99
116
100
- 5. On successful completion, a URL will be logged. Visit that URL and sort the
101
- release notes. ** Double-check that the list of commits here matches your expectations
102
- for the release.** You might need to remove incorrect commits or copy/paste commits
103
- from the release branch. Refer to previous releases to confirm the expected format.
117
+ 1. Un-check the "This is a pre-release" checkbox since you' re making a legit for-reals release!
104
118
105
- 6 . Publish the GitHub release once all notes are correct and in order.
119
+ 1 . Publish the GitHub release once all notes are correct and in order.
106
120
107
- 10 . Edit ` README.md` on ` master` branch, add entry to docs table with latest release links.
121
+ 1 . Edit ` README.md` on ` master` branch, add entry to docs table with latest release links.
108
122
109
- 11 . Push & make PR for updated ` README.md`
123
+ 1 . Push & make PR for updated ` README.md`
110
124
111
- 12 . ** Important: Stop pointing ` kubectl` at dogfooding cluster.**
125
+ 1 . ** Important: Stop pointing ` kubectl` at dogfooding cluster.**
112
126
113
127
` ` ` bash
114
128
kubectl config use-context my-dev-cluster
115
129
` ` `
116
130
117
- 13 . Test release that you just made.
131
+ 1 . Test release that you just made.
118
132
119
133
` ` ` bash
120
134
# Test latest
@@ -126,9 +140,9 @@ the pipelines repo, a terminal window and a text editor.
126
140
kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.11.2/release.yaml
127
141
` ` `
128
142
129
- 14 . Announce the release in Slack channels # general and #pipelines.
143
+ 1 . Announce the release in Slack channels # general and #pipelines.
130
144
131
- 15 . Update [the catalog repo](https://github.com/tektoncd/catalog) test infrastructure
132
- to use the new release by updating the ` RELEASE_YAML` link in [e2e-tests.sh](https://github.com/tektoncd/catalog/blob/v1beta1 /test/e2e-tests.sh).
145
+ 1 . Update [the catalog repo](https://github.com/tektoncd/catalog) test infrastructure
146
+ to use the new release by updating the ` RELEASE_YAML` link in [e2e-tests.sh](https://github.com/tektoncd/catalog/blob/master /test/e2e-tests.sh).
133
147
134
148
Congratulations, you' re done!
0 commit comments