2021-03-20 17:28:40 +00:00
#!/usr/bin/env bash
getVersionFromLatestRelease( ) {
version = ` curl -s "https://api.github.com/repos/resoai/TileBoard/releases/latest" \
| grep "tag_name" \
| cut -d '"' -f 4 \
| sed -e "s/v//" `
echo " $version "
}
downloadLatestRelease( ) {
2021-04-21 21:39:23 +00:00
url = ` curl -s "https://api.github.com/repos/resoai/TileBoard/releases/latest" \
2021-03-20 17:28:40 +00:00
| grep "browser_download_url" \
| cut -d '"' -f 4`
2021-04-21 21:39:23 +00:00
echo " Url: $url "
2021-03-20 17:28:40 +00:00
2021-04-21 21:39:23 +00:00
curl -sL -o $1 ${ url }
2021-03-20 17:28:40 +00:00
}
2021-04-21 21:39:23 +00:00
getLatestPublishedTag( ) {
latest_tag = ` curl -s "https://hub.docker.com/v2/repositories/fbrinker/tileboard/tags?page_size=1" \
| jq -r ".results[0].name" `
2021-03-20 17:28:40 +00:00
2021-04-21 21:39:23 +00:00
echo " $latest_tag "
}
LATEST_RELEASE = ` getVersionFromLatestRelease`
LATEST_TAG = ` getLatestPublishedTag`
if [ " $LATEST_RELEASE " = " $LATEST_TAG " ] ; then
echo "Nothing to do. Versions already match."
echo " Release: $LATEST_RELEASE "
echo " Tag: $LATEST_TAG "
exit 78 # drone.io exit code to stop but success the pipeline
fi
exit 1;
SEMVER = ( ${ LATEST_RELEASE //./ } )
2021-03-20 17:28:40 +00:00
MAJOR = ${ SEMVER [0] }
MINOR = ${ SEMVER [0] } .${ SEMVER [1] }
2021-04-21 21:39:23 +00:00
PATCH = $LATEST_RELEASE
2021-03-20 17:28:40 +00:00
2021-03-20 17:41:30 +00:00
echo " latest, $MAJOR , $MINOR , $PATCH " > .tags
2021-03-20 17:28:40 +00:00
downloadLatestRelease "files.zip"
if [ ! -f "./files.zip" ] ; then
echo "Download ./files.zip does not exist"
exit 1
fi
unzip files.zip -d files
if [ ! -d "./files" ] ; then
echo "Directory ./files does not exist"
exit 1
fi
if [ ! -f "./files/index.html" ] ; then
echo "File ./files/index.html does not exist"
exit 1
2021-03-20 17:34:53 +00:00
fi