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 GitHub Actions,npm, docker or bash.

Features
Allows you to automatically:
- Bump your sematic git tag by increasing the patch version
- Create & commit a changelog file
- If
npmproject then bumppackage.jsonversion and commit - Check
README.mdfile, 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 or tagged repository, it'll not increase the version as everything is still up-to-date. It protects against recursive runs.
Usage
Option 1. Use GitHub actions
- uses: undergroundwires/bump-everywhere@master
with:
# Repository name with owner to bump & release. For example, undergroundwires/bump-everywhere
# (Optional) Default: ${{ github.repository }}
repository: ''
# Name of the user who will do the bump commit
# (Optional) Default: ${{ github.actor }}
user: ''
# Commit message that will be used in the bump commit
# (Optional) Default: ⬆️ bump everywhere to {{version}}
commit-message: ''
# Personal access token (PAT) used to clone & push to the repository.
# If you use default, it'll not trigger other actions, but your own PAT then it triggers new actions
# (Optional) Default: ${{ github.token }}
git-token: ''
# The type of the GitHub release
# Options: 'release' | 'prerelease' | 'draft' | 'none' (does not release)
# (Optional) Default: 'release'
release-type: ''
# Personal access token (PAT) used to release to GitHub.
# Used only if release-type is not "none"
# If you use default, it'll not trigger other actions, but your own PAT then it triggers new actions
# (Optional) Default: ${{ github.token }}
release-token: ''
Option 2. Use npm
With installation:
npm install -g bump-everywhere # or "npm install bump-everywhere --save-dev" for local installations
bump-everywhere --repository "undergroundwires/privacy.sexy" --user "bot-commiter-name" --git-token "PAT_TOKEN" --relase-type "release" --release-token "PAT_TOKEN" --commit-message "⬆️ Bump everywhere"Or without installation you can directly run it using npx bump-everywhere <parameters...>
Option 3. Use Docker
To get the image you can either:
- Pull from docker hub using
docker pull undergroundwires/bump-everywhere:latest - Or build image yourself using
docker build . --tag undergroundwires/bump-everywhere:latest
- Pull from docker hub using
Run with arguments:
docker run undergroundwires/bump-everywhere \ "undergroundwires/privacy.sexy" \ "bot-user" \ "GitHub PAT for pushes" \ "prerelase" \ "GitHub PAT for releases" \ "⬆️ bump to {{version}}"
Option 4. Use scripts
Ensure
bash(4 or newer),git,curl,jqexists in your environment- run e.g.
apk add bash git curl jq
- run e.g.
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
- or optionally add this repository as git submodule:
Call the script as following :
bash "scripts/bump-everywhere.sh" \ --repository "undergroundwires/privacy.sexy" \ --user "bot-commiter-name" \ --git-token "PAT_TOKEN" \ --release-type "draft" \ --release-token "PAT_TOKEN" \ --commit-message "⬆️ bump to {{version}}"
Updating minor & major versions
- You manually tag your last commit to update major & minor versions.
- E.g.
git commit -m "bumped version to 1.2.0" --allow-emptygit tag 1.2.0git push && git push origin 1.2.0
All scripts
You can also use following scripts individually (check script files for usage, prerequisites & dependencies):
- bump-and-tag-version.sh: Automate versioning.
- create-github-release.sh: Automate creating GitHub releases
- print-changelog.sh: Automate creation of changelogs, e.g.
CHANGELOG.md. - configure-github-repo.sh: Set-up CI/CD user for current repository.
- log-commits.sh: Filters & logs commits as bullet points in markdown form.
- bump-npm-version.sh: Updates
packages.jsonto match the latest version. - bump-readme-versions.sh: Updates old references to
README.mdto the latest version.
Some example usages
- bump-everywhere: Repository itself is automatically versioned & released using its own action
- privacy.sexy
- safe-email
- ez-consent
- aws-static-site-with-cd
GitOps
CI/CD is fully automated for this repo using different GIT events & GitHub actions.
Support
- Give it a star ⭐
- Feel free to use the badge in the
README.mdof repository where you use bump-everywhere:
[](https://github.com/undergroundwires/bump-everywhere)
