From 3c19929c757e5ff45f5afa3713002ee1862c0b75 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Fri, 9 Jan 2015 12:29:48 -0800 Subject: Cleanup and refactor release doc. Follow issue as a todo list --- doc/release/howto_rc1.md | 126 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 doc/release/howto_rc1.md (limited to 'doc/release/howto_rc1.md') diff --git a/doc/release/howto_rc1.md b/doc/release/howto_rc1.md new file mode 100644 index 00000000000..2bfc23951ec --- /dev/null +++ b/doc/release/howto_rc1.md @@ -0,0 +1,126 @@ +# How to create RC1 + +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. Update the installation guide** + +1. Check if it references the correct branch `x-x-stable` (doesn't exist yet, but that is okay) +1. Check the [GitLab Shell version](/lib/tasks/gitlab/check.rake#L782) +1. Check the [Git version](/lib/tasks/gitlab/check.rake#L794) +1. There might be other changes. Ask around. + +### **2. Create update guides** + +1. Create: CE update guide from previous version. Like `7.3-to-7.4.md` +1. Create: CE to EE update guide in EE repository for latest version. +1. Update: `6.x-or-7.x-to-7.x.md` to latest version. +1. Create: CI update guide from previous version + +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. + +#### 0. Any major changes? + +List any major changes here, so the user is aware of them before starting to upgrade. For instance: + +- Database updates +- Web server changes +- File structure changes + +#### 1. Stop server + +#### 2. Make backup + +#### 3. Do users need to update dependencies like `git`? + +- Check if the [GitLab Shell version](/lib/tasks/gitlab/check.rake#L782) changed since the last release. + +- Check if the [Git version](/lib/tasks/gitlab/check.rake#L794) changed since the last release. + +#### 4. Get latest code + +#### 5. Does GitLab shell need to be updated? + +#### 6. Install libs, migrations, etc. + +#### 7. Any config files updated since last release? + +Check if any of these changed since last release: + +- [lib/support/nginx/gitlab](/lib/support/nginx/gitlab) +- [lib/support/nginx/gitlab-ssl](/lib/support/nginx/gitlab-ssl) +- +- [config/gitlab.yml.example](/config/gitlab.yml.example) +- [config/unicorn.rb.example](/config/unicorn.rb.example) +- [config/database.yml.mysql](/config/database.yml.mysql) +- [config/database.yml.postgresql](/config/database.yml.postgresql) +- [config/initializers/rack_attack.rb.example](/config/initializers/rack_attack.rb.example) +- [config/resque.yml.example](/config/resque.yml.example) + +#### 8. Need to update init script? + +Check if the `init.d/gitlab` script changed since last release: [lib/support/init.d/gitlab](/lib/support/init.d/gitlab) + +#### 9. Start application + +#### 10. Check application status + +### **3. Code quality indicators** + +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) + +- [![Build Status](https://semaphoreapp.com/api/v1/projects/2f1a5809-418b-4cc2-a1f4-819607579fe7/243338/badge.png)](https://semaphoreapp.com/gitlabhq/gitlabhq) (master branch) + +- [![Code Climate](https://codeclimate.com/github/gitlabhq/gitlabhq.png)](https://codeclimate.com/github/gitlabhq/gitlabhq) + +- [![Dependency Status](https://gemnasium.com/gitlabhq/gitlabhq.png)](https://gemnasium.com/gitlabhq/gitlabhq) this button can be yellow (small updates are available) but must not be red (a security fix or an important update is available) + +- [![Coverage Status](https://coveralls.io/repos/gitlabhq/gitlabhq/badge.png?branch=master)](https://coveralls.io/r/gitlabhq/gitlabhq) + +### 4. Run release tool for CE and EE + +**Make sure EE `master` has latest changes from CE `master`** + +Get release tools + +``` +git clone git@dev.gitlab.org:gitlab/release-tools.git +cd release-tools +``` + +Release candidate creates stable branch from master. +So we need to sync master branch between all CE remotes. Also do same for EE. + +``` +bundle exec rake sync +``` + +Create release candidate and stable branch: + +``` +bundle exec rake release["x.x.0.rc1"] +``` + +Now developers can use master for merging new features. +So you should use stable branch for future code chages related to release. + + +### 5. Release GitLab CI RC1 + +Add to your local `gitlab-ci/.git/config`: + +``` +[remote "public"] + url = none + pushurl = git@dev.gitlab.org:gitlab/gitlab-ci.git + pushurl = git@gitlab.com:gitlab-org/gitlab-ci.git + pushurl = git@github.com:gitlabhq/gitlab-ci.git +``` + +* Create a stable branch `x-y-stable` +* Bump VERSION to `x.y.0.rc1` +* `git tag -a v$(cat VERSION) -m "Version $(cat VERSION)" +* `git push public x-y-stable v$(cat VERSION)` + -- cgit v1.2.1 From 8e36070cce9ba4b414397674d1f236c33f2689cc Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Wed, 14 Jan 2015 17:44:59 -0800 Subject: Remove bold text --- doc/release/howto_rc1.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'doc/release/howto_rc1.md') diff --git a/doc/release/howto_rc1.md b/doc/release/howto_rc1.md index 2bfc23951ec..1b55eea5362 100644 --- a/doc/release/howto_rc1.md +++ b/doc/release/howto_rc1.md @@ -2,14 +2,14 @@ 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. Update the installation guide** +### 1. Update the installation guide 1. Check if it references the correct branch `x-x-stable` (doesn't exist yet, but that is okay) 1. Check the [GitLab Shell version](/lib/tasks/gitlab/check.rake#L782) 1. Check the [Git version](/lib/tasks/gitlab/check.rake#L794) 1. There might be other changes. Ask around. -### **2. Create update guides** +### 2. Create update guides 1. Create: CE update guide from previous version. Like `7.3-to-7.4.md` 1. Create: CE to EE update guide in EE repository for latest version. @@ -65,7 +65,7 @@ Check if the `init.d/gitlab` script changed since last release: [lib/support/ini #### 10. Check application status -### **3. Code quality indicators** +### 3. Code quality indicators Make sure the code quality indicators are green / good. -- cgit v1.2.1 From 41353b63626a4d5eae3570015bfba72748364f35 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 15 Jan 2015 02:07:42 +0000 Subject: Fix code block in rc1 doc --- doc/release/howto_rc1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/release/howto_rc1.md') diff --git a/doc/release/howto_rc1.md b/doc/release/howto_rc1.md index 1b55eea5362..25923d16f34 100644 --- a/doc/release/howto_rc1.md +++ b/doc/release/howto_rc1.md @@ -121,6 +121,6 @@ Add to your local `gitlab-ci/.git/config`: * Create a stable branch `x-y-stable` * Bump VERSION to `x.y.0.rc1` -* `git tag -a v$(cat VERSION) -m "Version $(cat VERSION)" +* `git tag -a v$(cat VERSION) -m "Version $(cat VERSION)"` * `git push public x-y-stable v$(cat VERSION)` -- cgit v1.2.1 From ad6c372eeee5d112ad199dd4e487df584976445d Mon Sep 17 00:00:00 2001 From: Ewan Edwards Date: Tue, 3 Feb 2015 15:18:40 -0800 Subject: Fix a number of discovered typos, capitalization of developer and product names, plus a couple of instances of bad Markdown markup. --- doc/release/howto_rc1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/release/howto_rc1.md') diff --git a/doc/release/howto_rc1.md b/doc/release/howto_rc1.md index 25923d16f34..e8e8c8a821d 100644 --- a/doc/release/howto_rc1.md +++ b/doc/release/howto_rc1.md @@ -104,7 +104,7 @@ bundle exec rake release["x.x.0.rc1"] ``` Now developers can use master for merging new features. -So you should use stable branch for future code chages related to release. +So you should use stable branch for future code changes related to release. ### 5. Release GitLab CI RC1 -- cgit v1.2.1 From c93f4662d87058efaec2c2912bd10f8cc5572b3d Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 9 Feb 2015 10:30:06 -0800 Subject: Extract update guide to separate doc to prevent mess --- doc/release/howto_rc1.md | 54 +----------------------------------------------- 1 file changed, 1 insertion(+), 53 deletions(-) (limited to 'doc/release/howto_rc1.md') diff --git a/doc/release/howto_rc1.md b/doc/release/howto_rc1.md index e8e8c8a821d..c4156d25d5f 100644 --- a/doc/release/howto_rc1.md +++ b/doc/release/howto_rc1.md @@ -11,59 +11,7 @@ The RC1 release comes with the task to update the installation and upgrade docs. ### 2. Create update guides -1. Create: CE update guide from previous version. Like `7.3-to-7.4.md` -1. Create: CE to EE update guide in EE repository for latest version. -1. Update: `6.x-or-7.x-to-7.x.md` to latest version. -1. Create: CI update guide from previous version - -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. - -#### 0. Any major changes? - -List any major changes here, so the user is aware of them before starting to upgrade. For instance: - -- Database updates -- Web server changes -- File structure changes - -#### 1. Stop server - -#### 2. Make backup - -#### 3. Do users need to update dependencies like `git`? - -- Check if the [GitLab Shell version](/lib/tasks/gitlab/check.rake#L782) changed since the last release. - -- Check if the [Git version](/lib/tasks/gitlab/check.rake#L794) changed since the last release. - -#### 4. Get latest code - -#### 5. Does GitLab shell need to be updated? - -#### 6. Install libs, migrations, etc. - -#### 7. Any config files updated since last release? - -Check if any of these changed since last release: - -- [lib/support/nginx/gitlab](/lib/support/nginx/gitlab) -- [lib/support/nginx/gitlab-ssl](/lib/support/nginx/gitlab-ssl) -- -- [config/gitlab.yml.example](/config/gitlab.yml.example) -- [config/unicorn.rb.example](/config/unicorn.rb.example) -- [config/database.yml.mysql](/config/database.yml.mysql) -- [config/database.yml.postgresql](/config/database.yml.postgresql) -- [config/initializers/rack_attack.rb.example](/config/initializers/rack_attack.rb.example) -- [config/resque.yml.example](/config/resque.yml.example) - -#### 8. Need to update init script? - -Check if the `init.d/gitlab` script changed since last release: [lib/support/init.d/gitlab](/lib/support/init.d/gitlab) - -#### 9. Start application - -#### 10. Check application status +[Follow this guide](howto_update_guides.md) to create update guides. ### 3. Code quality indicators -- cgit v1.2.1