GitHub Action that gets the latest tag from Git
By default, this action will fail if no tag can be found and no fallback is provided; when set, the fallback tag will be used instead. Keep in mind that when this action is used in a workflow that has no .git directory, it will still
fail, and the fallback tag isn't used. It is also accepts a pattern string to query the tags based on it. Pattern to
query the tag by this can be semver (v*[0-9].*[0-9].*[0-9]) or a simple monotonically increasing integer (r*) and
defaults to * And finally it takes a workingDirectory if you need to look for a tag in an alternative path.
fallback:1.0.0pattern:v*[0-9].*[0-9].*[0-9]workingDirectory:another/path/where/a/git/repo/is/checked/out
This action has two outputs, tag for the found tag, or the fallback. And, timestamp as a UNIX Epoch timestmap for
when the tag was created, or when no tag is found, and a fallback tag has be specific is provides the timestamp of
action execution.
tag:1.2.3timestamp:123
Find more examples in the examples directory.
The following example works together with the WyriHaximus/github-action-next-semvers and WyriHaximus/github-action-create-milestone actions.
Where it provides the previous tag from that action so it can supply a set of versions for the next action, which creates a new milestone.
(This snippet has been taken from the automatic code generation of wyrihaximus/fake-php-version.)
name: Generate
jobs:
generate:
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0 # Required due to the way Git works, without it this action won't be able to find any or the correct tags
- name: 'Get Previous tag'
id: previoustag
uses: "step-security/github-action-get-previous-tag@v2"
with:
fallback: 1.0.0 # Optional fallback tag to use when no tag can be found
#workingDirectory: another/path/where/a/git/repo/is/checked/out # Optional alternative working directory
- name: 'Get next minor version'
id: semvers
uses: "WyriHaximus/github-action-next-semvers@v1"
with:
version: ${{ steps.previoustag.outputs.tag }}
- name: 'Create new milestone'
id: createmilestone
uses: "WyriHaximus/github-action-create-milestone@v1"
with:
title: ${{ steps.semvers.outputs.patch }}
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"Copyright 2026 Cees-Jan Kiewiet
Copyright 2026 StepSecurity
The action is released under the MIT License.
