Skip to content

Commit 99520c3

Browse files
committed
Add previous-release-tag output
1 parent bf15321 commit 99520c3

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

.github/actions/version/action.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,17 @@ outputs:
3030
description: "Determines if the current state of the codebase should released, determined by whether the commit is for the default branch and if the version it's associated with has already been released"
3131
value: ${{ steps.entrypoint.outputs.releasable }}
3232

33+
previous-release-tag:
34+
description: "The previous release's tag"
35+
value: ${{ steps.entrypoint.outputs.previous-release-tag }}
36+
3337
runs:
3438
using: "composite"
3539
steps:
3640
- run: ${{ github.action_path }}/entrypoint.sh
3741
id: entrypoint
3842
shell: bash
3943
env:
40-
INPUT_SEMVER: ${{ inputs.semver }}
44+
GH_TOKEN: ${{ github.token }}
4145
INPUT_DEFAULT_BRANCH: ${{ inputs.default-branch }}
46+
INPUT_SEMVER: ${{ inputs.semver }}

.github/actions/version/entrypoint.sh

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,19 @@ check_git_tag_exists() {
6565
git show-ref --tags "v$1" --quiet && echo "true" || echo "false"
6666
}
6767

68+
is_valid_semver() {
69+
local version=$1
70+
if [[ $version =~ ^v([0-9]+)\.([0-9]+)\.([0-9]+)$ ]]; then
71+
return 0 # valid semver
72+
else
73+
return 1 # invalid semver
74+
fi
75+
}
76+
77+
get_previous_release_tag() {
78+
echo "$(gh release list | awk 'NR==1{print $3}')"
79+
}
80+
6881
debug_log "Processing default_branch..."
6982
default_branch="$INPUT_DEFAULT_BRANCH"
7083
debug_log " $default_branch"
@@ -85,9 +98,14 @@ debug_log "Processing releasable..."
8598
releasable="$( [ "$ref" == "refs/heads/${default_branch}" ] && [ "$tag_exists" == "false" ] && echo "true" || echo "false" )"
8699
debug_log " $releasable"
87100

101+
debug_log "Processing previous_release_tag..."
102+
previous_release_tag=$(get_previous_release_tag "$semver")
103+
debug_log " $previous_release_tag"
104+
88105
set_output "$(parse_semver_component "$semver" 1)" "major"
89106
set_output "$(parse_semver_component "$semver" 2)" "minor"
90107
set_output "$(parse_semver_component "$semver" 3)" "patch"
108+
set_output "$previous_release_tag" "previous-release-tag"
91109
set_output "$releasable" "releasable"
92110
set_output "$semver" "semver"
93111
set_output "$tag_exists" "tag-exists"

.github/workflows/ci-cd.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ jobs:
1616
version:
1717
runs-on: ubuntu-latest
1818
outputs:
19+
previous-release-tag: ${{ steps.parse.outputs.previous-release-tag }}
1920
semver: ${{ steps.parse.outputs.semver }}
2021
releasable: ${{ steps.parse.outputs.releasable }}
2122
tag-exists: ${{ steps.parse.outputs.tag-exists }}

0 commit comments

Comments
 (0)