Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 33 lines 1.0 kB view raw
1#!/usr/bin/env nix-shell 2#!nix-shell -i bash -p curl gnugrep gnused jq 3 4set -x -eu -o pipefail 5 6cd $(dirname "$0") 7 8VERSION=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} \ 9 --silent https://api.github.com/repos/linkerd/linkerd2/releases | \ 10 jq 'map(.tag_name)' | grep -v -e '-rc' | grep stable | sed 's/["|,| ]//g' | sed 's/stable-//' | sort -V -r | head -n1) 11 12SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linkerd/linkerd2/archive/refs/tags/stable-${VERSION}.tar.gz) 13 14setKV () { 15 sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix 16} 17 18setKV version ${VERSION} 19setKV sha256 ${SHA256} 20setKV vendorHash "sha256-BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=" # Necessary to force clean build. 21 22cd ../../../../../ 23set +e 24VENDOR_HASH=$(nix-build --no-out-link -A linkerd 2>&1 >/dev/null | grep "got:" | cut -d':' -f2 | sed 's| ||g') 25set -e 26cd - > /dev/null 27 28if [ -n "${VENDOR_HASH:-}" ]; then 29 setKV vendorHash ${VENDOR_HASH} 30else 31 echo "Update failed. VENDOR_HASH is empty." 32 exit 1 33fi