cic-stack/apps/contract-migration/run_job.sh

68 lines
1.6 KiB
Bash

#! /bin/bash
. ./util.sh
set -a
DEV_DEBUG_FLAG=""
DEV_DEBUG_LEVEL=${DEV_DEBUG_LEVEL:-0}
if [ "$DEV_DEBUG_LEVEL" -eq 1 ]; then
DEV_DEBUG_FLAG="-v"
elif [ "$DEV_DEBUG_LEVEL" -gt 1 ]; then
DEV_DEBUG_FLAG="-vv"
fi
DEV_WAIT_FLAG=""
if [ ! -z "$DEV_TX_WAIT" ]; then
DEV_WAIT_FLAG="-w"
fi
# disable override of config schema directory
unset CONFINI_DIR
set +a
LAST_BIT_POS=5
files=(deploy_contract_root deploy_contract_instance deploy_token init_custodial data_seeding)
description=("global contracts" "instance specific contracts" "token deployment" "initialize custodial engine" "data seeding for development")
>&2 echo -e "\033[;96mRUNNING configurations\033[;39m"
source ./config.sh
if [ $? -ne "0" ]; then
>&2 echo -e "\033[;31mFAILED configurations\033[;39m"
exit 1;
fi
>&2 echo -e "\033[;32mSUCCEEDED configurations\033[;39m"
>&2 echo -e "\033[;96mInitial configuration state\033[;39m"
confini-dump --schema-dir ./config
clear_pending_tx_hashes
RUN_MASK_HIGHEST=0
for ((i=$LAST_BIT_POS; i>0; i--)); do
b=$((2**$((i-1))))
if [ $((b & $RUN_MASK)) -gt 0 ]; then
RUN_MASK_HIGHEST=$i
break
fi
done
bit=1
for ((i=0; i<$LAST_BIT_POS; i++)); do
runlevel="RUNLEVEL $bit"
if [[ $((RUN_MASK & $bit)) -eq ${bit} ]]; then
s="$runlevel - ${description[$i]}"
>&2 echo -e "\033[;96mRUNNING $s\033[;39m"
source $((i+1))_${files[$i]}.sh
if [ $? -ne "0" ]; then
>&2 echo -e "\033[;31mFAILED $s\033[;39m"
exit 1;
fi
>&2 echo -e "\033[;32mSUCCEEDED $s\033[;39m"
>&2 echo -e "\033[;96mConfiguration state after $runlevel execution\033[;39m"
confini-dump --schema-dir ./config
fi
bit=$((bit*2))
done