From 6b207d65bf1404778c02853bd52b239b7f684f34 Mon Sep 17 00:00:00 2001 From: Zeke Sikelianos Date: Tue, 18 Oct 2016 14:04:52 +0900 Subject: [PATCH] update releasing --- docs/development/releasing.md | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/docs/development/releasing.md b/docs/development/releasing.md index 92d6a969a6fd..b968878e2eff 100644 --- a/docs/development/releasing.md +++ b/docs/development/releasing.md @@ -6,9 +6,17 @@ This document describes the process for releasing a new version of Electron. The current process is to maintain a local file, keeping track of notable changes as pull requests are merged. For examples of how to format the notes, see previous releases on [the releases page]. -## Create a temporary branch (optional) +## Create a temporary branch -If there is any change to the build configuration, use a temporary branch with any name (e.g. `release`). Otherwise you can use `master`. +Create a new branch from `master` named `release`. + +```sh +git checkout master +git pull +git checkout -b release +``` + +This branch is created as a precaution to prevent any merged PRs from sneaking into a release between the time the temporary release branch is created and the CI builds are complete. ## Bump the version @@ -18,9 +26,9 @@ Run the `bump-release` script, passing `major`, `minor`, or `patch` as an argume npm run bump-release -- patch ``` -This will bump the version number in a number of files. See [this bump commit] for an example. +This will bump the version number in several files. See [this bump commit] for an example. -Most releases will be `patch`-level. Upgrades to Chrome or other major changes should use `minor`. For more info, see [electron-versioning]. +Most releases will be `patch` level. Upgrades to Chrome or other major changes should use `minor`. For more info, see [electron-versioning]. ## Edit the release draft @@ -31,12 +39,21 @@ Most releases will be `patch`-level. Upgrades to Chrome or other major changes s ## Merge temporary branch -If you created a temporary release branch, merge it back into master, without creating a merge commit: +Merge the temporary back into master, without creating a merge commit: ```sh git merge release master --no-commit ``` +If this fails, rebase with master and rebuild: + +```sh +git pull +git checkout release +git rebase master +git push origin HEAD +``` + ## Run local debug build Run local debug build to verify that you are actually building the version you want. Sometimes you thought you were doing a release for a new version, but you're actually not. @@ -56,6 +73,14 @@ This script will download the binaries and generate the node headers and the .li npm run release ``` +## Delete the temporary branch + +```sh +git checkout master +git branch -D release # delete local branch +git push origin :release # delete remote branch +``` + [the releases page]: https://github.com/electron/electron/releases [this bump commit]: https://github.com/electron/electron/commit/78ec1b8f89b3886b856377a1756a51617bc33f5a [electron-versioning]: /docs/tutorial/electron-versioning.md