jlopez/Derive Semantic Version
Repo-wide semantic version from git tags + conventional commits; no version stored in-tree. Optionally tags + releases.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| initial-version | Baseline seeded as the first release when no tag exists yet. | — | 0.1.0 |
| tag-prefix | Prefix identifying this scheme's tags (e.g. `v` → `v1.2.3`). | — | v |
| create-release | When 'true' and a release is warranted, push the tag and create a GitHub Release. When 'false' (default), only compute outputs (dry run). | — | false |
| floating-tags | When 'true', also maintain floating `vMAJOR` / `vMAJOR.MINOR` tags that advance to each release (so consumers can pin `@v1` for the latest `1.x`). For repos distributing a GitHub Action; leave 'false' (default) otherwise. Pushes only happen alongside `create-release`, so PR dry-runs move nothing. | — | false |
| github-token | Token used to create the Release (needs `contents: write`). | — | ${{ github.token }} |
Outputs
| name | description |
|---|---|
| version | The computed version, no prefix (e.g. `1.2.3`). |
| tag | The computed tag, with prefix (e.g. `v1.2.3`). |
| previous-tag | The tag this was derived from, or '' on the first run. |
| bump | major | minor | patch | none. |
| released | 'true' when a release is warranted (a tag/Release should exist). |
| via-release-as | 'true' when a `Release-As:` footer forced the version. |
| build-identity | Always-available `git describe` identity (e.g. `v1.2.3-3-gabc1234`). |