#!/bin/bash # the goal of this script is to ensure basic core functionality is working # before we make new releases. we try to make a balance between manual testing # and automated testing, i.e. we don't invest too much time in a fragile # automation that costs us more time to maintain and instead just do the test # manually (see `../manual/manual.md` for more). it is a balance which we # figure out together. set -ex ABRA="$HOME/.local/bin/abra -d" INSTALLER_URL="https://install.abra.coopcloud.tech" for arg in "$@"; do if [ "$arg" == "--dev" ]; then ABRA="/src/abra -d" INSTALLER_URL="https://git.coopcloud.tech/coop-cloud/abra/raw/branch/main/scripts/installer/installer" fi done export PATH=$PATH:$HOME/.local/bin # ======================================================================== # choosing abra executable for test run # ======================================================================== echo "choosing $ABRA as abra executable" echo "choosing $INSTALLER_URL as abra installer url" # ======================================================================== # latest stable release # ======================================================================== wget -O- https://install.abra.autonomic.zone | bash ~/.local/bin/abra -v # ======================================================================== # latest rc release # ======================================================================== wget -O- https://install.abra.autonomic.zone | bash -s -- --rc ~/.local/bin/abra -v # ======================================================================== # upgrade to stable in-place # ======================================================================== $ABRA upgrade ~/.local/bin/abra -v # ======================================================================== # upgrade to rc in-place # ======================================================================== $ABRA upgrade --rc ~/.local/bin/abra -v # ======================================================================== # autocomplete # ======================================================================== $ABRA autocomplete bash $ABRA autocomplete fizsh $ABRA autocomplete zsh # ======================================================================== # record command # ======================================================================== $ABRA record new -p gandi -t A -n int-core -v 192.157.2.21 coopcloud.tech $ABRA record list -p gandi coopcloud.tech | grep -q int-core $ABRA -n record rm -p gandi -t A -n int-core coopcloud.tech # ======================================================================== # catalogue command # ======================================================================== $ABRA catalogue generate $ABRA catalogue generate -s gitea # ======================================================================== # recipe command # ======================================================================== $ABRA recipe new testrecipe $ABRA recipe list $ABRA recipe list -p cloud $ABRA recipe versions peertube $ABRA recipe lint gitea # ======================================================================== # server command # ======================================================================== $ABRA -n server new -p hetzner-cloud --hn int-core $ABRA server ls | grep -q int-core $ABRA -n server rm -s -p hetzner-cloud --hn int-core # ======================================================================== # app command # ======================================================================== $ABRA app ls $ABRA app ls -S