Files
cc-scripts/cc-upgrades
2025-09-09 16:49:56 +01:00

40 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
if [ -n "$1" ]; then
recipe="$1"
else
echo "Pick the recipe for which you want to upgrade the apps:"
recipe=$(abra recipe ls -m | ./bin/jq '.[].name' -r | ./bin/gum choose)
echo "$recipe"
fi
echo "Pick which apps to upgrade"
apps_to_upgrade=$(abra app ls -r $recipe -m | ./bin/jq '.[].apps[].appName' -r | ./bin/gum choose --no-limit)
echo -e "\n\nthe following apps will be upgraded:\n$apps_to_upgrade"
./bin/gum confirm "Do you want to continue?" || exit 0
tmate_socket=$(echo $TMUX | awk -F "," '{print $1}')
if [ -z "$tmate_socket" ]; then
tmate_socket=$(tmate new -P -F "#{socket_path}" -s cc-upgrades -d)
echo "tmate socket location is $tmate_socket. If you drop out of it just run tmate -S $tmate_socket attach"
sleep 3
tmux -S "$tmate_socket" send-keys C-m
tmate -S "$tmate_socket" show-messages | grep session
ran_from_tmux=0
else
./bin/gum confirm "It seems like you're running this script in tmux/tmate. Would you like to append new windows to this session or quit the program?" --affirmative "append" --negative "quit" || exit 0
ran_from_tmux=1
fi
for app in $apps_to_upgrade; do
app_sanitized=$(echo $app | sed 's/\./_/g')
tmux -S "$tmate_socket" new-window
tmux -S "$tmate_socket" rename-window "$app_sanitized"
tmux -S "$tmate_socket" send-keys "abra app upgrade $app" C-m
done
if [ "$ran_from_tmux" = "0" ]; then
tmux -S "$tmate_socket" attach
fi