Auto create tags from commit or package.json
tokenYourGITHUB_TOKEN. This is required. Why do we needtoken? Read more here: About the GITHUB_TOKEN secret. Default:${{ github.token }}versionCreate tag for specified version. Exampe:version: v1.0.0testThe regular expression matches the submitted content. Exampe:test: '[R|r]elease[d]\s+[v|V]\d(\.\d+){0,2}'package-pathThe path of thepackage.jsonfile. Defaultpackage.json.releaseOptionally marks this tag asrelease. Set totrueto enable.prereleaseOptionally marks this release asprerelease. Set totrueto enable.bodyAn optional body for the release.
versionThe version number of the tag created, example:v1.0.0.versionNumberThe version number of the tag created, example:1.0.0.preversionThe previous tag version number, example:v1.0.0.preversionNumberThe previous tag version number of the tag created. example:1.0.0.successfulThe tag was successfully created.majorVersionMAJOR version when you make incompatible API changes.minorVersionMINOR version when you add functionality in a backwards compatible manner, and.patchVersionPATCH version when you make backwards compatible bug fixes.
- run: echo "version - ${{ steps.create_tag.outputs.version }}"
- run: echo "version || preversion - ${{ steps.create_tag.outputs.version || steps.create_tag.outputs.preversion }}"
- run: echo "versionNumber - ${{ steps.create_tag.outputs.versionNumber }}"
- run: echo "versionNumber || preversionNumber - ${{ steps.create_tag.outputs.versionNumber || steps.create_tag.outputs.preversionNumber }}"
- run: echo "majorVersion - ${{ steps.create_tag.outputs.majorVersion }}"
- run: echo "minorVersion - ${{ steps.create_tag.outputs.minorVersion }}"
- run: echo "patchVersion - ${{ steps.create_tag.outputs.patchVersion }}"
- run: echo "preversion - ${{ steps.create_tag.outputs.preversion }}"
- run: echo "successful - ${{ steps.create_tag.outputs.successful }}"First, we must listen for push events
on:
push:
branches:
- master
paths-ignore:
- '.github/**/*.yml'
- '.gitignore'Compare the tag version number in package.json with the last tag and automatically generate tags
- run: echo "previous_tag=$(git describe --tags --abbrev=0 2>/dev/null || echo '')" >> $GITHUB_ENV
- name: Create Tag
id: create_tag
uses: jaywcjlove/create-tag-action@main
if: env.previous_tag
with:
package-path: ./package.jsonOr, Compare the tag version number in the commit content with the last tag and automatically generate tags
- run: echo "previous_tag=$(git describe --tags --abbrev=0 2>/dev/null || echo '')" >> $GITHUB_ENV
- name: Create Tag
id: create_tag
uses: jaywcjlove/create-tag-action@main
if: env.previous_tag
with:
test: '[R|r]elease[d]\s+[v|V]\d(\.\d+){0,2}'Use steps.<job_id>.outputs.successful to determine whether the version is created successfully, and a changelog will be automatically generated.
- name: Generate Changelog
id: changelog
uses: jaywcjlove/changelog-generator@main
if: steps.create_tag.outputs.successful
with:
head-ref: ${{steps.create_tag.outputs.version}}
filter-author: (jaywcjlove|小弟调调™|dependabot\[bot\]|Renovate Bot)
filter: (^[\s]+?[R|r]elease)|(^[R|r]elease)Use steps.<job_id>.outputs.successful to determine whether the version is created successfully, the creation has been released
- name: Create Release
uses: ncipollo/release-action@v1
if: steps.create_tag.outputs.successful
with:
token: ${{ secrets.GITHUB_TOKEN }}
name: ${{ steps.create_tag.outputs.version }}
tag: ${{ steps.create_tag.outputs.version }}
body: |
```bash
npm i @uiw/react-heat-map@${{steps.create_tag.outputs.versionNumber}}
```
${{ steps.changelog.outputs.compareurl }}
${{ steps.changelog.outputs.changelog }}OR use jaywcjlove/create-tag-action@main:
- name: Generate Changelog
uses: jaywcjlove/create-tag-action@main
if: steps.create_tag.outputs.successful
with:
version: ${{steps.create_tag.outputs.version}}
release: true
body: |
```bash
npm i @uiw/react-heat-map@${{steps.create_tag.outputs.versionNumber}}
```
${{ steps.changelog.outputs.compareurl }}
${{ steps.changelog.outputs.changelog }}- Github Release Changelog Generator A GitHub Action that compares the commit differences between two branches
- Github Action Contributors Github action generates dynamic image URL for contributor list to display it!
- Generated Badges Create a badge using GitHub Actions and GitHub Workflow CPU time (no 3rd parties servers)
- Create Coverage Badges Create coverage badges from coverage reports. (no 3rd parties servers)
- Github Action package Read and modify the contents of
package.json.
The scripts and documentation in this project are released under the MIT License