You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Otherwise, for bulk-cutting all repos at the same time, we will use [sgoings/deis-workflow-group](https://github.com/sgoings/deis-workflow-group) here and in Step 2 below:
make git-update # point all repos to latest master commits
54
+
BRANCH="release-${WORKFLOW_RELEASE}" NEW="true" make git-checkout-branch
55
+
BRANCH="release-${WORKFLOW_RELEASE}" make git-push-branch #(can use DRY_RUN=true)
56
+
```
57
+
58
+
2. tag and push docker images to 'staging' `deisci` org
59
+
```
60
+
TAG="${WORKFLOW_RELEASE}" ORG="deisci" make docker-tag docker-push #(can use DRY_RUN=true)
61
+
```
62
+
63
+
# Step 2: Create New Helm Classic Charts
44
64
45
65
Next, we'll create new [Helm Classic](https://github.com/helm/helm-classic) charts so that we can "stage" a
46
66
version of our release for testing. Here is the current process to do so:
47
67
48
-
1. Create a new branch in [deis/charts](https://github.com/deis/charts): `git checkout -b release-$WORKFLOW_RELEASE origin/master`
68
+
1. Create a new branch in [deis/charts](https://github.com/deis/charts): `git checkout -b release-$WORKFLOW_RELEASE upstream/master`
69
+
49
70
2. Download the [deisrel](https://github.com/deis/deisrel) binary via the bintray link provided in the project's README and place it in your `$PATH`
50
-
3. Stage copies of all files needing release updates into the appropriate `workflow-$WORKFLOW_RELEASE_SHORT(-e2e)` chart directories. (Note: `deisrel` will automatically fetch the latest commit sha values from the `master` branch of each repo to populate the appropriate component's `dockerTag` in `tpl/generate_params.toml`):
71
+
72
+
3. Copy the current `dev` charts into new `workflow-$WORKFLOW_RELEASE_SHORT` charts:
helmc install workflow-$WORKFLOW_RELEASE_SHORT-e2e (to run the e2e tests)
57
97
```
98
+
99
+
7. Commit your changes:
100
+
```console
58
101
git commit -a -m "chore(workflow-$WORKFLOW_RELEASE_SHORT): releasing workflow-$WORKFLOW_RELEASE_SHORT(-e2e)"
59
102
```
60
-
6. Push your changes: `git push origin HEAD:release-$WORKFLOW_RELEASE`.
61
-
7. Open a pull request from your branch to merge into `master` on https://github.com/deis/charts
62
103
63
-
# Step 2: Kick off Jenkins Job
104
+
8. Push your changes: `git push upstream HEAD:release-$WORKFLOW_RELEASE`.
105
+
106
+
9. Open a pull request from your branch to merge into `master` on https://github.com/deis/charts
107
+
108
+
# Step 3: Kick off Jenkins Jobs
64
109
65
110
Navigate to https://ci.deis.io/job/workflow-test-release/ and kick off a new job with appropriate build parameters filled out, i.e. `HELM_REMOTE_BRANCH=$WORKFLOW_RELEASE` and `RELEASE=$WORKFLOW_RELEASE_SHORT`
66
111
67
-
As of this writing, the e2e tests in this job are run on a GKE cluster using default (minio) external storage.
112
+
As of this writing, the e2e tests in this job are run on a GKE cluster using default (minio) storage. To kick off the supported external storage permutations, run https://ci.deis.io/job/storage_backend_e2e/ w/ `STORAGE_TYPE` of 'gcs' and 'aws', along with the other
113
+
values used in job above.
68
114
69
-
# Step 3: Update Documentation
115
+
# Step 4: Update Documentation
70
116
71
117
Create a new pull request against deis/workflow, updating all references of the old release to
72
-
`$WORKFLOW_RELEASE`. Use `git grep $WORKFLOW_OLD_RELEASE` to find any references.
118
+
`$WORKFLOW_RELEASE`. Use `git grep $WORKFLOW_OLD_RELEASE` to find any references. (Be careful not to
119
+
change `CHANGELOG.md`)
73
120
74
121
Also, note there may be an occurrence of the previous oldest release (prior to `$WORKFLOW_OLD_RELEASE`) in
75
122
`upgrading-workflow.md`. This should be changed to `$WORKFLOW_OLD_RELEASE`.
76
123
77
-
# Step 4: Manual Testing
124
+
# Step 5: Manual Testing
78
125
79
126
After the chart is created with the immutable Docker image tags that represent the final images
80
127
(i.e. the ones that will be re-tagged to the immutable release tag, such as `2.0.0-rc1`), it
@@ -93,48 +140,46 @@ Amazon S3 |
93
140
94
141
95
142
!!! note
143
+
96
144
If bugs are found and fixes are made, do the following:
97
145
98
-
- Update the appropriate docker tag(s) in the `generate_params.toml` file
99
-
- Push this change to the release branch
146
+
- PR the fix, get it reviewed and merged into master of component repo(s)
147
+
- git cherry-pick <issue_fix_sha> into the `release-$WORKFLOW_RELEASE` branch(es) of component repo(s)
148
+
- retag the `git-<issue_fix_sha>` image with `$WORKFLOW_RELEASE` and push to 'staging' `deisci` quay org.
100
149
101
-
# Step 5: Tag and Push Docker Images
150
+
# Step 6: Tag and Push Docker Images
102
151
103
152
After everyone has tested and determined that there are no show-stopping problems for this release,
104
153
it's time to tag each individual Docker image with `$WORKFLOW_RELEASE`.
105
154
106
155
To do so, simply go back to the directory where you checked out the `deis-workflow-group` repo
107
-
and run the following two commands to tag and push updated docker images:
156
+
and run the following two commands to tag and push updated docker images to the 'prod' `deis` quay org:
108
157
109
158
```console
110
-
make git-update
111
-
TAG=$WORKFLOW_RELEASE make docker-tag docker-push
159
+
BRANCH="release-$WORKFLOW_RELEASE" make git-checkout-branch
160
+
TAG=$WORKFLOW_RELEASE ORG="deis" make docker-tag docker-push
112
161
```
113
162
114
-
# Step 6: Update Helm Classic Chart
163
+
# Step 7: Update Helm Classic Chart
115
164
116
165
Now that new Docker images are on public Docker repositories, it's time to update the Helm Classic chart
117
166
to reference the official images. We will use `deisrel` to do this. The following will change every `dockerTag` value
118
167
to the same `$WORKFLOW_RELEASE` as well as now pointing to the `deis` quay org.
119
168
120
-
```
121
-
deisrel helm-params --stage --tag $WORKFLOW_RELEASE --org deis workflow
122
-
deisrel helm-params --stage --tag $WORKFLOW_RELEASE --org deis e2e
deisrel helm-stage --tag $WORKFLOW_RELEASE --stagingDir workflow-$WORKFLOW_RELEASE_SHORT --org deis workflow
172
+
deisrel helm-stage --tag $WORKFLOW_RELEASE --stagingDir workflow-$WORKFLOW_RELEASE_SHORT-e2e --org deis e2e
129
173
```
130
174
131
-
Double-check that `workflow-dev/tpl/generate_params.toml`, has the value `https://versions.deis.com` for `versionsApiURL` entry under `workflowManager`.
132
-
133
175
When you're done, commit and push your changes. You should get your pull request reviewed and merged before continuing.
134
176
135
-
**Note:** If non-release-specific amendments have been made to the release chart that do not exist in the `workflow-dev`, be sure to PR said changes for this chart as well.
177
+
!!! note
178
+
179
+
If non-release-specific amendments have been made to the release chart that do
180
+
not exist in the `workflow-dev`, be sure to PR said changes for this chart as well.
136
181
137
-
# Step 7: Update Changelogs
182
+
# Step 8: Update Changelogs
138
183
139
184
At this point, part of the first part and all of the second part of the release is complete.
140
185
That is, the Helm Classic chart for the new Workflow version is done, and new Docker versions for all
0 commit comments