This document includes the release instructions for:
- Feature freeze phase
- Publishing
remixdto NPM - Publishing remix libraries to NPM
- Updating Remix's live version on remix.ethereum.org
- Updating Remix's alpha version on remix-alpha.ethereum.org
- Updating Remix's beta version on remix-beta.ethereum.org
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_betagit pull origin remix_betagit reset --hard <master-commit-hash>(master-commit-hashwill be latest commit id frommasterbranch)git push -f origin remix_beta
Testing is performed after the Feature Freeze on remix-beta.ethereum.org. build-qa-doc.js script can be used to generate the list of QA tasks. Instructions to use the file are given in the file itself: https://github.com/ethereum/remix-project/blob/master/build-qa-doc.js#L18 .
Once ready to run, it can be run using the Node.js: node build-qa-doc.js
Once testing is completed, release will start by publishing remixd.if required, remixd can be also released individually
- Bump version for remixd in
./libs/remixd/package.json - Run:
nx build remixd - Move to build directory:
cd ./dist/libs/remixd - Publish to NPM:
npm publish(Make sure you are logged in to NPM) - create bump PR to master
- Make sure you are on latest
masterbranch git pull origin mastergit checkout -b bumpLibsVersionyarn run publish:libs
This command uses lerna and is solely responsible for publishing all the remix libraries. It will ask for a new version of each library. Make sure you are logged in to NPM.
Once this command has been run, the versions for each remix library will be updated to latest in the libs' package.json file.
- Create and merge bump PR to master
git checkout remix_betagit pull origin remix_betagit reset --hard <master-commit-hash>git push -f origin remix_beta
- Create a new branch from
remix_beta:git checkout -b bumpVersion - Update package.json version. Usually, you need to remove
-devfrom the version string - Create a PR with base branch as
remix_beta - Merge PR to origin/remix_beta
git checkout remix_betagit pull origin remix_beta- Create tag:
git tag v<version-number>,<version-number>should be same as in package.json ofremix_betabranch - Push tag:
git push --tags - Generate changelog using
build-changelog.jsscript as described in the script itself - Publish a release in GitHub using the generated changelog
Updating the remix_live branch latest to the remix_beta runs the CircleCI build which updates liver version of Remix IDE on remix.ethereum.org
git checkout remix_livegit pull origin remix_livegit reset --hard <remix_beta-commit-hash>or<master-commit-hash>sometimesgit push -f origin remix_live
CircleCI will build automatically and remix.ethereum.org will be updated to the latest.
- Once CI is successful for
remix_livebranch, Go to https://github.com/ethereum/remix-live - Download the zip file with the name starting with
remix- - Upload the zip file in GitHub assets by editing the release for this version
git checkout mastergit pull origin master- Create a new branch from
master:git checkout -b bumpDevVersion - Bump the package.json version, add the tag
-devif not already present. - Create and merge PR to
master
- 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"
- 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 is automatically updated every time a commit is pushed to master branch