Actions Ecosystem Action Get Latest Tag
ActionsThis is a GitHub Action to get a latest Git tag.
It would be more useful to use this with other GitHub Actions' outputs.
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|---|---|---|---|
semver_only |
Whether gets only a tag in the shape of semver. v prefix is accepted for tag names. |
bool |
false |
false |
initial_version |
The initial version. Works only when inputs.with_initial_version == true . |
string |
false |
v0.0.0 |
with_initial_version |
Whether returns inputs.initial_version as outputs.tag if no tag exists. true and false are available. |
bool |
false |
true |
If inputs.semver_only
is true
, the latest tag among tags with semver will be set for outputs.tag
.
This input is useful for versioning that binds a major version is the latest of that major version (e.g., v1
== v1.*
), like GitHub Actions.
In such a case, the actual latest tag is a major version, but the version isn't as we expected when we want to work with semver.
Let's say you did the following versioning.
$ git tag v1.0.0 && git push origin v1.0.0
$ # some commits...
$ git tag v1.1.0 && git push origin v1.1.0
$ git tag v1 && git push origin v1 # bind v1 to v1.1.0.
In such a case, outputs.tag
varies like this:
inputs.semver_only
=false
->outputs.tag
=v1
inputs.semver_only
=true
->outputs.tag
=v1.1.0
NAME | DESCRIPTION | TYPE |
---|---|---|
tag |
The latest tag. If no tag exists and inputs.with_initial_version == false , this value is '' . |
string |
name: Push a new tag with Pull Request
on:
pull_request:
types: [closed]
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-ecosystem/action-release-label@v1
id: release-label
if: ${{ github.event.pull_request.merged == true }}
- uses: actions-ecosystem/action-get-latest-tag@v1
id: get-latest-tag
if: ${{ steps.release-label.outputs.level != null }}
- uses: actions-ecosystem/action-bump-semver@v1
id: bump-semver
if: ${{ steps.release-label.outputs.level != null }}
with:
current_version: ${{ steps.get-latest-tag.outputs.tag }}
level: ${{ steps.release-label.outputs.level }}
- uses: actions-ecosystem/action-push-tag@v1
if: ${{ steps.release-label.outputs.level != null }}
with:
tag: ${{ steps.bump-semver.outputs.new_version }}
message: '${{ steps.bump-semver.outputs.new_version }}: PR #${{ github.event.pull_request.number }} ${{ github.event.pull_request.title }}'
For a further practical example, see .github/workflows/release.yml.
Copyright 2020 The Actions Ecosystem Authors.
Action Get Latest Tag is released under the Apache License 2.0.
Actions Ecosystem Action Get Latest Tag is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.