release process

pull/1112/head
aniket-engg 4 years ago committed by Aniket
parent 3b4aa31f2d
commit 865c18694b
  1. 79
      release-process.md

@ -0,0 +1,79 @@
# Release process
This document includes:
- how to publish remix libs to NPM
- how to update remix.ethereum.org
- how to update remix-alpha.ethereum.org
- how to update remix-beta.ethereum.org
- how to release remix IDE
## Remix libs release
- git fetch origin master
- git checkout origin/master
- git checkout -b bumpLibsVersion
- npm run publish:libs (this command uses lerna)
- commit
## Remix IDE release Part 1. First push master to beta. Feature Freeze
- git co -b remix_beta origin/remix_beta
- git reset --hard -master-commit-hash-
- git push -f origin remix_beta
## Testing phase
## In case of fixing bugs push PR's also to beta to include in Release
## Remix IDE release Part 2. Bump the version in beta and release
- git fetch origin remix_beta
- git checkout origin/remix_beta
- git checkout -b bumpVersion
- update package.json version
- remove package-lock.json version and generate a new one with `npm install`
- 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)
- 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.
- remove package-lock.json version and generate a new one with `npm install`
- create a PR and merge it to origin/master
## Remix IDE release Part 4. remix.ethereum.org update
This is not strictly speaking a release. Updating the remix site is done through the Travis build:
- 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
CircleCI will build automaticaly and remix.ethereum.org will be updated
## 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.
## 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"
- remove package-lock/json version and generate a new one with `npm install`
- merge PR
- git fetch origin master
- git checkout origin/master
- git tag v(version-number) (with "vx.x.x-beta.1")
- git push --tags
- github-changes -o ethereum -r remix-project -a --only-pulls --use-commit-body --only-merges --between-tags previous_version...next_version
- 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-alpha.ethereum.org is automaticaly updated every time commits are pushed to master
Loading…
Cancel
Save