lnd/scripts/bw-compatibility-test/compose.sh
Elle Mouton f0d4ea10a2
scripts/bw-compatibility-test: add backwards compat test
In this commit, a new backwards compatibility test is added. See the
added README.md file in this commit for all the info.
2025-02-27 11:33:15 +02:00

61 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
# DIR is set to the directory of this script.
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# The way we call docker-compose depends on the installation.
if which docker-compose > /dev/null; then
COMPOSE_CMD="docker-compose"
else
COMPOSE_CMD="docker compose"
fi
# Common arguments that we want to pass to docker-compose.
# By default, this only includes the main docker-compose file
# and not the override file. Use the `compose_upgrade` method
# to load both docker compose files.
COMPOSE_ARGS="-f $DIR/docker-compose.yaml -p regtest"
COMPOSE="$COMPOSE_CMD $COMPOSE_ARGS"
# compose_upgrade sets COMPOSE_ARGS and COMPOSE such that
# both the main docker-compose file and the override file
# are loaded.
function compose_upgrade() {
export COMPOSE_ARGS="-p regtest"
export COMPOSE="$COMPOSE_CMD $COMPOSE_ARGS"
}
# compose_up starts the docker-compose cluster.
function compose_up() {
echo "🐳 Starting the cluster"
$COMPOSE up -d --quiet-pull
}
# compose_down tears down the docker-compose cluster
# and removes all volumes and orphans.
function compose_down() {
echo "🐳 Tearing down the cluster"
$COMPOSE down --volumes --remove-orphans
}
# compose_stop stops a specific service in the cluster.
function compose_stop() {
local service="$1"
echo "🐳 Stopping $service"
$COMPOSE stop "$service"
}
# compose_start starts a specific service in the cluster.
function compose_start() {
local service="$1"
echo "🐳 Starting $service"
$COMPOSE up -d $service
}
# compose_rebuild forces the rebuild of the image for a
# specific service in the cluster.
function compose_rebuild() {
local service="$1"
echo "🐳 Rebuilding $service"
$COMPOSE build --no-cache $service
}