Add published version/tag check to skip docker builds
All checks were successful
continuous-integration/drone Build is passing

This commit is contained in:
Florian Brinker 2021-04-21 23:39:23 +02:00
parent aacbc5025f
commit 2c4c532dff
2 changed files with 24 additions and 9 deletions

View File

@ -7,11 +7,11 @@ steps:
- name: build - name: build
image: alpine image: alpine
commands: commands:
- apk update && apk add bash grep sed curl unzip - apk update && apk add bash grep sed curl unzip jq
- chmod +x ./build.sh - chmod +x ./build.sh
- ./build.sh - ./build.sh
- name: docker - name: docker
image: plugins/docker image: plugins/docker
settings: settings:
repo: fbrinker/tileboard repo: fbrinker/tileboard
@ -19,7 +19,7 @@ steps:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
trigger: trigger:
branch: branch:
- master - master

27
build.sh Normal file → Executable file
View File

@ -10,20 +10,35 @@ getVersionFromLatestRelease() {
} }
downloadLatestRelease() { 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" \ | grep "browser_download_url" \
| cut -d '"' -f 4` | cut -d '"' -f 4`
echo "Url: $URL" echo "Url: $url"
curl -sL -o $1 ${URL} curl -sL -o $1 ${url}
} }
LATEST=`getVersionFromLatestRelease` getLatestPublishedTag() {
SEMVER=( ${LATEST//./ } ) 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]} MAJOR=${SEMVER[0]}
MINOR=${SEMVER[0]}.${SEMVER[1]} MINOR=${SEMVER[0]}.${SEMVER[1]}
PATCH=$LATEST PATCH=$LATEST_RELEASE
echo "latest,$MAJOR,$MINOR,$PATCH" > .tags echo "latest,$MAJOR,$MINOR,$PATCH" > .tags