Add published version/tag check to skip docker builds
ステータスチェックはすべて成功しました
continuous-integration/drone Build is passing

このコミットが含まれているのは:
Florian Brinker 2021-04-21 23:39:23 +02:00
コミット 2c4c532dff
2個のファイルの変更24行の追加9行の削除

ファイルの表示

@ -7,11 +7,11 @@ 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
- name: docker
- name: docker
image: plugins/docker
settings:
repo: fbrinker/tileboard
@ -19,7 +19,7 @@ steps:
from_secret: docker_username
password:
from_secret: docker_password
trigger:
branch:
- master

27
build.sh ノーマルファイル → 実行可能ファイル
ファイルの表示

@ -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