GitHub Action
Package Version Check Action
Read this in other languages: English, 日本語.
GitHub Action to check package version before publish.
Table of Contents
- Screenshots
- Installation
- Options
- Action event details
- Motivation
- Addition
- Sample repositories using this Action
- Author
e.g. .github/workflows/check_version.yml
on: push
name: Check package version
jobs:
checkVersion:
name: Check package version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 3
# Use this GitHub Action
- name: Check package version
uses: technote-space/package-version-check-action@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH_PREFIX: release/
e.g. .github/workflows/release.yml
on:
push:
tags:
- 'v*'
name: Publish Package
jobs:
release:
name: Publish Package
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
with:
fetch-depth: 3
# Use this GitHub Action
- name: Check package version
uses: technote-space/package-version-check-action@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Package dependencies
run: yarn install
- name: Build
run: yarn build
- name: Publish
uses: actions/npm@master
env:
NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
with:
args: publish
Branch name prefix.
default: ''
e.g. release/
Whether commit is disabled.
default: ''
Commit message of update package version commit.
default: 'feat: Update package version'
Package file name.
default: 'package.json'
Package directory.
default: ''
Prefix for test tag.
default: ''
e.g. 'test/'
eventName: action | condition |
---|---|
push: * | condition1 |
release: published | condition1 |
release: rerequested | condition1 |
created: * | condition2 |
- tags
- semantic versioning tag (e.g.
v1.2.3
)
- semantic versioning tag (e.g.
- branches
${BRANCH_PREFIX}${tag}
- tag: semantic versioning tag (e.g.
v1.2.3
) - e.g. branch:
release/v1.2.3
- tag: semantic versioning tag (e.g.
- tags
- semantic versioning tag (e.g.
v1.2.3
)
- semantic versioning tag (e.g.
If you forget to update the package.json version, publishing the npm package will fail.
If you are invoking an action by pushing a tag, you have to do following steps again.
- Delete pushed tag
- Update package.json version
- Commit and tag again
- Push
This is very troublesome.
This GitHub Action
updates the version in package.json based on the tag name automatically.
So you don't have to worry about the version in package.json.
This action also commits the change if the branch is not protected.
If the branch is protected, this action just update the version in package.json.
Commit is valid when pushing to default branch with tag
or branch starting with ${BRANCH_PREFIX}
.
Tag name format must be Semantic Versioning.