Skip to content

New platform version release process

Benoit Lemaire edited this page Aug 3, 2018 · 22 revisions

Releasing a new main version (0.x.0)

  1. Pull the latest from upstream/master

  2. Create a new main version branch off master (i.e for new version 0.20 => git checkout -b v0.20)

  3. Update the master manifest by adding entry for new platform version

  4. Update version in postinstall.js script
    For const PLATFORM_VERSION = replace with the right new version (i.e if 0.20.0 => const PLATFORM_VERSION = '0.20.0'

  5. Make sure you are logged in NPM public with the electrode-native NPM user account

  6. Run node_modules/.bin/lerna publish --skip-git --force-publish --exact
    When prompted to select a new version, manually enter the new version (for ex 0.20.0) and hit Enter. Confirm when prompted to proceed.

  7. Git add all changes and push them to remote version branch
    i.e for version 0.20.0 => git add . / git commit -m "v0.20.0" / git push upstream v0.20

  8. Git tag with current version
    i.e for version 0.20.0 => git tag v0.20.0

  9. Push tag to upstream i.e for version 0.20.0 => git push upstream v0.20.0

  10. Write release notes for new version tag in GitHub and publish the release notes Go through all PRs since previous released version

Releasing a new patch version (0.x.y)

  1. Checkout the minor version branch
    i.e if you are planning to release 0.20.1 => git checkout 0.20
    If this command does not find the branch, just run git fetch upstream and retry

  2. Make sure your local version branch is in-sync with the remote
    i.e for 0.20 => git pull upstream 0.20

  3. Cherry pick all commits from master that need to make it in this patch version
    For each commit git cherry-pick COMMIT-SHA
    If specific commit SHA is not found, it means that it is not in your local master branch. Make sure that you have the latest of master locally, beforehand

  4. Make sure you are logged in NPM public with the electrode-native NPM user account
    Can run npm whoami to validate

  5. !!!VERY IMPORTANT!!! Update version in postinstall.js script
    Locate const PLATFORM_VERSION = statement, and replace with the proper new version (i.e if 0.20.1, statement should be const PLATFORM_VERSION = '0.20.1'

  6. From repository root, run node_modules/.bin/lerna publish --skip-git --force-publish --exact
    When prompted to select a new version choose Patch and hit Enter. Confirm when prompted to proceed.

  7. Validate that publication properly worked by try to install the version you just published
    ern platform use latest, and if installation succeeds, follow with ern to make sure that there is no exception when running this version.

  8. Git add all changes and push them directly to upstream minor version branch (no PR) i.e for version 0.20.1 => git add . / git commit -m "v0.20.1" -n / git push upstream v0.20

  9. Git tag with current version
    i.e for version 0.20.1 => git tag v0.20.1

  10. Push tag to upstream i.e for version 0.20.1 => git push upstream v0.20.1

  11. Write release notes for new version tag in GitHub and publish the release notes

Clone this wiki locally