* arduino-esp32 release mgmt. update (#1557)
This commit is contained in:
parent
eb4e891344
commit
b855eb23a7
@ -162,10 +162,10 @@ shopt -u nocasematch
|
|||||||
|
|
||||||
echo "Package version: $ver"
|
echo "Package version: $ver"
|
||||||
echo "Git branch name: $branch_name"
|
echo "Git branch name: $branch_name"
|
||||||
echo "Git revision number (short): $verx"
|
echo "Git revision number: $verx"
|
||||||
echo "Package name extension: $extent"
|
echo "Package name extension: $extent"
|
||||||
echo "Travis CI tag: $TRAVIS_TAG"
|
echo "Travis CI tag: $TRAVIS_TAG"
|
||||||
echo "Release package name (unzipped): $package_name"
|
echo "Release package name: $package_name"
|
||||||
|
|
||||||
# Set REMOTE_URL environment variable to the address where the package will be
|
# Set REMOTE_URL environment variable to the address where the package will be
|
||||||
# available for download. This gets written into package json file.
|
# available for download. This gets written into package json file.
|
||||||
@ -191,7 +191,6 @@ echo "Package build processing:"
|
|||||||
echo "========================="
|
echo "========================="
|
||||||
echo
|
echo
|
||||||
echo "Prepare files for the package main archive:"
|
echo "Prepare files for the package main archive:"
|
||||||
echo "-------------------------------------------"
|
|
||||||
echo " - copying neccessary files from current Git repository..."
|
echo " - copying neccessary files from current Git repository..."
|
||||||
|
|
||||||
# <PACKAGE ROOT>
|
# <PACKAGE ROOT>
|
||||||
@ -264,7 +263,7 @@ fi
|
|||||||
# Calculate SHA sum and size of ZIP archive
|
# Calculate SHA sum and size of ZIP archive
|
||||||
sha=`shasum -a 256 $package_name_zip | cut -f 1 -d ' '`
|
sha=`shasum -a 256 $package_name_zip | cut -f 1 -d ' '`
|
||||||
size=`/bin/ls -l $package_name_zip | awk '{print $5}'`
|
size=`/bin/ls -l $package_name_zip | awk '{print $5}'`
|
||||||
echo "${package_name_zip} creation OK (size: $size B, sha2: $sha)"
|
echo " ${package_name_zip} creation OK (size: $size, sha2: $sha)"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "Making $package_name JSON definition file(s):"
|
echo "Making $package_name JSON definition file(s):"
|
||||||
@ -293,23 +292,30 @@ rm -rf $outdir
|
|||||||
# Get all previously released versions
|
# Get all previously released versions
|
||||||
echo " - fetching previous (pre)release versions from GitHub..."
|
echo " - fetching previous (pre)release versions from GitHub..."
|
||||||
|
|
||||||
|
set +e
|
||||||
|
|
||||||
releasesJson=$releaseDir/releases.json
|
releasesJson=$releaseDir/releases.json
|
||||||
curl -sH "Authorization: token $curlAuth" https://api.github.com/repos/$TRAVIS_REPO_SLUG/releases > $releasesJson
|
curl -sH "Authorization: token $curlAuth" https://api.github.com/repos/$TRAVIS_REPO_SLUG/releases > $releasesJson
|
||||||
|
|
||||||
set +e
|
|
||||||
# Previous final release (prerelase == false)
|
|
||||||
prev_release=$(jq -e -r '. | map(select(.draft == false and .prerelease == false)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name' ${releasesJson})
|
prev_release=$(jq -e -r '. | map(select(.draft == false and .prerelease == false)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name' ${releasesJson})
|
||||||
# Previous release (possibly a pre-release)
|
|
||||||
prev_any_release=$(jq -e -r '. | map(select(.draft == false)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name' ${releasesJson})
|
prev_any_release=$(jq -e -r '. | map(select(.draft == false)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name' ${releasesJson})
|
||||||
# Previous pre-release
|
|
||||||
prev_pre_release=$(jq -e -r '. | map(select(.draft == false and .prerelease == true)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name' ${releasesJson})
|
prev_pre_release=$(jq -e -r '. | map(select(.draft == false and .prerelease == true)) | sort_by(.created_at | - fromdateiso8601) | .[0].tag_name' ${releasesJson})
|
||||||
|
|
||||||
|
shopt -s nocasematch
|
||||||
|
if [ "$prev_any_release" == "$TRAVIS_TAG" ]; then
|
||||||
|
prev_release=$(jq -e -r '. | map(select(.draft == false and .prerelease == false)) | sort_by(.created_at | - fromdateiso8601) | .[1].tag_name' ${releasesJson})
|
||||||
|
prev_any_release=$(jq -e -r '. | map(select(.draft == false)) | sort_by(.created_at | - fromdateiso8601) | .[1].tag_name' ${releasesJson})
|
||||||
|
prev_pre_release=$(jq -e -r '. | map(select(.draft == false and .prerelease == true)) | sort_by(.created_at | - fromdateiso8601) | .[1].tag_name' ${releasesJson})
|
||||||
|
fi
|
||||||
|
shopt -u nocasematch
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
rm -f "$releasesJson"
|
rm -f "$releasesJson"
|
||||||
|
|
||||||
echo " -- previous Release: $prev_release"
|
echo " previous Release: $prev_release"
|
||||||
echo " -- previous (?Pre-)release: $prev_any_release"
|
echo " previous (?Pre-)release: $prev_any_release"
|
||||||
echo " -- previous Pre-release: $prev_pre_release"
|
echo " previous Pre-release: $prev_pre_release"
|
||||||
|
|
||||||
# add generated items to JSON package-definition contents
|
# add generated items to JSON package-definition contents
|
||||||
jq_arg=".packages[0].platforms[0].version = \"$ver\" | \
|
jq_arg=".packages[0].platforms[0].version = \"$ver\" | \
|
||||||
|
@ -119,21 +119,24 @@ fi
|
|||||||
releaseNotes=$(perl -pe 's/\r?\n/\\n/' <<< ${releaseNotes})
|
releaseNotes=$(perl -pe 's/\r?\n/\\n/' <<< ${releaseNotes})
|
||||||
|
|
||||||
# Check possibly existing release for current tag
|
# Check possibly existing release for current tag
|
||||||
|
echo "Checking for possible releases of current tag $varTagName..."
|
||||||
# (eg build invoked by Create New Release GHUI button -> GH default release pack created immediatelly including default assests)
|
# (eg build invoked by Create New Release GHUI button -> GH default release pack created immediatelly including default assests)
|
||||||
HTTP_RESPONSE=$(curl -L --silent --write-out "HTTPSTATUS:%{http_code}" https://api.github.com/repos/$varRepoSlug/releases/tags/$varTagName)
|
HTTP_RESPONSE=$(curl -L --silent --write-out "HTTPSTATUS:%{http_code}" https://api.github.com/repos/$varRepoSlug/releases/tags/$varTagName?access_token=$varAccessToken)
|
||||||
HTTP_BODY=$(echo $HTTP_RESPONSE | sed -e 's/HTTPSTATUS\:.*//g')
|
HTTP_BODY=$(echo $HTTP_RESPONSE | sed -e 's/HTTPSTATUS\:.*//g')
|
||||||
HTTP_STATUS=$(echo $HTTP_RESPONSE | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
|
HTTP_STATUS=$(echo $HTTP_RESPONSE | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
|
||||||
|
|
||||||
|
echo " HTTP server response code: $HTTP_STATUS"
|
||||||
|
|
||||||
# if the release exists, append/update recent files to its assets vector
|
# if the release exists, append/update recent files to its assets vector
|
||||||
if [ $HTTP_STATUS -eq 200 ]; then
|
if [ $HTTP_STATUS -eq 200 ]; then
|
||||||
releaseId=$(echo $HTTP_BODY | jq -r '.id')
|
releaseId=$(echo $HTTP_BODY | jq -r '.id')
|
||||||
echo "GH release exists for current $varTagName tag (id $releaseId)"
|
echo " - $varTagName release found (id $releaseId)"
|
||||||
#... or create a new release record
|
#... or create a new release record
|
||||||
else
|
else
|
||||||
curlData="{\"tag_name\": \"$varTagName\",\"target_commitish\": \"master\",\"name\": \"v$varTagName\",\"body\": \"$releaseNotes\",\"draft\": false,\"prerelease\": $varPrerelease}"
|
curlData="{\"tag_name\": \"$varTagName\",\"target_commitish\": \"master\",\"name\": \"v$varTagName\",\"body\": \"$releaseNotes\",\"draft\": false,\"prerelease\": $varPrerelease}"
|
||||||
#echo "DEBUG: curl --data \"${curlData}\" https://api.github.com/repos/${varRepoSlug}/releases?access_token=$varAccessToken | jq -r '.id'"
|
#echo "DEBUG: curl --data \"${curlData}\" https://api.github.com/repos/${varRepoSlug}/releases?access_token=$varAccessToken | jq -r '.id'"
|
||||||
releaseId=$(curl --data "$curlData" https://api.github.com/repos/$varRepoSlug/releases?access_token=$varAccessToken | jq -r '.id')
|
releaseId=$(curl --data "$curlData" https://api.github.com/repos/$varRepoSlug/releases?access_token=$varAccessToken | jq -r '.id')
|
||||||
echo "New GH release created for $varTagName tag (id $releaseId)"
|
echo " - new release created for $varTagName (id $releaseId)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Assets defined by dir contents
|
# Assets defined by dir contents
|
||||||
|
Loading…
Reference in New Issue
Block a user