#!/bin/bash # Author: Moutaz Muhammad set -euo pipefail # Validate input parameters if [ "$#" -lt 5 ]; then echo "** [ERROR] Usage: $0 " exit 1 fi PROJECT_USER="$1" PROJECT_PATH="$2" PROJECT_SERVICE="$3" STAGE="$4" FOLDER="$5" BRANCH="$6" GH_TOKEN="$7" # Stash changes before pulling sudo -u "$PROJECT_USER" bash -c " cd '$PROJECT_PATH/$STAGE/$FOLDER' && \ echo 'echo \"$GH_TOKEN\"' > ~/git-askpass.sh && \ chmod +x ~/git-askpass.sh && \ export GIT_ASKPASS=~/git-askpass.sh && \ git config --global core.askPass ~/git-askpass.sh && \ git config --global user.name 'github-actions' && \ git config --global user.email 'github-actions@github.com' && \ git stash && \ git stash clear && \ git pull origin '$BRANCH'" if [ $? -eq 0 ]; then echo "** [INFO] Git pull origin $BRANCH command executed successfully." else echo "** [ERROR] Git pull origin $BRANCH command failed." exit 1 fi sudo -u odoo bash -c "rm -f ~/git-askpass.sh" # Restart the project service sudo systemctl restart "$PROJECT_SERVICE" if [ $? -eq 0 ]; then echo "** [INFO] $BRANCH service has been restarted." else echo "** [ERROR] Failed to restart $BRANCH service." exit 1 fi