DEV Community

Jitendra
Jitendra

Posted on • Edited on

Ridiculously simple Github release for public or private repos

https://github.com/adhocore/please

Please is a bash script for automating new version release in Github which supports both public and private repositories. If you embrace semver this is the right tool for you. It saves you time and boosts productivity if you maintain many packages and their versioning/releasing.

What it does and how

  • Determine remote git repo based on local git config
  • Checkout and Update master
  • Get latest release from github api endpoint
  • Collect new commits since the latest release
  • Create a changelog (prepend to if exists), reflect that into ./CHANGELOG.md file and commit it
  • Bump the version, reflect that into ./VERSION file
    • If any of the latest commits start with feat <minor> is bumped
    • But if only you didnt explicitly pass scope already
  • If there is package.json file, bump package.json#version
  • Commit all changes
  • If package.json#private is not set to true
    • If npm user not already logged in, run npm adduser
    • Run npm publish finally
  • Release the new version and tag to github
  • If there is box.json file, compile phar using box (download box.phar if required)
  • Upload the compiled phar as asset for the recent release

Here's a preview of its beautiful UI:

Help Preview

Top comments (1)

Collapse
 
adhocore profile image
Jitendra

Now supports automatic changelog generatation. 😇😊