Skip to content

Commit b855eb2

Browse files
pacucha42me-no-dev
authored andcommitted
* arduino-esp32 release mgmt. update (espressif#1557)
1 parent eb4e891 commit b855eb2

File tree

2 files changed

+24
-15
lines changed

2 files changed

+24
-15
lines changed

tools/build-release.sh

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,10 @@ shopt -u nocasematch
162162

163163
echo "Package version: $ver"
164164
echo "Git branch name: $branch_name"
165-
echo "Git revision number (short): $verx"
165+
echo "Git revision number: $verx"
166166
echo "Package name extension: $extent"
167167
echo "Travis CI tag: $TRAVIS_TAG"
168-
echo "Release package name (unzipped): $package_name"
168+
echo "Release package name: $package_name"
169169

170170
# Set REMOTE_URL environment variable to the address where the package will be
171171
# available for download. This gets written into package json file.
@@ -191,7 +191,6 @@ echo "Package build processing:"
191191
echo "========================="
192192
echo
193193
echo "Prepare files for the package main archive:"
194-
echo "-------------------------------------------"
195194
echo " - copying neccessary files from current Git repository..."
196195

197196
# <PACKAGE ROOT>
@@ -257,14 +256,14 @@ pushd $releaseDir >/dev/null
257256

258257
zip -qr $package_name_zip $package_name
259258
if [ $? -ne 0 ]; then
260-
echo " !error: failed to create ${package_name_zip} (ZIP errno: $?) => aborting"
259+
echo " !error: failed to create ${package_name_zip} (ZIP errno: $?) => aborting"
261260
exit 1
262261
fi
263262

264263
# Calculate SHA sum and size of ZIP archive
265264
sha=`shasum -a 256 $package_name_zip | cut -f 1 -d ' '`
266265
size=`/bin/ls -l $package_name_zip | awk '{print $5}'`
267-
echo "${package_name_zip} creation OK (size: $size B, sha2: $sha)"
266+
echo " ${package_name_zip} creation OK (size: $size, sha2: $sha)"
268267
echo
269268

270269
echo "Making $package_name JSON definition file(s):"
@@ -293,23 +292,30 @@ rm -rf $outdir
293292
# Get all previously released versions
294293
echo " - fetching previous (pre)release versions from GitHub..."
295294

295+
set +e
296+
296297
releasesJson=$releaseDir/releases.json
297298
curl -sH "Authorization: token $curlAuth" https://api.github.com/repos/$TRAVIS_REPO_SLUG/releases > $releasesJson
298299

299-
set +e
300-
# Previous final release (prerelase == false)
301300
prev_release=$(jq -e -r '. | map(select(.draft == false and .prerelease == false)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name' ${releasesJson})
302-
# Previous release (possibly a pre-release)
303301
prev_any_release=$(jq -e -r '. | map(select(.draft == false)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name' ${releasesJson})
304-
# Previous pre-release
305302
prev_pre_release=$(jq -e -r '. | map(select(.draft == false and .prerelease == true)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name' ${releasesJson})
303+
304+
shopt -s nocasematch
305+
if [ "$prev_any_release" == "$TRAVIS_TAG" ]; then
306+
prev_release=$(jq -e -r '. | map(select(.draft == false and .prerelease == false)) | sort_by(.created_at | - fromdateiso8601) | .[1].tag_name' ${releasesJson})
307+
prev_any_release=$(jq -e -r '. | map(select(.draft == false)) | sort_by(.created_at | - fromdateiso8601) | .[1].tag_name' ${releasesJson})
308+
prev_pre_release=$(jq -e -r '. | map(select(.draft == false and .prerelease == true)) | sort_by(.created_at | - fromdateiso8601) | .[1].tag_name' ${releasesJson})
309+
fi
310+
shopt -u nocasematch
311+
306312
set -e
307313

308314
rm -f "$releasesJson"
309315

310-
echo " -- previous Release: $prev_release"
311-
echo " -- previous (?Pre-)release: $prev_any_release"
312-
echo " -- previous Pre-release: $prev_pre_release"
316+
echo " previous Release: $prev_release"
317+
echo " previous (?Pre-)release: $prev_any_release"
318+
echo " previous Pre-release: $prev_pre_release"
313319

314320
# add generated items to JSON package-definition contents
315321
jq_arg=".packages[0].platforms[0].version = \"$ver\" | \

tools/deploy.sh

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,21 +119,24 @@ fi
119119
releaseNotes=$(perl -pe 's/\r?\n/\\n/' <<< ${releaseNotes})
120120

121121
# Check possibly existing release for current tag
122+
echo "Checking for possible releases of current tag $varTagName..."
122123
# (eg build invoked by Create New Release GHUI button -> GH default release pack created immediatelly including default assests)
123-
HTTP_RESPONSE=$(curl -L --silent --write-out "HTTPSTATUS:%{http_code}" https://api.github.com/repos/$varRepoSlug/releases/tags/$varTagName)
124+
HTTP_RESPONSE=$(curl -L --silent --write-out "HTTPSTATUS:%{http_code}" https://api.github.com/repos/$varRepoSlug/releases/tags/$varTagName?access_token=$varAccessToken)
124125
HTTP_BODY=$(echo $HTTP_RESPONSE | sed -e 's/HTTPSTATUS\:.*//g')
125126
HTTP_STATUS=$(echo $HTTP_RESPONSE | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
126127

128+
echo " HTTP server response code: $HTTP_STATUS"
129+
127130
# if the release exists, append/update recent files to its assets vector
128131
if [ $HTTP_STATUS -eq 200 ]; then
129132
releaseId=$(echo $HTTP_BODY | jq -r '.id')
130-
echo "GH release exists for current $varTagName tag (id $releaseId)"
133+
echo " - $varTagName release found (id $releaseId)"
131134
#... or create a new release record
132135
else
133136
curlData="{\"tag_name\": \"$varTagName\",\"target_commitish\": \"master\",\"name\": \"v$varTagName\",\"body\": \"$releaseNotes\",\"draft\": false,\"prerelease\": $varPrerelease}"
134137
#echo "DEBUG: curl --data \"${curlData}\" https://api.github.com/repos/${varRepoSlug}/releases?access_token=$varAccessToken | jq -r '.id'"
135138
releaseId=$(curl --data "$curlData" https://api.github.com/repos/$varRepoSlug/releases?access_token=$varAccessToken | jq -r '.id')
136-
echo "New GH release created for $varTagName tag (id $releaseId)"
139+
echo " - new release created for $varTagName (id $releaseId)"
137140
fi
138141

139142
# Assets defined by dir contents

0 commit comments

Comments
 (0)