#!/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") HTTPD_RELEASE=$(cat "$REPO_ROOT/tests/support/radicle-httpd-release") BINARY_PATH=$REPO_ROOT/tests/tmp/bin OS=$(uname) install() { if test -d "$BINARY_PATH/$1/$2"; then echo ✅ "Folder $BINARY_PATH/$1/$2 exists already skipping download." else mkdir -p "$BINARY_PATH/$1/$2" case "$OS" in Darwin) echo Downloading "$1" v"$2" from "https://files.radicle.xyz/releases$3/$2/radicle-aarch64-apple-darwin.tar.xz into /tests/tmp/bin/$1/$2" curl --fail -s "https://files.radicle.xyz/releases$3/$2/radicle-aarch64-apple-darwin.tar.xz" | tar -xJ --strip-components=2 -C "$BINARY_PATH/$1/$2" "radicle-$2-aarch64-apple-darwin/bin/" || (echo "Download failed" && exit 1) ;; Linux) echo Downloading "$1" v"$2" from "https://files.radicle.xyz/releases$3/$2/radicle-x86_64-unknown-linux-musl.tar.xz into /tests/tmp/bin/$1/$2" curl --fail -s "https://files.radicle.xyz/releases$3/$2/radicle-x86_64-unknown-linux-musl.tar.xz" | tar -xJ --strip-components=2 -C "$BINARY_PATH/$1/$2" "radicle-$2-x86_64-unknown-linux-musl/bin/" || (echo "Download failed" && exit 1) ;; *) echo "There are no precompiled binaries for your OS: $OS, compile $1 manually and make sure it's in PATH." && exit 1 ;; esac fi } show_usage() { echo echo "Installs binaries required for running e2e test suite." echo echo "USAGE:" echo " install-binaries [-h]" echo echo "OPTIONS:" echo " -h --help Print this Help." echo } while [ $# -ne 0 ]; do case "$1" in --help | -h) show_usage exit ;; esac done install "heartwood" "$RELEASE" "" install "httpd" "$HTTPD_RELEASE" "/radicle-httpd" echo