github.com/trezor/blockbook@v0.4.1-0.20240328132726-e9a08582ee2c/contrib/scripts/backend-deploy-and-test.sh (about)

     1  #!/usr/bin/env bash
     2  
     3  if [ $# -ne 1 ] && [ $# -ne 4 ]
     4  then
     5      echo -e "Usage:\n\n$(basename $(readlink -f $0)) coin service_name coin_test backend_log_file\n\nor\n\n$(basename $(readlink -f $0)) coin\nin which case service_name, coin_test and backend_log_file are derived from coin or default" 1>&2
     6      exit 1
     7  fi
     8  
     9  COIN=$1
    10  SERVICE=$2
    11  COIN_TEST=$3
    12  LOGFILE=$4
    13  
    14  [ -z "${BACKEND_TIMEOUT}" ] && BACKEND_TIMEOUT=15s
    15  [ -z "${SERVICE}" ] && SERVICE="${COIN}"
    16  [ -z "${COIN_TEST}" ] && COIN_TEST="${COIN}=main"
    17  [ -z "${LOGFILE}" ] && LOGFILE=debug.log
    18  
    19  echo "Running: $(basename $(readlink -f $0)) ${COIN} ${SERVICE} ${COIN_TEST} ${LOGFILE}"
    20  
    21  rm build/*.deb
    22  make "deb-backend-${COIN}"
    23  
    24  PACKAGE=$(ls ./build/backend-${SERVICE}*.deb)
    25  [ -z "${PACKAGE}" ] && echo "Package not found" && exit 1
    26  
    27  sudo /usr/bin/dpkg -i "${PACKAGE}" || exit 1
    28  sudo /bin/systemctl restart "backend-${SERVICE}" || exit 1
    29  
    30  echo "Waiting for backend startup for ${BACKEND_TIMEOUT}"
    31  sudo -u bitcoin /usr/bin/timeout ${BACKEND_TIMEOUT} /usr/bin/tail -f "/opt/coins/data/${COIN}/backend/${LOGFILE}"
    32  
    33  make test-integration ARGS="-v -run=TestIntegration/${COIN_TEST}"