mirror of
https://seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git
synced 2026-10-21 12:50:29 +08:00
Until canonical tags are available, release tags are served via cloudhead's NID.
76 lines
1.9 KiB
Bash
Executable File
76 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
usage() {
|
|
printf \
|
|
'Update flake and heartwood-release to the requested heartwood version.
|
|
When called without arguments, reads RELEASE from tests/support/hearwood-release.
|
|
|
|
USAGE:
|
|
update-flake [-h] [PATH|TAG]
|
|
|
|
OPTIONS:
|
|
RELEASE\t\tUpdate heartwood version to TAG.
|
|
-h --help\tPrint this help.\n'
|
|
}
|
|
|
|
while [ $# -ne 0 ]; do
|
|
case $1 in
|
|
--help | -h)
|
|
usage >&2
|
|
exit
|
|
;;
|
|
*)
|
|
release=$1
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# Heartwood repo id
|
|
rid=z3gqcJUoA1n9HaHKufZs5FCSGazv5
|
|
|
|
# Some root detection guess work...
|
|
root=$(git rev-parse --show-toplevel 2>/dev/null || echo "$PWD")
|
|
if [ ! -e "$root/tests/support/heartwood-release" ]; then
|
|
root=$(
|
|
cd ..
|
|
pwd
|
|
)
|
|
fi
|
|
|
|
if [ -z "$release" ]; then
|
|
# No release given, take from heartwood-release
|
|
if [ -e "$root/tests/support/heartwood-release" ]; then
|
|
release=$(cat "$root/tests/support/heartwood-release")
|
|
[ -n "$release" ] || {
|
|
printf "Error reading heartwood-release\n" >&2
|
|
exit 1
|
|
}
|
|
fi
|
|
else
|
|
printf '%s\n' "$release" >$root/tests/support/heartwood-release
|
|
fi
|
|
|
|
if [ -e "$root/flake.nix" ]; then
|
|
query="ref=refs/namespaces/z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT/refs/tags/v$release";
|
|
|
|
sed -E -e '/url.*git\+https.*'"$rid"'/s|\?.*";|?'"$query"'";|' "$root/flake.nix" >$root/flake.nix.tmp
|
|
mv "$root/flake.nix.tmp" "$root/flake.nix"
|
|
|
|
# If running on a nix-enabled system, also update npmDepsHash.
|
|
if type nix >/dev/null 2>&1; then
|
|
npmDepsHash=$(nix --experimental-features 'nix-command flakes' \
|
|
run --inputs-from "$root" nixpkgs#prefetch-npm-deps \
|
|
-- "$root/package-lock.json")
|
|
sed -E -e '/npmDepsHash/s#".*"#"'"$npmDepsHash"'"#' "$root/flake.nix" >$root/flake.nix.tmp
|
|
mv "$root/flake.nix.tmp" "$root/flake.nix"
|
|
|
|
nix --experimental-features 'nix-command flakes' flake update --flake git+file://"$root"
|
|
else
|
|
printf >&2 'Node dependencies may be out of date!
|
|
Re-run on a nix-enabled system to update npmDepsHash.\n'
|
|
fi
|
|
fi
|