JSPM

  • Created
  • Published
  • Downloads 20
  • Score
    100M100P100Q69060F
  • License Apache-2.0

Automate versioning, changelog creations and GitHub releases using bash, GitHub action, npm or docker.

Package Exports

  • bump-everywhere

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (bump-everywhere) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

bump-everywhere

🚀 Automate versioning, changelog creation, README updates and GitHub releases using npm, GitHub Actions, docker or bash.

Quality checks Bump & release Auto-versioned by bump-everywhere

Allows you to automatically:

  • Bump your sematic git tag by increasing the patch version
  • Create & commit a changelog file
  • If npm project then bump package.json version and commit
  • Check README.md file, if it has references to older version, update with never version.
  • Create a release on GitHub with auto-generated release notes

It supports safe re-runs, it means that if you can run it for an already bumped repository, it'll not perform any update if as everything is still up-to-date.

Usage

Option 1. Use GitHub actions

- uses: undergroundwires/bump-everywhere@master
  with:
    # Repository name with owner to bump & release. For example, undergroundwires/bump-everywhere
    # Default: ${{ github.repository  }}
    repository: ''

    # Name of the user who'll commit the changelog
    # Default: ${{ github.actor }}
    user: ''

    # Personal access token (PAT) used to push to the repository.
    # Default: ${{ github.token }}
    token: ''

Option 2. Use npm

With installation:

npm install -g bump-everywhere # Installs globally, for local installations you can run "npm install bump-everywhere --save-dev"
bump-everywhere --repository "undergroundwires/privacy.sexy" --user "bot-commiter-name" --token "PAT_TOKEN"

Or without installation:

npx bump-everywhere --repository "undergroundwires/privacy.sexy" --user "bot-commiter-name" --token "PAT_TOKEN"`

Option 3. Use Docker

  • Build using: docker build . --tag bump-everywhere
  • Run with arguments: docker run bump-everywhere "undergroundwires/privacy.sexy" "bot-user" "GitHub Personal Access Token"
    • Parameter order: repository, user, token

Option 4. Use scripts

  1. Ensure bash, git, curl, jq exists in your environment
    • run e.g. apk add bash git curl jq
  2. Clone this repository: git clone https://github.com/undergroundwires/bump-everywhere
    • or optionally add this repository as git submodule: git submodule add https://github.com/undergroundwires/bump-everywhere
  3. Call the script as following :
bash "scripts/bump-everywhere.sh" \
    --repository "undergroundwires/privacy.sexy" \
    --user "bot-commiter-name" \
    --token "PAT_TOKEN"

Updating minor & major versions

  • You manually tag your last commit to update major & minor versions.
  • E.g. git tag -a 1.2.0 -m '' and then push with git push --follow-tags
    • Annotated tags are use as --follow-tags does not work with lightweight tags.

Other scripts

You can also use following scripts individually if you want (check script files for usage):

Support

  • Feel free to use the badge in the README.md of repository where you use bump-everywhere:
    • (it'll look like: Auto-versioned by bump-everywhere)
[![Auto-versioned by bump-everywhere](https://github.com/undergroundwires/bump-everywhere/blob/master/badge.svg?raw=true)](https://github.com/undergroundwires/bump-everywhere)