2021-10-01 01:40:47 +01:00
|
|
|
#!/usr/bin/env nix-shell
|
|
|
|
#!nix-shell -i bash -p curl gnugrep gnused jq
|
|
|
|
|
2021-10-14 19:06:00 +01:00
|
|
|
set -x -eu -o pipefail
|
2021-10-01 01:40:47 +01:00
|
|
|
|
|
|
|
cd $(dirname "$0")
|
|
|
|
|
|
|
|
TAG=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} \
|
|
|
|
--silent https://api.github.com/repos/linkerd/linkerd2/releases/latest | \
|
|
|
|
jq -r '.tag_name')
|
|
|
|
|
|
|
|
VERSION=$(echo ${TAG} | sed 's/^stable-//')
|
|
|
|
|
|
|
|
SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linkerd/linkerd2/archive/refs/tags/${TAG}.tar.gz)
|
|
|
|
|
|
|
|
setKV () {
|
2021-10-14 19:06:00 +01:00
|
|
|
sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix
|
2021-10-01 01:40:47 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
setKV version ${VERSION}
|
|
|
|
setKV sha256 ${SHA256}
|
|
|
|
setKV vendorSha256 "" # Necessary to force clean build.
|
|
|
|
|
|
|
|
cd ../../../../../
|
|
|
|
set +e
|
|
|
|
VENDOR_SHA256=$(nix-build --no-out-link -A linkerd 2>&1 | grep "got:" | cut -d':' -f2 | sed 's| ||g')
|
|
|
|
set -e
|
2021-10-14 19:06:00 +01:00
|
|
|
cd - > /dev/null
|
2021-10-01 01:40:47 +01:00
|
|
|
|
|
|
|
if [ -n "${VENDOR_SHA256:-}" ]; then
|
2021-10-14 19:06:00 +01:00
|
|
|
setKV vendorSha256 ${VENDOR_SHA256}
|
2021-10-01 01:40:47 +01:00
|
|
|
else
|
2021-10-14 19:06:00 +01:00
|
|
|
echo "Update failed. VENDOR_SHA256 is empty."
|
|
|
|
exit 1
|
2021-10-01 01:40:47 +01:00
|
|
|
fi
|