@@ -10,50 +10,50 @@ set -euo pipefail
1010# GITHUB_OUTPUT: Path to GitHub output file
1111
1212function main {
13- # Validate required environment variables
14- : " ${VERSION:? ERROR: VERSION is a required environment variable} "
15- : " ${GH_TOKEN:? ERROR: GH_TOKEN is a required environment variable} "
16- : " ${GITHUB_OUTPUT:? ERROR: GITHUB_OUTPUT is a required environment variable} "
17-
18- printf ' Checking if release exists for tag: %s\n' " $VERSION "
19-
20- # Check if release exists using gh CLI (only care about exit code)
21- if ! gh release view " $VERSION " > /dev/null 2>&1 ; then
22- {
23- printf ' exists=false\n'
24- printf ' is_draft=false\n'
25- printf ' release_id=\n'
26- } >> " $GITHUB_OUTPUT "
27- printf ' Release not found for tag %s\n' " $VERSION "
28- return 0
29- fi
30-
31- # Get release details
32- local release_json
33- release_json=$( gh release view " $VERSION " --json ' id,uploadUrl,isDraft' )
34-
35- local release_id
36- local upload_url
37- local is_draft
38-
39- release_id=$( jq -r ' .id' <<< " $release_json" )
40- upload_url=$( jq -r ' .uploadUrl' <<< " $release_json" )
41- is_draft=$( jq -r ' .isDraft' <<< " $release_json" )
42-
43- # Write to GitHub output
44- {
45- printf ' exists=true\n'
46- printf ' release_id=%s\n' " $release_id "
47- printf ' upload_url=%s\n' " $upload_url "
48- printf ' is_draft=%s\n' " $is_draft "
49- } >> " $GITHUB_OUTPUT "
50-
51- echo " Found existing release:"
52- printf ' Release ID: %s\n' " $release_id "
53- printf ' Draft: %s\n' " $is_draft "
54- printf ' Upload URL: %s\n' " ${upload_url% \{ * } "
55-
56- return 0
13+ # Validate required environment variables
14+ : " ${VERSION:? ERROR: VERSION is a required environment variable} "
15+ : " ${GH_TOKEN:? ERROR: GH_TOKEN is a required environment variable} "
16+ : " ${GITHUB_OUTPUT:? ERROR: GITHUB_OUTPUT is a required environment variable} "
17+
18+ printf ' Checking if release exists for tag: %s\n' " $VERSION "
19+
20+ # Check if release exists using gh CLI (only care about exit code)
21+ if ! gh release view " $VERSION " > /dev/null 2>&1 ; then
22+ {
23+ printf ' exists=false\n'
24+ printf ' is_draft=false\n'
25+ printf ' release_id=\n'
26+ } >> " $GITHUB_OUTPUT "
27+ printf ' Release not found for tag %s\n' " $VERSION "
28+ return 0
29+ fi
30+
31+ # Get release details
32+ local release_json
33+ release_json=$( gh release view " $VERSION " --json ' id,uploadUrl,isDraft' )
34+
35+ local release_id
36+ local upload_url
37+ local is_draft
38+
39+ release_id=$( jq -r ' .id' <<< " $release_json" )
40+ upload_url=$( jq -r ' .uploadUrl' <<< " $release_json" )
41+ is_draft=$( jq -r ' .isDraft' <<< " $release_json" )
42+
43+ # Write to GitHub output
44+ {
45+ printf ' exists=true\n'
46+ printf ' release_id=%s\n' " $release_id "
47+ printf ' upload_url=%s\n' " $upload_url "
48+ printf ' is_draft=%s\n' " $is_draft "
49+ } >> " $GITHUB_OUTPUT "
50+
51+ echo " Found existing release:"
52+ printf ' Release ID: %s\n' " $release_id "
53+ printf ' Draft: %s\n' " $is_draft "
54+ printf ' Upload URL: %s\n' " ${upload_url% \{ * } "
55+
56+ return 0
5757}
5858
5959main " $@ "
0 commit comments