hscloud/env.fish
Serge Bazanski 0f8e5a2132 *: do not require env.sh
This removes the need to source env.{sh,fish} when working with hscloud.

This is done by:

 1. Implementing a Go library to reliably detect the location of the
    active hscloud checkout. That in turn is enabled by
    BUILD_WORKSPACE_DIRECTORY being now a thing in Bazel.
 2. Creating a tool `hscloud`, with a command `hscloud workspace` that
    returns the workspace path.
 3. Wrapping this tool to be accessible from Python and Bash.
 4. Bumping all users of hscloud_root to use either the Go library or
    one of the two implemented wrappers.

We also drive-by replace tools/install.sh to be a proper sh_binary, and
make it yell at people if it isn't being ran as `bazel run
//tools:install`.

Finally, we also drive-by delete cluster/tools/nixops.sh which was never used.

Change-Id: I7873714319bfc38bbb930b05baa605c5aa36470a
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1169
Reviewed-by: informatic <informatic@hackerspace.pl>
2021-10-17 21:21:58 +00:00

18 lines
512 B
Fish

set -x hscloud_root (dirname (realpath (status -f)))
if test ! -e "$hscloud_root/WORKSPACE"
echo "Could not find WORKSPACE"
exit 1
end
set hscloud_path $hscloud_root/bazel-bin/tools $hscloud_root/bazel-bin/cluster/tools
if not string match -q $hscloud_path $PATH
echo "OwO"
set -x PATH $hscloud_path $PATH
end
# Leftover junk. This should be removed, as env.fish is now optional.
# Do _not_ add more aliases!
function gpg-unlock
echo "test" | gpg2 --sign --batch --no-tty -o /dev/null
end