Skip to content

Commit 7fc298c

Browse files
author
Aaron Schlesinger
committed
doc(releasing.md): add steps for creating a new helm chart
1 parent 57280cb commit 7fc298c

1 file changed

Lines changed: 22 additions & 9 deletions

File tree

src/contributing/releasing.md

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@ This document describes how to release a new Deis version. It's targetted toward
44
maintainers.
55

66
The below sections present a step by step guide to releasing a new Deis Workflow. Throughout all
7-
examples, we'll be assuming we're going to release `$DEIS_RELEASE`. Before you begin, set this
8-
environment variable to the correct version that you intend to release (for example, `2.0.0-beta2`).
7+
examples, we'll be assuming that the below two environment variables are present in wherever
8+
you're working. Make sure to set them (e.g. by `export`ing them) before you get started.
9+
10+
- `$DEIS_RELEASE` - the full name of this version. For example, `v2.0.0-beta2`
11+
- `$DEIS_RELEASE_SHORT` - The short name of this version. For example, `beta2`
912

1013
# What's a release?
1114

@@ -38,22 +41,32 @@ interested in upgrading. We'll use
3841
place. That repository is a group of git submodules with all of the applicable repositories in it,
3942
so that we can manage everything from one place.
4043

41-
Clone that repository to any location on your local machine, and make sure to update all submodules:
44+
Clone that repository to any location on your local machine, update all submodules and list
45+
the latest commit for each submodule:
4246

4347
```console
4448
git clone https://github.com/sgoings/deis-workflow-group
4549
cd deis-workflow-group
4650
make git-update
51+
git submodule status
4752
```
4853

54+
Keep the list of commit SHAs handy - you'll need it for later.
55+
4956
# Step 2: Create a new Helm chart
5057

51-
TODO
58+
Next, we'll create a new [Helm](https://github.com/helm/helm) chart so that we can "stage" a
59+
version of our release for testing. The process is fairly simple:
5260

53-
- Copy from old chart
54-
- Run `git submodule update` to get git SHAs
55-
- Update `generate_params.toml`
56-
- Branch and PR your new chart (the branch should be called `release-$DEIS_RELEASE`)
61+
1. Create a new branch: `git checkout -b release-$DEIS_RELEASE`
62+
2. Copy an existing chart: `cp -r workflow-beta2 workflow-$DEIS_RELEASE_SHORT`
63+
3. Modify the `workflow-$DEIS_RELEASE_SHORT/tpl/generate_params.toml` file to ensure that all
64+
`dockerTag` values look like `git-$COMPONENT_SHA_SHORT`, where `$COMPONENT_SHA_SHORT` is the first
65+
7 characters of the applicable SHA that you got in the previous step.
66+
4. Commit your changes: `git commit -a -m "chore(workflow-$DEIS_RELEASE_SHORT): releasing workflow-$DEIS_RELEASE_SHORT"`
67+
5. Push your changes to your fork: `git push -u $YOUR_FORK_REMOTE release-$DEIS_RELEASE`. Note that
68+
`$YOUR_FORK_REMOTE` is the git URI to the remote of your `deis/charts` fork. Mine is `git@github.com:arschles/deis-charts.git`, for example.
69+
6. Open a pull request from your branch to merge into `master` on https://github.com/deis/charts
5770

5871
# Step 3: Manual Testing
5972

@@ -78,7 +91,7 @@ TODO
7891

7992
Tag docker images for each component, from the Docker tags that you set in step 2 to ``$DEIS_RELEASE`
8093

81-
# Step 5: Update changelogs
94+
# Step 5: Update Changelogs
8295

8396
TODO
8497

0 commit comments

Comments
 (0)