1409b9c37b
I've been running a script similar to this after doing Gerrit version bumps to make sure the schema is up to date, but in the spirit of making sure someone other that myself can do this task I'm formalising it into the depot, where I should've put it in the first place. Change-Id: I50a198e798e2ff26989b01e4bdd0571d85ab62aa Reviewed-on: https://cl.tvl.fyi/c/depot/+/2203 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
73 lines
1.4 KiB
Bash
Executable file
73 lines
1.4 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# This script dispatches invocations transparently to programs instantiated from
|
|
# Nix.
|
|
#
|
|
# To add a new tool, insert it into the case statement below by setting `attr`
|
|
# to the key in nixpkgs which represents the program you want to run.
|
|
set -ueo pipefail
|
|
|
|
readonly REPO_ROOT=$(dirname "$0")/..
|
|
TARGET_TOOL=$(basename "$0")
|
|
|
|
case "${TARGET_TOOL}" in
|
|
age)
|
|
attr="third_party.age"
|
|
;;
|
|
age-keygen)
|
|
attr="third_party.age"
|
|
;;
|
|
aoc2019)
|
|
attr="fun.aoc2019.${1}"
|
|
;;
|
|
depot-build)
|
|
attr="tools.depot-build"
|
|
;;
|
|
git-bug)
|
|
attr="third_party.git-bug"
|
|
;;
|
|
gerrit)
|
|
attr="tools.gerrit-cli"
|
|
;;
|
|
gerrit-update)
|
|
attr="tools.gerrit-update"
|
|
;;
|
|
hash-password)
|
|
attr="tools.hash-password"
|
|
;;
|
|
kontemplate)
|
|
attr="kontemplate"
|
|
;;
|
|
meson)
|
|
attr="third_party.meson"
|
|
;;
|
|
ninja)
|
|
attr="third_party.ninja"
|
|
;;
|
|
perf-flamegraph)
|
|
attr="tools.perf-flamegraph"
|
|
;;
|
|
rebuild-system)
|
|
attr="ops.nixos.rebuild-system"
|
|
;;
|
|
rebuilder)
|
|
attr="users.tazjin.nixos.rebuilder"
|
|
;;
|
|
rink)
|
|
attr="third_party.rink"
|
|
;;
|
|
stern)
|
|
attr="third_party.stern"
|
|
;;
|
|
terraform)
|
|
attr="third_party.terraform-gcp"
|
|
;;
|
|
*)
|
|
echo "The tool '${TARGET_TOOL}' is currently not installed in this repository."
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
result=$(nix-build --no-out-link --attr "${attr}" "${REPO_ROOT}")
|
|
PATH="${result}/bin:$PATH"
|
|
|
|
exec "${TARGET_TOOL}" "${@}"
|