From 2c485c9d7346cb1cca47057a77e0a3cebacf218e Mon Sep 17 00:00:00 2001 From: Marlow Payne Date: Fri, 12 Aug 2016 11:27:01 -0700 Subject: [PATCH 1/6] When merging releases merge master to develop; Cleanup for clarity and remove redundancy; --- release-deployment.md | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/release-deployment.md b/release-deployment.md index 22f2c49..b3f3776 100644 --- a/release-deployment.md +++ b/release-deployment.md @@ -84,7 +84,10 @@ There's nothing special about that. Each developer follows the above [Develop a the release. ``` + $ git checkout master + $ git pull $ git checkout develop + $ git pull $ git merge master ``` @@ -113,7 +116,7 @@ There's nothing special about that. Each developer follows the above [Develop a * Base: `master` * Compare: `release-vX.Y.Z` Paste the Release Checklist into the PR body. Each project should define a release - checklist. It will vary across projects, but you can refer to the Astro [Release](https://github.com/mobify/astro/blob/develop/RELEASE.md) document + checklist. It will vary across projects, but you can refer to the Mobify Code Style [Release](https://github.com/mobify/mobify-code-style/blob/develop/RELEASE.md) document for an example. 1. At some point in the checklist you will merge the release branch into `master`. @@ -127,22 +130,21 @@ There's nothing special about that. Each developer follows the above [Develop a * Description: Include a high-level list of things changed in this release. Click `Publish release`. -1. Merge the `release-vX.Y.Z` into `develop`. +1. Merge `master` into `develop`. ``` + $ git checkout master + $ git pull $ git checkout develop - $ git merge release-vX.Y.Z + $ git merge master $ git push ``` -1. Finish off the tasks in the release checklist. Once everything is done, close - the release PR. +1. Finish off the tasks in the release checklist. **TBD: Discuss** Mike N: Long-lived release branches, yes/no? -1. Create the release on Github from `master`. - ### Change in plan, pull a feature from a release **TBD: Discuss** @@ -166,6 +168,7 @@ code in it already. ``` $ git checkout master + $ git pull $ git checkout -b hotfix-documentation-broken-links $ git push --set-upstream hotfix-documentation-broken-links ``` @@ -203,16 +206,17 @@ code in it already. patch part of the version when releasing a hotfix and so even hotfixes go through the process of creating a release like this.* -1. Merge the `hotfix-documentation-broken-links` into `develop`. +1. Merge `master` into `develop`. ``` + $ git checkout master + $ git pull $ git checkout develop - $ git merge hotfix-documentation-broken-links + $ git merge master $ git push ``` -1. Finish off the tasks in the release checklist. Once everything is done, close - the hotfix PR. +1. Finish off the tasks in the release checklist. ## Migrate a legacy project @@ -233,7 +237,7 @@ The process for tagging and merging is a bit different when deploying a bundle, 1. Create a bundle to be sent to the customer for verification and approval off of the `release-vX.Y.Z` branch. - Ensure you have installed the automated bundle message script found [here] (https:// mobify.atlassian.net/wiki/questions/81789082/how-do-i-automate-a-bundle-message-using-bash). Follow these steps: + Ensure you have installed the automated bundle message script found [here] (https://mobify.atlassian.net/wiki/questions/81789082/how-do-i-automate-a-bundle-message-using-bash). Follow these steps: ``` $ grunt push -m "$(message Mobile X.Y.Z)" @@ -269,3 +273,12 @@ The process for tagging and merging is a bit different when deploying a bundle, Click `Publish release`. **NOTE: the release tag will be 1 commit ahead of the bundle commit** + +1. Merge `master` into `develop`. + ``` + $ git checkout master + $ git pull + $ git checkout develop + $ git merge master + $ git push + ``` From cc43c29ef3296c869a091e83e223a2a83be07ecf Mon Sep 17 00:00:00 2001 From: Marlow Payne Date: Fri, 12 Aug 2016 11:47:50 -0700 Subject: [PATCH 2/6] DRY things up by linking --- release-deployment.md | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/release-deployment.md b/release-deployment.md index b3f3776..63c8834 100644 --- a/release-deployment.md +++ b/release-deployment.md @@ -243,7 +243,7 @@ The process for tagging and merging is a bit different when deploying a bundle, $ grunt push -m "$(message Mobile X.Y.Z)" ``` -1. When creating a pull request to merge the release branch into `master` ensure that the standard workflow for _creating a release_ is followed with these specific changes: +1. When creating a pull request to merge the release branch into `master` ensure that the [standard workflow for _creating a release_](#create-and-deploy-a-release) is followed with these specific changes: * Name/Summary: `DEPLOYMENT MERGE: release-v.X.Y.Z, bundle ` * Description: @@ -266,19 +266,10 @@ The process for tagging and merging is a bit different when deploying a bundle, 1. Once the customer has approved the bundle. The bundle is published to production and post launch tests occur. Once all tests have passed, the pull request is merged into `master`. -1. Finish the _Github release workflow_ as described above and ensure that these specific changes are added to the _release notes_ draft of the _Github release_: +1. Finish the _Github release workflow_ as described [here](#create-and-deploy-a-release) and ensure that these specific changes are added to the _release notes_ draft of the _Github release_: * Release title: `Release vX.Y.Z - Bundle ` * Description: This should also include a link to a confluence JIRA report page that lists all issues in the release. Click `Publish release`. **NOTE: the release tag will be 1 commit ahead of the bundle commit** - -1. Merge `master` into `develop`. - ``` - $ git checkout master - $ git pull - $ git checkout develop - $ git merge master - $ git push - ``` From e6a19cea398a527346a8101fa130ad030693cccb Mon Sep 17 00:00:00 2001 From: Marlow Payne Date: Fri, 12 Aug 2016 11:48:50 -0700 Subject: [PATCH 3/6] Current practices are to not prepend a tag with a 'v' --- release-deployment.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release-deployment.md b/release-deployment.md index 63c8834..7098161 100644 --- a/release-deployment.md +++ b/release-deployment.md @@ -124,7 +124,7 @@ There's nothing special about that. Each developer follows the above [Develop a 1. Now you are ready to create the actual release. Navigate to the project page on Github and draft a new release with the following settings: - * Tag version: `vX.Y.Z` + * Tag version: `X.Y.Z` * Target: `master` * Release title: `Release vX.Y.Z` * Description: Include a high-level list of things changed in this release. @@ -195,7 +195,7 @@ code in it already. 1. Now that the hotfix code is in `master` you are ready to create the actual release. Navigate to the project page on Github and draft a new release with the following settings: - * Tag version: `vX.Y.Z` + * Tag version: `X.Y.Z` * Target: `master` * Release title: `Release vX.Y.Z (hotfix)` * Description: Include a high-level list of things changed in this release. From 7a7ae11891a85c1db78dcee833bbfa143f4b0d21 Mon Sep 17 00:00:00 2001 From: Marlow Payne Date: Fri, 12 Aug 2016 11:50:28 -0700 Subject: [PATCH 4/6] Remove git pulls in docs --- release-deployment.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/release-deployment.md b/release-deployment.md index 7098161..286e0c7 100644 --- a/release-deployment.md +++ b/release-deployment.md @@ -84,10 +84,7 @@ There's nothing special about that. Each developer follows the above [Develop a the release. ``` - $ git checkout master - $ git pull $ git checkout develop - $ git pull $ git merge master ``` @@ -133,8 +130,6 @@ There's nothing special about that. Each developer follows the above [Develop a 1. Merge `master` into `develop`. ``` - $ git checkout master - $ git pull $ git checkout develop $ git merge master $ git push @@ -168,7 +163,6 @@ code in it already. ``` $ git checkout master - $ git pull $ git checkout -b hotfix-documentation-broken-links $ git push --set-upstream hotfix-documentation-broken-links ``` @@ -209,8 +203,6 @@ code in it already. 1. Merge `master` into `develop`. ``` - $ git checkout master - $ git pull $ git checkout develop $ git merge master $ git push From 2f7a8bf605f644038506e4651ba9f3b52dc15dce Mon Sep 17 00:00:00 2001 From: Marlow Payne Date: Tue, 23 Aug 2016 15:36:14 -0700 Subject: [PATCH 5/6] Add point re. updating open dev branches when "master" is updated --- continuous-deployment.md | 2 ++ release-deployment.md | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/continuous-deployment.md b/continuous-deployment.md index 403cccc..785648c 100644 --- a/continuous-deployment.md +++ b/continuous-deployment.md @@ -121,3 +121,5 @@ described above.* 1. When the pull request has been reviewed and ![+1'd](images/plus1.png) , merge and close it and then delete the `hotfix-documentation-broken-links` branch. This can all be done from the Github pull-request page. + +1. Merge `master` into any open `hotfix-` branches. diff --git a/release-deployment.md b/release-deployment.md index 286e0c7..9020392 100644 --- a/release-deployment.md +++ b/release-deployment.md @@ -135,6 +135,8 @@ There's nothing special about that. Each developer follows the above [Develop a $ git push ``` +1. Merge `master` into any open `release-vX.Y.Z` or `hotfix-` branches. + 1. Finish off the tasks in the release checklist. **TBD: Discuss** @@ -208,6 +210,8 @@ code in it already. $ git push ``` +1. Merge `master` into any open `release-vX.Y.Z` or `hotfix-` branches. + 1. Finish off the tasks in the release checklist. ## Migrate a legacy project From be3a3bfbd96629bd50669e8e675ed92a3c38011e Mon Sep 17 00:00:00 2001 From: Marlow Payne Date: Thu, 25 Aug 2016 13:54:02 -0700 Subject: [PATCH 6/6] Reference master branch for Release doc example --- release-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-deployment.md b/release-deployment.md index 9020392..02b29f3 100644 --- a/release-deployment.md +++ b/release-deployment.md @@ -113,7 +113,7 @@ There's nothing special about that. Each developer follows the above [Develop a * Base: `master` * Compare: `release-vX.Y.Z` Paste the Release Checklist into the PR body. Each project should define a release - checklist. It will vary across projects, but you can refer to the Mobify Code Style [Release](https://github.com/mobify/mobify-code-style/blob/develop/RELEASE.md) document + checklist. It will vary across projects, but you can refer to the Mobify Code Style [Release](https://github.com/mobify/mobify-code-style/blob/master/RELEASE.md) document for an example. 1. At some point in the checklist you will merge the release branch into `master`.