diff --git a/release-process.md b/release-process.md index 3777b878fe..8042b24378 100644 --- a/release-process.md +++ b/release-process.md @@ -26,59 +26,72 @@ This document includes the instructions to release for: - Create bump PR to master ## Feature Freeze -Once feature freeze is done, `remix_beta` should be update latest to the master which will automatically update `remix-beta.ethereum.org` through a CI job. +Once feature freeze is done, `remix_beta` should be updated latest to the master which will automatically update `remix-beta.ethereum.org` through a CI job. - - git checkout remix_beta - - git pull origin remix_beta - - git reset --hard (`master-commit-hash` will be latest commid id from `master` branch) - - git push -f origin remix_beta + - `git checkout remix_beta` + - `git pull origin remix_beta` + - `git reset --hard ` (`master-commit-hash` will be latest commid id from `master` branch) + - `git push -f origin remix_beta` -## Testing phase -## In case of fixing bugs push PR's also to beta to include in Release +## Testing Phase +Testing is performed after the Feature Freeze. `build-qa-doc.js` script can be used to generate the list of QA tasks as described in the script itself. -## Remix IDE release Part 2. Bump the version in beta and release +## Remix IDE Release +### Part 1. Bump the version and update Beta - - git fetch origin remix_beta - - git checkout origin/remix_beta - - git checkout -b bumpVersion - - update package.json version - - update version in yarn.lock - - merge PR to **origin/remix_beta** - - git fetch origin remix_beta - - git checkout origin/remix_beta - - git tag v(version-number) - - git push --tags - - github-changes -o ethereum -r remix-project -a --only-pulls --use-commit-body --branch remix_beta --only-merges --between-tags previous_version...next_version - - publish a release in github using the changelog - -## Remix IDE release Part 3. Bump dev branch (master) +#### Make sure `remix_beta` is up-to-date with `master` branch: - - git fetch origin master - - git checkout origin/master - - git checkout -b bumpDevVersion - - update package.json version: bump the version and add the tag `dev` if not already present. - - update version in yarn.lock - - create a PR and merge it to origin/master - -## Remix IDE release Part 4. remix.ethereum.org update + - `git checkout remix_beta` + - `git pull origin remix_beta` + - `git reset --hard ` + - `git push -f origin remix_beta` + +#### Create bump version PR: + + - Create a new branch from `remix_beta`: `git checkout -b bumpVersion` + - Update package.json version. Usually, you need to remove `-dev` from the version string + - Create a PR with base branch as `remix_beta` + - Merge PR to **origin/remix_beta** -This is not strictly speaking a release. Updating the remix site is done through the Travis build: +#### Create git tag from beta: - - git co -b remix_live origin/remix_live - - git reset --hard -master-commit-hash- (or remix_beta-commit-hash-) - - git push -f origin remix_live + - `git checkout remix_beta` + - `git pull origin remix_beta` + - Create tag: `git tag v`, `` should be same as in package.json of `remix_beta` branch + - Push tag: `git push --tags` + - Generate changelog using `build-changelog.js` script as described in the script itself + - Publish a release in GitHub using the generated changelog - CircleCI will build automaticaly and remix.ethereum.org will be updated +### Part 2. Update the Remix Live -## Remix IDE release Part 5. Update Zip in release - - after remix_live is updated, drop the zip (from https://github.com/ethereum/remix-live/) to the release. +This is not strictly speaking a release. Updating the `remix_live` branch latest to the `remix_beta` runs the CircleCI build which updates `remix.ethereum.org` + + - `git checkout remix_live` + - `git pull origin remix_live` + - `git reset --hard ` or `` sometimes + - `git push -f origin remix_live` + + CircleCI will build automaticaly and remix.ethereum.org will be released. + + ### Part 3. Update zip file in GitHub release + - Once `remix_live` is updated, Go to https://github.com/ethereum/remix-live + - Download the zip file with the name starting with `remix-` + - Upload the zip file GitHub assets by editing the release for this version + +## Bump master branch + + - `git checkout master` + - `git pull origin master` + - Create a new branch from `master`: `git checkout -b bumpDevVersion` + - Bump the package.json version, add the tag `-dev` if not already present. + - Create and merge PR to `master` + -## Remix-ide beta release +## Remix IDE Beta Release - git fetch origin master - git checkout origin/master - git checkout -b bumpVersion - update package.json version to the new version "vx.x.x-beta.1" - - update version in yarn.lock - merge PR - git fetch origin master - git checkout origin/master @@ -88,6 +101,6 @@ This is not strictly speaking a release. Updating the remix site is done through - publish a beta release in github using the changelog - drop zip file to the beta release (from https://github.com/ethereum/remix-live-alpha) -## remix-alpha.ethereum.org update +## Remix IDE Alpha Release -remix-alpha.ethereum.org is automaticaly updated every time commits are pushed to master +remix-alpha.ethereum.org is automaticaly updated every time a commit is pushed to `master` branch