Skip to content
This repository has been archived by the owner on Jul 11, 2022. It is now read-only.
/ get-commit-semver Public archive

An action can get semver infomation from latest commit's message.

Notifications You must be signed in to change notification settings

heineiuo/get-commit-semver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Get commit semver

DEPRECATED! Please migrate to https://github.com/heineiuo/create-changelogs

An action can get semver infomation from latest commit's message.

Outputs

  valid:
    description: "{boolean} is raw value a valid semver"
  raw: 
    description: "{string} raw value"
  major:
    description: "{number|null} major"
  minor:
    description: "{number|null} minor"
  patch:
    description: "{number|null} patch"
  is_prerelease:
    description: "{boolean|null} is prerelease"
  prerelease_name:
    description: "{string|null} prerelease name, like beta in v1.2.3-beta.4"
  prerelease_number:
    description: "{number|null} prerelease number, like 4 in v1.2.3-beta.4"
  build_number:
    description: "{number|null} build number, like 55555 in v1.2.3+55555"
  version:
    description: "{string|null} version, like 1.2.3-beta.1 in v1.2.3-beta.1 or 1.2.3 in v1.2.3+4444"

Example

For every push on main branch, check the commit message, if it's a semver like message, then create a new tag and push to main branch, and create a new GitHub release.

name: CI

on:
  push:
    branches:
      - main

jobs:
  build:
    name: CI
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [16.x]

    steps:
      - name: Checkout code
        uses: actions/checkout@master

      - run: |
          git fetch --prune --unshallow

      - name: Echo Infomation
        run: |
          echo "event name: ${{github.event_name}}"
          echo "event action: ${{github.event.action}}"
          echo "event number: ${{github.event.number}}"
    
      - name: Get semver
        id: semver
        uses: heineiuo/get-commit-semver@main
    
      - name: Create tag
        uses: rickstaa/action-create-tag@v1
        if: |
          github.event_name == 'push' && steps.semver.outputs.valid == 'true'
        with:
          tag: ${{ steps.semver.outputs.raw }}

      - name: Create Changelogs
        if: |
          github.event_name == 'push' && steps.semver.outputs.valid == 'true'
        id: changelog
        uses: heineiuo/create-changelogs@master

      - name: Create Release
        if: |
          github.event_name == 'push' && steps.semver.outputs.valid == 'true'
        id: create_release
        uses: actions/create-release@latest
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ steps.semver.outputs.raw }}
          release_name: ${{ steps.semver.outputs.raw }}
          body: ${{ steps.changelog.outputs.changelog_text }}
          draft: false
          prerelease: ${{ steps.changelog.outputs.release_type == 'prerelease' }}

About

An action can get semver infomation from latest commit's message.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published