Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

🏷 update-version

Update your files version field on new releases

GitHub Workflow StatusGitHub release (latest by date)GitHub

🧠 Why

  • Most actions related to version upgrade do it backwards: when you push a commit with version change in a specific branch a release is created.

  • This action does the opposite: when you create a release the specified files will get updated with the new version, so you don't forget to update them.

This comes in handy when working with git workflows such as trunk-base-development or master-only.

🚀 Usage

With the following example after creating a new release with tag v2.0.1 on branch release, a new commit will appear in that same branch with both package.json and app.yaml updated with the version field to 2.0.1.

name: Upgrade Versionon:
release:
types: [published]jobs:
upgrade-version:
runs-on: ubuntu-lateststeps:
- uses: actions/checkout@v2
- uses: pocket-apps/action-update-version@v1with:
files: 'package.json, app.yaml'version-regexp: '\d+.\d+.\d+'repo-token: ${{ secrets.GITHUB_TOKEN }}

The action will fail if:

  • Both repo-token and branch-name are not supplied

  • The tag cannot be found by octokit

  • The regular expression cannot match the release tag

  • You specify a file with unsupported extension

  • Supported file extensions: json, yaml and yml. To add one simply submit a PR with a new parser on the main.ts file.

⚙ Inputs

By supplying the repo-token the commit will use the release information: author and branch.

You can change the branch commit target and the commit author if you want.

NameDescriptionDefault
filesComma separated list of files to update its version fieldpackage.json
version-regexpRegular expression to match release tag name\d+.\d+.\d+
repo-tokenGitHub token to get the release information in order to push to branchnull
commit-messageCommit message for files update. The %version% will get substitutedci: update version to v%version%
spacing-levelNumber of spaces for formatted files2
branch-nameDefault branch name to push changes if not repo-token is providedRelease target branch
author-nameCommit author nameRelease author name
author-emailCommit author emailRelease author email

👋 Support

If you find our work useful, you can support our work and win a burrito 🌯

About

🏷 Update your files version field on new releases

Topics

Resources

Stars

15 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Contributors

Languages