All Projects → mathieudutour → Github Tag Action

mathieudutour / Github Tag Action

Licence: mit
A Github Action to automatically bump and tag master, on merge, with the latest SemVer formatted version. Works on any platform.

Programming Languages

typescript
32286 projects

Labels

Projects that are alternatives of or similar to Github Tag Action

Bump
Bump updates the project's version, updates/creates the changelog, makes the bump commit, tags the bump commit and makes the release to GitHub. Opinionated but configurable.
Stars: ✭ 327 (+233.67%)
Mutual labels:  tag
Interactive Git Tag
Interactive tool that helps with your git tagging by suggesting versions
Stars: ✭ 24 (-75.51%)
Mutual labels:  tag
Materialchipview
Material Chip view. Can be used as tags for categories, contacts or creating text clouds
Stars: ✭ 1,181 (+1105.1%)
Mutual labels:  tag
Vue Gl
Vue.js components rendering 3D WebGL graphics reactively with three.js
Stars: ✭ 434 (+342.86%)
Mutual labels:  tag
Standard Version
🏆 Automate versioning and CHANGELOG generation, with semver.org and conventionalcommits.org
Stars: ✭ 5,806 (+5824.49%)
Mutual labels:  tag
Audioworks
A cross-platform, multi-format audio conversion and tagging suite
Stars: ✭ 35 (-64.29%)
Mutual labels:  tag
Vuewordcloud
Generates a cloud out of the words.
Stars: ✭ 284 (+189.8%)
Mutual labels:  tag
Notgif
Play & Share your GIFs in Photos
Stars: ✭ 84 (-14.29%)
Mutual labels:  tag
Conventional Changelog
Generate changelogs and release notes from a project's commit messages and metadata.
Stars: ✭ 5,962 (+5983.67%)
Mutual labels:  tag
React Native Selectmultiple Button
A button (or a grouped buttons) supporting multiple or radio selection by building with React Native. https://github.com/danceyoung/selectmultiplebuttons for Swift.
Stars: ✭ 72 (-26.53%)
Mutual labels:  tag
Music Metadata
Stream and file based music metadata parser for node. Supporting a wide range of audio and tag formats.
Stars: ✭ 455 (+364.29%)
Mutual labels:  tag
Keep A Changelog
If you build software, keep a changelog.
Stars: ✭ 5,065 (+5068.37%)
Mutual labels:  tag
Github Action Get Previous Tag
Get the previous tag
Stars: ✭ 42 (-57.14%)
Mutual labels:  tag
Pdf Bookmark
pdf bookmark generator 目录 书签 大纲
Stars: ✭ 327 (+233.67%)
Mutual labels:  tag
Shoptagdialog
高仿淘宝立即购买后的标签选择Dialog
Stars: ✭ 73 (-25.51%)
Mutual labels:  tag
Tags Input
🔖 <input type="tags"> like magic
Stars: ✭ 312 (+218.37%)
Mutual labels:  tag
React Input Tags
React component for tagging inputs.
Stars: ✭ 10 (-89.8%)
Mutual labels:  tag
Tag Manager
Free Open Source Matomo Tag Manager - A simple way to manage and maintain all of your (third-party) tags on your website.
Stars: ✭ 91 (-7.14%)
Mutual labels:  tag
Sonataclassificationbundle
Symfony SonataClassificationBundle
Stars: ✭ 76 (-22.45%)
Mutual labels:  tag
Cols Agent Tasks
Colin's ALM Corner Custom Build Tasks
Stars: ✭ 70 (-28.57%)
Mutual labels:  tag

GitHub Tag Action

A GitHub Action to automatically bump and tag master, on merge, with the latest SemVer formatted version. Works on any platform.

Usage

name: Bump version
on:
  push:
    branches:
      - master
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/[email protected]
      - name: Bump version and push tag
        id: tag_version
        uses: mathieudutour/[email protected]
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
      - name: Create a GitHub release
        uses: actions/[email protected]
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ steps.tag_version.outputs.new_tag }}
          release_name: Release ${{ steps.tag_version.outputs.new_tag }}
          body: ${{ steps.tag_version.outputs.changelog }}

📥 Inputs

  • github_token (required) - Required for permission to tag the repo. Usually ${{ secrets.GITHUB_TOKEN }}.

Filter branches

  • release_branches (optional) - Comma separated list of branches (JavaScript regular expression accepted) that will generate the release tags. Other branches and pull-requests generate versions postfixed with the commit hash and do not generate any repository tag. Examples: master or .* or release.*,hotfix.*,master... (default: master,main).
  • pre_release_branches (optional) - Comma separated list of branches (JavaScript regular expression accepted) that will generate the pre-release tags.

Customize the tag

  • default_bump (optional) - Which type of bump to use when none is explicitly provided (default: patch). You can also set false to avoid generating a new tag when none is explicitly provided.
  • custom_tag (optional) - Custom tag name. If specified, it overrides bump settings.
  • create_annotated_tag (optional) - Boolean to create an annotated rather than a lightweight one (default: false).
  • tag_prefix (optional) - A prefix to the tag name (default: v).
  • append_to_pre_release_tag (optional) - A suffix to the pre-release tag name (default: <branch>).

Customize the conventional commit messages

  • custom_release_rules (optional) - Comma separated list of release rules. Format: <keyword>:<release_type>. Example: hotfix:patch,pre-feat:preminor.

Debugging

  • dry_run (optional) - Do not perform tagging, just calculate next version and changelog, then exit

📤 Outputs

  • new_tag - The value of the newly calculated tag. Note that if there hasn't been any new commit, this will be undefined.
  • new_version - The value of the newly created tag without the prefix. Note that if there hasn't been any new commit, this will be undefined.
  • previous_tag - The value of the previous tag (or v0.0.0 if none). Note that if custom_tag is set, this will be undefined.
  • previous_version - The value of the previous tag (or 0.0.0 if none) without the prefix. Note that if custom_tag is set, this will be undefined.
  • changelog - The conventional changelog since the previous tag.

Note: This action creates a lightweight tag by default.

Bumping

The action will parse the new commits since the last tag using the semantic-release conventions.

semantic-release uses the commit messages to determine the type of changes in the codebase. Following formalized conventions for commit messages, semantic-release automatically determines the next semantic version number.

By default semantic-release uses Angular Commit Message Conventions.

Here is an example of the release type that will be done based on a commit messages:

Commit message Release type
fix(pencil): stop graphite breaking when too much pressure applied
Patch Release
feat(pencil): add 'graphiteWidth' option
Minor Release
perf(pencil): remove graphiteWidth option

BREAKING CHANGE: The graphiteWidth option has been removed.
The default graphite width of 10mm is always used for performance reasons.
Major Release

If no commit message contains any information, then default_bump will be used.

Credits

anothrNick/github-tag-action - a similar action using a Dockerfile (hence not working on macOS)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].