#!/usr/bin/env bash # # Install all dependencies required to build, run, and test Warp on Linux. set -e # Define some control sequences for text formatting. red="\033[0;31m" reset="\033[0m" # Install runtime dependencies. "$PWD"/script/linux/install_runtime_deps # Install additional testing dependencies. UNAME="$(uname -a)" if [[ "$(source /etc/os-release; echo $ID $ID_LIKE)" = *"debian"* ]]; then echo "⬇️ Installing test dependencies..." # Define the packages to install as a bash array so we can include # comments between lines. PACKAGES=( # Install the zsh and fish shells. zsh fish # We run vim in some integration tests to test the altscreen. vim ) sudo apt-get install -y "${PACKAGES[@]}" # If gcloud is not already installed, install it so that we can run SSH integration tests. if [[ ! -x "$(command -v gcloud)" ]]; then echo "⬇️ Installing the gcloud CLI..." echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee /etc/apt/sources.list.d/google-cloud-sdk.list curl -f https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - sudo apt-get update -y sudo apt-get install google-cloud-cli -y fi else echo -e "⚠️ ${red}Unknown Linux distribution; necessary test dependencies may not be installed!${reset}" fi # Install various testing dependencies through cargo. "$PWD"/script/install_cargo_test_deps