# 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 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