resolves #46 Co-authored-by: johba <johba@harb.eth> Reviewed-on: https://codeberg.org/johba/harb/pulls/53
50 lines
1.6 KiB
Bash
Executable file
50 lines
1.6 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR=/workspace
|
|
GIT_BRANCH="${GIT_BRANCH:-}"
|
|
|
|
# Checkout branch if specified
|
|
if [[ -n "$GIT_BRANCH" ]]; then
|
|
cd "$ROOT_DIR"
|
|
git config --global --add safe.directory "$ROOT_DIR" 2>/dev/null || true
|
|
CURRENT=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "unknown")
|
|
|
|
if [[ "$CURRENT" != "$GIT_BRANCH" ]]; then
|
|
echo "[txn-bot-entrypoint] Switching to branch: $GIT_BRANCH"
|
|
# Try local branch first, then remote
|
|
if git rev-parse --verify "$GIT_BRANCH" >/dev/null 2>&1; then
|
|
git checkout "$GIT_BRANCH" 2>/dev/null || echo "[txn-bot-entrypoint] WARNING: Could not checkout $GIT_BRANCH"
|
|
else
|
|
git fetch origin "$GIT_BRANCH" 2>/dev/null || true
|
|
git checkout "$GIT_BRANCH" 2>/dev/null || echo "[txn-bot-entrypoint] WARNING: Could not checkout $GIT_BRANCH"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
TXNBOT_ENV_FILE=$ROOT_DIR/tmp/podman/txnBot.env
|
|
BOT_DIR=$ROOT_DIR/services/txnBot
|
|
REQUIRED_DIST=$ROOT_DIR/kraiken-lib/dist/index.js
|
|
|
|
while [[ ! -f "$TXNBOT_ENV_FILE" ]]; do
|
|
echo "[txn-bot-entrypoint] waiting for env file"
|
|
sleep 2
|
|
done
|
|
|
|
if [[ ! -f "$REQUIRED_DIST" ]]; then
|
|
echo "[txn-bot-entrypoint] ERROR: Run ./scripts/build-kraiken-lib.sh before starting containers" >&2
|
|
exit 1
|
|
fi
|
|
|
|
cd "$BOT_DIR"
|
|
echo "[txn-bot-entrypoint] Installing txn-bot dependencies..."
|
|
npm install --no-save --loglevel error 2>&1 || {
|
|
echo "[txn-bot-entrypoint] npm install failed, trying with --force"
|
|
npm install --force --no-save --loglevel error
|
|
}
|
|
|
|
echo "[txn-bot-entrypoint] Building TypeScript..."
|
|
npm run build
|
|
|
|
export TXN_BOT_ENV_FILE="$TXNBOT_ENV_FILE"
|
|
exec npm run start
|