Add published version/tag check to skip docker builds
All checks were successful
continuous-integration/drone Build is passing
All checks were successful
continuous-integration/drone Build is passing
This commit is contained in:
parent
aacbc5025f
commit
2c4c532dff
@ -7,7 +7,7 @@ steps:
|
||||
- name: build
|
||||
image: alpine
|
||||
commands:
|
||||
- apk update && apk add bash grep sed curl unzip
|
||||
- apk update && apk add bash grep sed curl unzip jq
|
||||
- chmod +x ./build.sh
|
||||
- ./build.sh
|
||||
|
||||
|
27
build.sh
Normal file → Executable file
27
build.sh
Normal file → Executable file
@ -10,20 +10,35 @@ getVersionFromLatestRelease() {
|
||||
}
|
||||
|
||||
downloadLatestRelease() {
|
||||
URL=`curl -s "https://api.github.com/repos/resoai/TileBoard/releases/latest" \
|
||||
url=`curl -s "https://api.github.com/repos/resoai/TileBoard/releases/latest" \
|
||||
| grep "browser_download_url" \
|
||||
| cut -d '"' -f 4`
|
||||
echo "Url: $URL"
|
||||
echo "Url: $url"
|
||||
|
||||
curl -sL -o $1 ${URL}
|
||||
curl -sL -o $1 ${url}
|
||||
}
|
||||
|
||||
LATEST=`getVersionFromLatestRelease`
|
||||
SEMVER=( ${LATEST//./ } )
|
||||
getLatestPublishedTag() {
|
||||
latest_tag=`curl -s "https://hub.docker.com/v2/repositories/fbrinker/tileboard/tags?page_size=1" \
|
||||
| jq -r ".results[0].name"`
|
||||
|
||||
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
|
||||
|
||||
SEMVER=( ${LATEST_RELEASE//./ } )
|
||||
MAJOR=${SEMVER[0]}
|
||||
MINOR=${SEMVER[0]}.${SEMVER[1]}
|
||||
PATCH=$LATEST
|
||||
PATCH=$LATEST_RELEASE
|
||||
|
||||
echo "latest,$MAJOR,$MINOR,$PATCH" > .tags
|
||||
|
||||
|
Reference in New Issue
Block a user