Radish alpha
r
rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5
Radicle web interface
Radicle
Git
radicle-explorer scripts update-flake
#!/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