mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
Merge pull request #1417 from erikwilson/tag-latest-release
Create a latest tag in docker hub for new releases
This commit is contained in:
commit
a0c5988e62
@ -7,10 +7,36 @@ fi
|
||||
|
||||
set -e -x
|
||||
|
||||
export REPO="rancher/k3s"
|
||||
export DRONE_TAG=$(echo "${DRONE_TAG}" | sed -e 's/+/-/g')
|
||||
export PLUGIN_TARGET="${REPO}:${DRONE_TAG}"
|
||||
export PLUGIN_TEMPLATE="${REPO}:${DRONE_TAG}-ARCH"
|
||||
REPO="rancher/k3s"
|
||||
|
||||
# docker can not contain '+' in the tag, so transform '+' to '-'
|
||||
DOCKER_TAG=$(echo "${DRONE_TAG}" | sed -e 's/+/-/g')
|
||||
|
||||
# export variables for drone-manifest
|
||||
export PLUGIN_TEMPLATE="${REPO}:${DOCKER_TAG}-ARCH"
|
||||
export PLUGIN_PLATFORMS="linux/amd64,linux/arm64,linux/arm"
|
||||
|
||||
drone-manifest
|
||||
# push current version manifest tag to docker hub
|
||||
PLUGIN_TARGET="${REPO}:${DOCKER_TAG}" drone-manifest
|
||||
|
||||
# do not tag in docker as latest if the github tag contains a '-'
|
||||
if echo "${DRONE_TAG}" | grep -q '-'; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# get latest released version from github
|
||||
GITHUB_URL=https://github.com/rancher/k3s/releases
|
||||
VERSION_K3S=$(curl -w '%{url_effective}' -I -L -s -S ${GITHUB_URL}/latest -o /dev/null | sed -e 's|.*/||')
|
||||
|
||||
# function for comparing versions
|
||||
version_ge() {
|
||||
[ "$1" = "$2" ] || [ "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1" ]
|
||||
}
|
||||
|
||||
# do not tag in docker as latest if we are not greater than or equal to the latest github tag
|
||||
if ! version_ge "${DRONE_TAG}" "${VERSION_K3S}"; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# push latest manifest tag to docker hub
|
||||
PLUGIN_TARGET="${REPO}:latest" drone-manifest
|
||||
|
Loading…
Reference in New Issue
Block a user