@@ -14,30 +14,30 @@ After making the release branch new commits are cherry-picked from master. When
* 23nd: Optional patch releases
* 24-end of month: Release GitLab EE and GitLab CI
# 15th - Code Freeze & Release Manager
# **15th - Code Freeze & Release Manager**
- Stop merging in code, except for important bugfixes
### **1. Stop merging in code, except for important bugfixes**
## Release Manager
### **2. Release Manager**
A release manager is selected that coordinates the entire release of this version. The release manager has to make sure all the steps below are done and delegated where necessary. This person should also make sure this document is kept up to date and issues are created and updated.
# 18th - Releasing RC1
# **18th - Releasing RC1**
> Yo dawg, I heard you like releases..
The RC1 release comes with the task to update the installation and upgrade docs. Be mindful that there might already be merge requests for this on GitLab or GitHub.
### 1. Create an issue for RC1 release
### **1. Create an issue for RC1 release**
### 2. Update the installation guide
### **2. Update the installation guide**
1. Check if it references the correct branch `x-x-stable` (doesn't exist yet, but that is okay)
2. Check the [GitLab Shell version](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/tasks/gitlab/check.rake#L782)
3. Check the [Git version](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/tasks/gitlab/check.rake#L794)
4. There might be other changes. Ask around.
### 3. Create an update guide
### **3. Create an update guide**
It's best to copy paste the previous guide and make changes where necessary. The typical steps are listed below with any points you should specifically look at.
...
...
@@ -82,7 +82,7 @@ Check if the init.d/gitlab script changed since last release: https://gitlab.com
#### 10. Check application status
### 4. Code quality indicatiors
### **4. Code quality indicatiors**
Make sure the code quality indicators are green / good.
*[![build status](http://ci.gitlab.org/projects/1/status.png?ref=master)](http://ci.gitlab.org/projects/1?ref=master) on ci.gitlab.org (master branch)
...
...
@@ -95,50 +95,71 @@ Make sure the code quality indicators are green / good.
Create an annotated tag that points to the version change commit.
```
git tag -a vx.x.0.rc1 -m 'Version x.x.0.rc1'
```
### 7. Tweet
### **7. Tweet**
Tweet about the RC release. Make sure to explain what a RC is.
### 8. Update Cloud
### **8. Update Cloud**
Merge the RC1 code into Cloud. Once the build is green, deploy in the morning.
It is important to do this as soon as possible, so we can catch any errors before we release the full version.
# 22nd - Release
# **22nd - Release**
After making the release branch new commits are cherry-picked from master. When the release gets closer we get more selective what is cherry-picked. The days of the month are approximately as follows:
- Create x-x-stable branch and push to the repositories
- QA
- Fix anything coming out of the QA
- Set VERSION to x.x.0
- Create annotated tag x.x.0
- Push VERSION + Tag to master, merge into x-x-stable
- Publish blog for new release
- Tweet to blog (see below)
### **1. Create x-x-stable branch and push to the repositories**
# Write a blog post
```
git checkout master
git pull
git checkout -b x-x-stable
git push <remote> x-x-stable
```
### **2. Build the Omnibus packages**
[Follow this guide](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/release.md)
### **3. QA**
Use the omnibus packages to test the following:
### **4. Fix anything coming out of the QA**
### **5. Set VERSION to x.x.0**
### **6. Create annotated tag vx.x.0**
```
git tag -a vx.x.0 -m 'Version x.x.0'
```
### **7. Push VERSION + Tag to master, merge into x-x-stable**
```
git push origin master
```
Next, merge the VERSION into the x-x-stable branch.
### **8. Publish blog for new release**
* Mention what GitLab is on the second line: GitLab is open source software to collaborate on code.
* Select and thank the the Most Valuable Person (MVP) of this release.
* Add a note if there are security fixes: This release fixes an important security issue and we advise everyone to upgrade as soon as possible.
# Tweet
### **9. Tweet to blog**
Send out a tweet to share the good news with the world. For a major/minor release, list the features in short and link to the blog post.