# 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 - git fetch origin master - git checkout origin/master - git checkout -b bumpVersion - update package.json version - 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) - 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 release in github using the changelog - after remix_live is updated, drop the zip (from https://github.com/ethereum/remix-live/) to the release. ## Remix IDE release with beta - 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 - testing period. Please check all resently added features and bugfixes - create PR's also to remix_beta in case of fixes in master that should go to release - for release FROM 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 - after remix_live is updated, drop the zip (from https://github.com/ethereum/remix-live/) to the release. - move to next section `Remix IDE bump dev branch (master)` for bumping the master branch. ## Remix IDE bump dev branch (master) - git checkout master (checkout master branch) - 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` - merge PR to origin/master ## 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.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-alpha.ethereum.org update remix-alpha.ethereum.org is automaticaly updated every time commits are pushed to master