2019-01-01 08:23:01 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2020-03-25 19:35:07 +00:00
|
|
|
GO=${GO-go}
|
|
|
|
ARCH=${ARCH:-$("${GO}" env GOARCH)}
|
2023-10-16 18:53:09 +00:00
|
|
|
OS=${OS:-$("${GO}" env GOOS)}
|
2020-03-06 17:48:20 +00:00
|
|
|
SUFFIX="-${ARCH}"
|
|
|
|
GIT_TAG=$DRONE_TAG
|
2019-12-17 19:21:47 +00:00
|
|
|
TREE_STATE=clean
|
2020-03-10 18:48:14 +00:00
|
|
|
COMMIT=$DRONE_COMMIT
|
2019-01-01 08:23:01 +00:00
|
|
|
|
2020-03-06 17:48:20 +00:00
|
|
|
if [ -d .git ]; then
|
|
|
|
if [ -z "$GIT_TAG" ]; then
|
|
|
|
GIT_TAG=$(git tag -l --contains HEAD | head -n 1)
|
|
|
|
fi
|
|
|
|
if [ -n "$(git status --porcelain --untracked-files=no)" ]; then
|
|
|
|
DIRTY="-dirty"
|
|
|
|
TREE_STATE=dirty
|
|
|
|
fi
|
2019-01-01 08:23:01 +00:00
|
|
|
|
2020-03-06 17:48:20 +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 || true)
|
|
|
|
fi
|
|
|
|
fi
|
2019-07-10 03:54:13 +00:00
|
|
|
|
2023-08-04 17:38:52 +00:00
|
|
|
get-module-version(){
|
|
|
|
go list -m -f '{{if .Replace}}{{.Replace.Version}}{{else}}{{.Version}}{{end}}' $1
|
|
|
|
}
|
|
|
|
|
2023-09-19 13:18:47 +00:00
|
|
|
get-module-path(){
|
|
|
|
go list -m -f '{{if .Replace}}{{.Replace.Path}}{{else}}{{.Path}}{{end}}' $1
|
|
|
|
}
|
|
|
|
|
|
|
|
PKG_CONTAINERD_K3S=$(get-module-path github.com/containerd/containerd)
|
2023-08-04 17:38:52 +00:00
|
|
|
VERSION_CONTAINERD=$(get-module-version github.com/containerd/containerd)
|
2023-04-28 16:37:32 +00:00
|
|
|
if [ -z "$VERSION_CONTAINERD" ]; then
|
|
|
|
VERSION_CONTAINERD="v0.0.0"
|
|
|
|
fi
|
2019-09-20 01:46:26 +00:00
|
|
|
|
2024-08-15 21:55:41 +00:00
|
|
|
VERSION_CRICTL=$(get-module-version sigs.k8s.io/cri-tools)
|
2019-09-20 01:46:26 +00:00
|
|
|
if [ -z "$VERSION_CRICTL" ]; then
|
|
|
|
VERSION_CRICTL="v0.0.0"
|
|
|
|
fi
|
2019-10-02 22:55:04 +00:00
|
|
|
|
2023-08-04 17:38:52 +00:00
|
|
|
VERSION_K8S_K3S=$(get-module-version k8s.io/kubernetes)
|
2024-08-21 22:28:12 +00:00
|
|
|
VERSION_K8S=${VERSION_K8S_K3S%-k3s*}
|
2019-12-12 01:28:40 +00:00
|
|
|
if [ -z "$VERSION_K8S" ]; then
|
|
|
|
VERSION_K8S="v0.0.0"
|
|
|
|
fi
|
|
|
|
|
2023-08-04 17:38:52 +00:00
|
|
|
VERSION_RUNC=$(get-module-version github.com/opencontainers/runc)
|
2021-12-16 00:14:27 +00:00
|
|
|
if [ -z "$VERSION_RUNC" ]; then
|
|
|
|
VERSION_RUNC="v0.0.0"
|
|
|
|
fi
|
|
|
|
|
2023-10-16 18:53:09 +00:00
|
|
|
VERSION_HCSSHIM=$(get-module-version github.com/Microsoft/hcsshim)
|
|
|
|
if [ -z "$VERSION_HCSSHIM" ]; then
|
|
|
|
VERSION_HCSSHIM="v0.0.0"
|
|
|
|
fi
|
|
|
|
|
2023-08-04 17:38:52 +00:00
|
|
|
VERSION_FLANNEL=$(get-module-version github.com/flannel-io/flannel)
|
2022-04-19 21:48:04 +00:00
|
|
|
if [ -z "$VERSION_FLANNEL" ]; then
|
|
|
|
VERSION_FLANNEL="v0.0.0"
|
|
|
|
fi
|
|
|
|
|
2023-08-04 17:38:52 +00:00
|
|
|
VERSION_CRI_DOCKERD=$(get-module-version github.com/Mirantis/cri-dockerd)
|
2023-01-21 01:31:16 +00:00
|
|
|
if [ -z "$VERSION_CRI_DOCKERD" ]; then
|
|
|
|
VERSION_CRI_DOCKERD="v0.0.0"
|
|
|
|
fi
|
|
|
|
|
2024-10-28 16:30:12 +00:00
|
|
|
VERSION_CNIPLUGINS="v1.6.0-k3s1"
|
|
|
|
VERSION_FLANNEL_PLUGIN="v1.6.0-flannel1"
|
2019-12-12 01:28:40 +00:00
|
|
|
|
2023-08-04 17:38:52 +00:00
|
|
|
VERSION_KUBE_ROUTER=$(get-module-version github.com/cloudnativelabs/kube-router/v2)
|
2022-11-02 14:29:50 +00:00
|
|
|
if [ -z "$VERSION_KUBE_ROUTER" ]; then
|
|
|
|
VERSION_KUBE_ROUTER="v0.0.0"
|
|
|
|
fi
|
|
|
|
|
2024-11-11 18:16:22 +00:00
|
|
|
VERSION_ROOT="v0.14.1"
|
2021-12-16 00:14:27 +00:00
|
|
|
|
2023-12-14 00:44:58 +00:00
|
|
|
DEPENDENCIES_URL="https://raw.githubusercontent.com/kubernetes/kubernetes/${VERSION_K8S}/build/dependencies.yaml"
|
|
|
|
VERSION_GOLANG="go"$(curl -sL "${DEPENDENCIES_URL}" | yq e '.dependencies[] | select(.name == "golang: upstream version").version' -)
|
|
|
|
|
2019-12-12 01:28:40 +00:00
|
|
|
if [[ -n "$GIT_TAG" ]]; then
|
2020-01-24 17:42:34 +00:00
|
|
|
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
|
2020-02-24 21:50:03 +00:00
|
|
|
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")"
|
2023-10-16 18:53:09 +00:00
|
|
|
|
|
|
|
BINARY_POSTFIX=
|
|
|
|
if [ ${OS} = windows ]; then
|
|
|
|
BINARY_POSTFIX=.exe
|
2023-12-14 00:44:58 +00:00
|
|
|
fi
|