Skip to content

Release Process Guide

vivekweb2013 edited this page Jul 6, 2020 · 6 revisions

This page describes the process and steps that needs to be followed while releasing this library.

Below are the things to verify before creating a release.

  • Type definitions file index.d.ts should be up-to-date.
  • Readme should be up-to-date with newly added features, examples snippets, referenced links, ... etc.
  • All CI/CD pipelines for current revision should be green.
  • There should be no open issues that are planned for this release version.
  • Test the library thoroughly, manually cover all the scenarios.
  • Check if the results of code coverage, test pass rate, lint issues etc are acceptable.

Create the release by following below steps.

  • Make sure that everything is checked in and there is no pending changes on your system using

    git status

  • Check what all files will be included in the published package with below command

    npm publish --dry-run

  • Bump the package version with a commit message using

    npm version patch -m "Release X.X.X"

    For more details check npm version cli

    Warning: After the above command is run, git will print the tag name in next line. Verify that the version you put in the message matches with the tag name printed there.

    Note: When npm version command is run in a git repo, it will bump the version in package.json and also create a version commit and tag(default format is vX.X.X). So always specify the -m option with release message as mentioned above(Replace X.X.X with release version). The tag with name format vX.X.X which is fine.

  • Push the changes

     git push
     git push origin <tag_name>
    

    Note: After you push the changes, git release workflow will trigger, which will create github release, upload bundle zip to the release, and also publish the new release to npm repository.

  • Monitor the workflow.

Things to verify after release.

  • The new package should be published to npm repository.
  • The release with the zip package should be created on github releases.
  • The distribution should be available on unpkg.