Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vimtor/action-update-version
🏷 Update your files version field on new releases
https://github.com/vimtor/action-update-version
actions package-json release version-control-system versioning
Last synced: 9 days ago
JSON representation
🏷 Update your files version field on new releases
- Host: GitHub
- URL: https://github.com/vimtor/action-update-version
- Owner: vimtor
- License: mit
- Created: 2020-09-01T19:10:55.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-03-07T13:58:39.000Z (over 2 years ago)
- Last Synced: 2024-10-19T02:14:23.646Z (27 days ago)
- Topics: actions, package-json, release, version-control-system, versioning
- Language: TypeScript
- Homepage:
- Size: 443 KB
- Stars: 16
- Watchers: 1
- Forks: 8
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
🏷 update-version
Update your files version field on new releases
## 🧠 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](https://trunkbaseddevelopment.com/) or [master-only](https://www.youtube.com/watch?v=MWz-9uyHP4s).
## 🚀 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`.```yaml
name: Upgrade Version
on:
release:
types: [published]jobs:
upgrade-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: pocket-apps/action-update-version@v1
with:
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.
**Name**|**Description**|**Default**
-----|-----|-----
files|Comma separated list of files to update its version field|package.json
version-regexp|Regular expression to match release tag name|\d+.\d+.\d+
repo-token|GitHub token to get the release information in order to push to branch|`null`
commit-message|Commit message for files update. The %version% will get substituted|ci: update version to v%version%
spacing-level|Number of spaces for formatted files|`2`
branch-name|Default branch name to push changes if not repo-token is provided|*Release target branch*
author-name|Commit author name|*Release author name*
author-email|Commit author email|*Release author email*## 👋 Support
If you find our work useful, you can [support our work](https://github.com/sponsors/pocket-apps) and win a burrito 🌯