mirror of
https://seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git
synced 2026-10-24 22:30:35 +08:00
60 lines
2.1 KiB
Bash
Executable File
60 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || echo "$PWD")
|
|
RELEASE=$(cat "$REPO_ROOT/tests/support/heartwood-release")
|
|
BINARY_PATH=$REPO_ROOT/tests/tmp/bin/$RELEASE
|
|
OS=$(uname)
|
|
|
|
show_usage() {
|
|
echo
|
|
echo "Installs binaries required for running e2e test suite."
|
|
echo
|
|
echo "USAGE:"
|
|
echo " install-binaries [-s|h]"
|
|
echo
|
|
echo "OPTIONS:"
|
|
echo " -s --show-path Print the binary path, and skip installation."
|
|
echo " -h --help Print this Help."
|
|
echo
|
|
}
|
|
|
|
while [ $# -ne 0 ]; do
|
|
case "$1" in
|
|
--show-path | -s)
|
|
echo "$BINARY_PATH"
|
|
exit
|
|
;;
|
|
--help | -h)
|
|
show_usage
|
|
exit
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if test -d "$BINARY_PATH"; then
|
|
echo ✅ "Folder $BINARY_PATH exists already skipping download and build."
|
|
else
|
|
mkdir -p "$BINARY_PATH"
|
|
case "$OS" in
|
|
Darwin)
|
|
echo Downloading "$RELEASE" from "https://files.radicle.xyz/releases/$RELEASE/radicle-aarch64-apple-darwin.tar.xz into /tests/tmp/bin/$RELEASE"
|
|
curl --fail -s "https://files.radicle.xyz/releases/$RELEASE/radicle-aarch64-apple-darwin.tar.xz" | tar -xJ --strip-components=2 -C "$BINARY_PATH" "radicle-$RELEASE-aarch64-apple-darwin/bin/" || (echo "Download failed" && exit 1)
|
|
;;
|
|
Linux)
|
|
echo Downloading "$RELEASE" from "https://files.radicle.xyz/releases/$RELEASE/radicle-x86_64-unknown-linux-musl.tar.xz into /tests/tmp/bin/$RELEASE"
|
|
curl --fail -s "https://files.radicle.xyz/releases/$RELEASE/radicle-x86_64-unknown-linux-musl.tar.xz" | tar -xJ --strip-components=2 -C "$BINARY_PATH" "radicle-$RELEASE-x86_64-unknown-linux-musl/bin/" || (echo "Download failed" && exit 1)
|
|
;;
|
|
*)
|
|
echo "There are no precompiled binaries for your OS: $OS, compile $RELEASE manually and make sure it's in PATH." && exit 1
|
|
;;
|
|
esac
|
|
|
|
echo Building radicle-httpd
|
|
CARGO_TERM_PROGRESS_WIDTH=80 CARGO_TERM_PROGRESS_WHEN=always cargo build --release --all --quiet --manifest-path=$REPO_ROOT/radicle-httpd/Cargo.toml
|
|
echo Copying radicle-httpd into /tests/tmp/bin/$RELEASE
|
|
cp $REPO_ROOT/radicle-httpd/target/release/radicle-httpd $BINARY_PATH
|
|
fi
|
|
|
|
echo
|