mirror of
https://github.com/weaveworks/scope.git
synced 2026-08-23 22:36:24 +00:00
Updated Release Process (markdown)
+108
-9
@@ -1,12 +1,111 @@
|
||||
We use the same script as Weave, hence the same documentation applies.
|
||||
This runbook cobbled together from
|
||||
|
||||
* https://github.com/weaveworks/weave/wiki/Release-Process
|
||||
- https://github.com/weaveworks/weave/wiki/Release-Process
|
||||
- https://github.com/weaveworks/weave/blob/master/docs/release-process.md
|
||||
- Blood, sweat, and tears
|
||||
|
||||
*BEWARE* when copying `git push -f git@github.com:weaveworks/weave latest_release v0.7.1`, you're pushing to the weave repo. It should be `git push -f git@github.com:weaveworks/scope latest_release v0.7.1`.
|
||||
If you have a problem with any step, please
|
||||
|
||||
Other pointers:
|
||||
- Release notes should only contain user visible changes; new features and bug fixes. Refactorings don't need to be documented.
|
||||
- Useful when compiling release notes is the [changes since last release](https://github.com/weaveworks/scope/compare/latest_release...master)
|
||||
- Also note most pull requests have the issue number in the branch name, which is helpful
|
||||
- *MAKE SURE* you update your ```make deps``` tools (for instance, ```docker-squash```) and go-gotten dependancies, so you're not compiling with an old version of some library.
|
||||
- Also, don't forget to do a ```make static```
|
||||
- Contact another Scope team member, starting with Peter, for help, and then
|
||||
- Document what went wrong, and the fix, in the appropriate section!
|
||||
|
||||
Through our powers combined, we can make this process better.
|
||||
|
||||
## Live-stream your release
|
||||
|
||||
If you have the energy, please consider live-streaming your release on the chat.
|
||||
It's really helpful for tracking problems and fixes.
|
||||
It can also serve as a helpful source of information for those who follow in your footsteps.
|
||||
|
||||
## Go to a Linux host
|
||||
|
||||
Releases **must** be performed from Linux.
|
||||
You also need a working Docker environment.
|
||||
|
||||
## Get the latest tools
|
||||
|
||||
As of 1 October 2015, you need our fork of github-release,
|
||||
|
||||
```
|
||||
$ go get -u -v github.com/weaveworks/github-release
|
||||
```
|
||||
|
||||
You also need weaveworks/tools in the same parent folder as weaveworks/scope
|
||||
|
||||
```
|
||||
$ cd ..
|
||||
$ git clone https://github.com/weaveworks/tools
|
||||
```
|
||||
|
||||
## Update the dependencies
|
||||
|
||||
This **must** be done from the master branch.
|
||||
|
||||
```
|
||||
$ git checkout master
|
||||
$ make update
|
||||
```
|
||||
|
||||
## Create a release branch
|
||||
|
||||
`$ git checkout -b release-0.1.0`
|
||||
|
||||
## Update the CHANGELOG and test
|
||||
|
||||
See https://github.com/weaveworks/scope/compare/latest_release...master for a diff.
|
||||
Commit and push the CHANGELOG to the release branch.
|
||||
Also, load the release branch on your test machines, and click around.
|
||||
Only proceed from here once you have a few LGTMs.
|
||||
|
||||
## Tag
|
||||
|
||||
```
|
||||
$ git tag -a -m "Release v0.1.0" v0.1.0
|
||||
$ git push --tags origin release-0.1.0
|
||||
$ git tag -a -f -m "Release v0.1.0" latest_release v0.1.0
|
||||
$ git push -f git@github.com:weaveworks/scope latest_release
|
||||
```
|
||||
|
||||
## bin/release build
|
||||
|
||||
This performs sanity checks and produces artifacts.
|
||||
|
||||
```
|
||||
$ bin/release build
|
||||
```
|
||||
|
||||
## bin/release draft
|
||||
|
||||
This sets some stuff up on GitHub, so you need a GitHub token.
|
||||
If you don't have one already, go to https://github.com/settings/tokens/new
|
||||
and make one with a funny name, and the **public_repo** scope only. (I think.)
|
||||
|
||||
Use it like
|
||||
|
||||
```
|
||||
$ env GITHUB_TOKEN=xxx bin/release draft
|
||||
```
|
||||
|
||||
## Edit release description on GitHub
|
||||
|
||||
Go to https://github.com/weaveworks/scope/releases and edit the most recent release description
|
||||
so it matches the previous releases, editing the links as appropriate.
|
||||
Click **Save draft**, not Publish!
|
||||
|
||||
## bin/release publish
|
||||
|
||||
```
|
||||
$ env GITHUB_TOKEN=xxx bin/release publish
|
||||
```
|
||||
|
||||
This interacts with Docker.
|
||||
If you don't need sudo to run Docker commands, you should do
|
||||
|
||||
```
|
||||
$ env GITHUB_TOKEN=xxx SUDO= bin/release publish
|
||||
```
|
||||
|
||||
## Merge
|
||||
|
||||
Merge the release branch to master.
|
||||
You're done. Congratulations.
|
||||
Reference in New Issue
Block a user