Add docs about Github releases
[#166232257](https://www.pivotaltracker.com/story/show/166232257)
- [Create-Or-Update pattern](#create-or-update-pattern)
- [Logging and Events](#logging-and-events)
- [Versioning](#versioning)
+ - [Releasing](#releasing)
+ - [How to Create a New Release](#how-to-create-a-new-release)
## Requirements
@@ -237,3 +239,38 @@ Calling `WarningEvent` just creates a warning event, without logging.
## Versioning
APIs and types follow the upstream versioning scheme described at: https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-versioning
+
+## Releasing
+
+We're releasing based on tags, which contain our version number. The format is 'v0.0.0'.
+The release title will be set to this version.
+
+The master CI pipeline has a 'release' job, which will update the release on Github.
+That job triggers itself, when a draft release is created.
+
+After a commit passed the master CI pipeline it can be tagged. Could also be tagged before passing through the pipeline. The pipeline will create several artifacts:
+
+* helm chart on S3
+* cf-operator binary on S3
+* docker image of the operator on dockerhub
+
+Running the 'release' job will take the latest artificats, which passed through the pipeline and add them to the Github release:
+
+* to the body
+* as Github assets for downloading
+
+The version numbers (v0.0.0-build.SHA) of these assets are taken from the info on S3.
+The assets will be copied into a 'release' folder on S3.
+
+The docker image is only referenced from the helm chart and not mentioned in the release, though.
+
+
+### How to Create a New Release
+
+1. Wait for commit to pass master pipeline
+2. Tag commit with new version number
+3. Create a draft Github release for that tag
+4. Wait for 'release' job to finish on Concourse
+5. Edit the draft release on Github and publish it
+
+Try not to push to master pipeline again, until step 4 is completed. The 'release' job will always take the most recent artifacts from S3. Maybe pause the 'publish' job manually to avoid accidental updates.
