k3s/scripts/version.sh

46 lines
1.2 KiB
Bash
Raw Normal View History

2019-01-01 08:23:01 +00:00
#!/bin/bash
2019-12-17 19:21:47 +00:00
TREE_STATE=clean
2019-01-01 08:23:01 +00:00
if [ -n "$(git status --porcelain --untracked-files=no)" ]; then
DIRTY="-dirty"
2019-12-17 19:21:47 +00:00
TREE_STATE=dirty
2019-01-01 08:23:01 +00:00
fi
2019-12-23 19:07:34 +00:00
COMMIT=$(git log -n3 --pretty=format:"%H %ae" | grep -v ' drone@localhost$' | cut -f1 -d\ | head -1)
if [ -z "${COMMIT}" ]; then
COMMIT=$(git rev-parse HEAD)
fi
2019-12-17 19:21:47 +00:00
2019-01-01 08:23:01 +00:00
GIT_TAG=${DRONE_TAG:-$(git tag -l --contains HEAD | head -n 1)}
2019-01-09 16:54:15 +00:00
ARCH=$(go env GOARCH)
SUFFIX="-${ARCH}"
2019-11-12 23:36:04 +00:00
VERSION_CONTAINERD=$(grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}')
if [ -z "$VERSION_CONTAINERD" ]; then
VERSION_CONTAINERD="v0.0.0"
fi
2019-12-12 01:28:40 +00:00
VERSION_CRICTL=$(grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}')
if [ -z "$VERSION_CRICTL" ]; then
VERSION_CRICTL="v0.0.0"
fi
VERSION_K8S=$(grep k8s.io/kubernetes go.mod | head -n1 | awk '{print $4}' | sed -e 's/[-+].*//')
2019-12-12 01:28:40 +00:00
if [ -z "$VERSION_K8S" ]; then
VERSION_K8S="v0.0.0"
fi
VERSION_CNIPLUGINS="v0.7.6-k3s1"
2019-12-12 01:28:40 +00:00
if [[ -n "$GIT_TAG" ]]; then
if [[ ! "$GIT_TAG" =~ ^"$VERSION_K8S"[+-] ]]; then
echo "Tagged version '$GIT_TAG' does not match expected version '$VERSION_K8S[+-]*'" >&2
exit 1
fi
2019-12-12 01:28:40 +00:00
VERSION=$GIT_TAG
else
VERSION="$VERSION_K8S+k3s-${COMMIT:0:8}$DIRTY"
2019-12-12 01:28:40 +00:00
fi
2019-12-18 06:29:05 +00:00
VERSION_TAG="$(sed -e 's/+/-/g' <<< "$VERSION")"