From e377ace0c44175f675cb84e4b96f29243cc4ed97 Mon Sep 17 00:00:00 2001 From: Vladimir Shushlin Date: Thu, 23 Jan 2020 08:40:46 +0000 Subject: Move release instructions into issue template --- .gitlab/issue_templates/release.md | 59 ++++++++++++++++++++++++++++++++++++++ PROCESS.md | 31 ++------------------ 2 files changed, 61 insertions(+), 29 deletions(-) create mode 100644 .gitlab/issue_templates/release.md diff --git a/.gitlab/issue_templates/release.md b/.gitlab/issue_templates/release.md new file mode 100644 index 00000000..7adaa21c --- /dev/null +++ b/.gitlab/issue_templates/release.md @@ -0,0 +1,59 @@ +- [ ] Set the milestone on this issue +- [ ] Review the list of changes since the last release and fill below: + - [ ] **In the changelog** + - [ ] **Not in the changelog** +- Decide on the version number by reference to + the [Versioning](https://gitlab.com/gitlab-org/gitlab-pages/blob/master/PROCESS.md#versioning) + * Typically if you want to release code from current `master` branch you will update `MINOR` version, e.g. `1.12.0` -> `1.13.0`. In that case you **don't** need to create stable branch + * If you want to backport some bug fix or security fix you will need to update stable branch `X-Y-stable` +- [ ] Create an MR for [gitlab-pages project](https://gitlab.com/gitlab-org/gitlab-pages). + You can use [this MR](https://gitlab.com/gitlab-org/gitlab-pages/merge_requests/217) as an example. + - [ ] Update `VERSION` + - [ ] Update `CHANGELOG` + - [ ] Assign to reviewer +- [ ] Once `gitlab-pages` is merged create a signed+annotated tag pointing to the **merge commit** on the **stable branch** + In case of `master` branch: + ```shell + git fetch origin master + git fetch dev master + git tag -a -s -m "Release v1.0.0" v1.0.0 origin/master + ``` + In case of `stable` branch: + ```shell + git fetch origin 1-0-stable + git fetch dev 1-0-stable + git tag -a -s -m "Release v1.0.0" v1.0.0 origin/1-0-stable + ``` +- [ ] Verify that you created tag properly: + ```shell + git show v1.0.0 + ``` + it should include something like: + * ```(tag: v1.0.0, origin/master, dev/master, master)``` for `master` + * ```(tag: v1.0.1, origin/1-0-stable, dev/1-0-stable, 1-0-stable)``` for `stable` branch +- [ ] Push this tag to origin(**Skip this for security release!**) + ```shell + git push origin v1.0.0 + ``` +- [ ] Wait for tag to be mirrored to `dev` or push it: + ```shell + git push dev v1.0.0 + ``` +- [ ] Create an MR for [gitlab project](https://gitlab.com/gitlab-org/gitlab). + You can use [this MR](https://gitlab.com/gitlab-org/gitlab/merge_requests/23023) as an example. + - [ ] Update `GITLAB_PAGES_VERSION` + - [ ] Create a changelog entry + - [ ] Assign to a reviewer + +### In the changelog +``` +- some change +- some change +``` +### Not in the changelog +``` +- some change +- some change +``` + +/label ~backend ~backstage ~"Category:Pages" ~"devops::release" ~"group::release management" diff --git a/PROCESS.md b/PROCESS.md index 2a5fe6ea..eaaa3795 100644 --- a/PROCESS.md +++ b/PROCESS.md @@ -19,35 +19,8 @@ rewritten. Tags should never be deleted. Pages is tightly coupled to GitLab itself. To align with GitLab's [development month](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/PROCESS.md), new versions of GitLab Pages are released before the 7th of each month (assuming -any changes have been made). To do so: - -1. For major and minor releases, create a stable branch if it doesn't already exist: - - ```shell - git checkout -b X-Y-stable master # MAJOR.MINOR - git push https://gitlab.com/gitlab-org/gitlab-pages.git X-Y-stable - git push https://dev.gitlab.org/gitlab/gitlab-pages.git X-Y-stable - ``` - -1. Review the list of changes since the last release and create a changelog -1. Decide on the version number by reference to the [Versioning](#versioning) section -1. [Create a new issue](https://gitlab.com/gitlab-org/gitlab-pages/issues/new) containing the changelog -1. Create a new merge request, modifying the `CHANGELOG` and `VERSION` files, targeting the correct stable branch -1. Once it's merged, create a signed+annotated tag pointing to the **merge commit** on the **stable branch**, e.g.: - - ```shell - git fetch origin 1-0-stable - git tag -a -s -m "Release v1.0.0" v1.0.0 origin/1-0-stable - git push https://gitlab.com/gitlab-org/gitlab-pages.git v1.0.0 - git push https://dev.gitlab.org/gitlab/gitlab-pages.git v1.0.0 - ``` - -1. Create a merge request against [GitLab](https://gitlab.com/gitlab-org/gitlab-ce) to update `GITLAB_PAGES_VERSION` - -As each release is made, the `CHANGELOG` for the stable branch will be updated -to contain content not in the **master** branch. To resolve this, the stable -branches may be merged to **master**. For more complicated merges, it may be -easier to pick just the updates to `CHANGELOG`. +any changes have been made). +To do so create [release issue](https://gitlab.com/gitlab-org/gitlab-pages/issues/new?issuable_template=release) and follow the instructions. ## Stable releases -- cgit v1.2.3