Coder Social home page Coder Social logo

git-describe-semver's Introduction

git-describe-semver

Replacement for git describe --tags that produces semver compatible versions that follow to semver sorting rules.

Comparison

Previous git tag git describe --tags git-describe-semver --fallback v0.0.0
v1.2.3 v1.2.3 v1.2.3
v1.2.3 v1.2.3-23-gabc1234 v1.2.4-dev.23.gabc1234
v1.3.0-rc.1 v1.3.0-rc.1-23-gabc1234 v1.3.0-rc.1.dev.23.gabc1234
v1.3.0-rc.1+info v1.3.0-rc.1+info-23-gabc1234 v1.3.0-rc.1.dev.23.gabc1234+info
none fail v0.0.0-dev.23.gabc1234

Next Release

Previous git tag git describe --tags git-describe-semver --fallback v0.0.0 --next-release
v1.2.3 v1.2.3 v1.2.4 patch
v1.2.3 v1.2.3-23-gabc1234 v1.2.4 patch
v1.3.0-rc.1 v1.3.0-rc.1-23-gabc1234 v1.3.0 patch / minor
v1.3.1-rc.1 v1.3.1-rc.1-23-gabc1234 v1.4.0 minor
v1.0.0-rc.1 v1.0.0-rc.1-23-gabc1234 v1.0.0 major
v1.0.0 v1.0.0 v2.0.0 major
v1.0.1-rc.1 v1.0.1-rc.1-23-gabc1234 v2.0.0 major
none fail v0.0.0 patch / minor / major

Usage

  • Flag --dir /some/git/worktree: Git worktree directory (defaults to current directory .)
  • Flag --fallback v0.0.0: Fallback to given tag name if no tag is available
  • Flag --drop-prefix: Drop any present prefix (like v) from the output
  • Flag --prerelease-suffix: Adds a dash-separated suffix to the prerelease part
  • Flag --prerelease-prefix: Adds a dash-separated prefix to the prerelease part (defaults to dev)
  • Flag --prerelease-timestamped: Use timestamp instead of commit count for prerelease
  • Flag --next-release: Bump current version to next release (choices: major, minor, patch)
  • Flag --format: Changes output (use <version> as placeholder)

Docker

cd my-git-directory
docker pull ghcr.io/choffmeister/git-describe-semver:latest
docker run --rm -v $PWD:/workdir ghcr.io/choffmeister/git-describe-semver:latest

GitHub action

# .github/workflows/build.yml
name: build
jobs:
  update:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
      with:
        fetch-depth: 0
    - id: git-describe-semver
      uses: choffmeister/git-describe-semver@main
      with:
        version: latest
        dir: .
        fallback: v0.0.0
        drop-prefix: true
        prerelease-prefix: dev
        prerelease-suffix: SNAPSHOT
        prerelease-timestamped: true
        next-release: ''
    - run: echo This is the version ${{ steps.git-describe-semver.outputs.version }}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.