0
0
mirror of https://github.com/thegeeklab/git-sv.git synced 2024-09-19 13:52:45 +02:00
Semantic versioning tool for git based on conventional commits
Go to file
2020-08-27 23:04:33 -03:00
cmd/git-sv feat: add validate-commit-message action 2020-08-27 22:57:55 -03:00
sv feat: add validate-commit-message action 2020-08-27 22:57:55 -03:00
.gitignore build: ignore bin dir 2019-11-17 13:06:44 -03:00
go.mod build: update urfave cli to 2.0.0 2020-07-16 20:24:19 -03:00
go.sum build: update urfave cli to 2.0.0 2020-07-16 20:24:19 -03:00
LICENSE Initial commit 2019-11-17 12:42:31 -03:00
Makefile build: add sv version on make release-all 2020-07-16 20:25:19 -03:00
README.md docs: add validate commit message on readme 2020-08-27 23:04:33 -03:00

sv4git

Semantic version for git

Getting Started

Installing

download the latest release and add the binary on your path

Config

you can config using the environment variables

Variable description default
MAJOR_VERSION_TYPES types used to bump major version
MINOR_VERSION_TYPES types used to bump minor version feat
PATCH_VERSION_TYPES types used to bump patch version build,ci,docs,fix,perf,refactor,style,test
INCLUDE_UNKNOWN_TYPE_AS_PATCH force patch bump on unknown type true
BRAKING_CHANGE_PREFIXES list of prefixes that will be used to identify a breaking change BREAKING CHANGE:,BREAKING CHANGES:
ISSUEID_PREFIXES list of prefixes that will be used to identify an issue id jira:,JIRA:,Jira:
TAG_PATTERN tag version pattern %d.%d.%d
RELEASE_NOTES_TAGS release notes headers for each visible type fix:Bug Fixes,feat:Features
VALIDATE_MESSAGE_SKIP_BRANCHES ignore branches from this list on validate commit message master,develop
COMMIT_MESSAGE_TYPES list of valid commit types for commit message build,ci,chore,docs,feat,fix,perf,refactor,revert,style,test

Running

run git-sv to get the list of available parameters

git-sv

Run as git command

if git-sv is configured on your path, you can use it like a git command

git sv
git sv current-version
git sv next-version

Usage

use --help or -h to get usage information, dont forget that some commands have unique options too

# sv help
git-sv -h

# sv release-notes command help
git-sv rn -h
Available commands
Variable description has options
current-version, cv get last released version from git
next-version, nv generate the next version based on git commit messages
commit-log, cl list all commit logs since last version as jsons ✔️
release-notes, rn generate release notes ✔️
changelog, cgl generate changelog ✔️
tag, tg generate tag with version based on git commit messages
validate-commit-message, vcm use as prepare-commit-message hook to validate message ✔️
help, h Shows a list of commands or help for one command

Development

Makefile

run make to get the list of available actions

make

Make configs

Variable description
BUILDOS build OS
BUILDARCH build arch
ECHOFLAGS flags used on echo
BUILDENVS var envs used on build
BUILDFLAGS flags used on build
Parameters description
args parameters that will be used on run
#variables
BUILDOS="linux" BUILDARCH="amd64" make build

#parameters
make run args="-h"

Build

make build

the binary will be created on bin/$BUILDOS_$BUILDARCH/git-sv

Tests

make test

Run

#without args
make run

#with args
make run args="-h"