diff --git a/.gitea/workflows/workflows.yaml b/.gitea/workflows/workflows.yaml index 31733fe..ed7294b 100644 --- a/.gitea/workflows/workflows.yaml +++ b/.gitea/workflows/workflows.yaml @@ -4,9 +4,6 @@ on: push: branches: - dev - # paths: - # - '**/docker-compose.yml' - # - '**/.env' jobs: update: @@ -15,9 +12,6 @@ jobs: - name: Setup correct time in build container run: ln -sf /usr/share/zoneinfo/Asia/Tbilisi /etc/localtime - - name: Install sshpass - run: apt update && apt install -y sshpass - - name: Checkout repository uses: actions/checkout@v4 with: @@ -27,36 +21,22 @@ jobs: path: . fetch-depth: 0 - # - name: Testing - # run: | - # modules_to_update=$(git diff --name-only ${{ gitea.event.before }}..${{ gitea.event.after }} | awk -F/ '{print $1}') - # echo $modules_to_update - - # export SSHPASS=${{ secrets.SERVER_SSH_PASSWORD }} - # export STACK_PATH="/home/sysop/odoo18/customaddons/bross_hms" + - name: Checkout code on server and restart stacks + uses: appleboy/ssh-action@v1.1.0 + with: + host: ${{ secrets.SERVER_SSH_HOST }} + username: ${{ secrets.SERVER_SSH_USER }} + password: ${{ secrets.SERVER_SSH_PASSWORD }} + port: ${{ secrets.SERVER_SSH_PORT }} + script: | + cd /home/sysop/odoo18/customaddons/bross_hms + modules_to_update=$(git diff --name-only ${{ gitea.event.before }}..${{ gitea.event.after }} | awk -F/ '{print $1}' | uniq | xargs -I {} sh -c 'find {} -type f -name "__manifest__.py" | grep -q "__manifest__.py" && echo {}' 2>/dev/null | sed -z 's/\n/,/g; s/,$/\n/') - # sshpass -e ssh -p ${{ secrets.SERVER_SSH_PORT }} -o StrictHostKeyChecking=no \ - # ${{ secrets.SERVER_SSH_USER }}@${{ secrets.SERVER_SSH_HOST }} "echo $modules_to_update > testing_file" - - - name: Deploy to dev environment - if: gitea.ref == 'refs/heads/dev' - run: | - export SSHPASS=${{ secrets.SERVER_SSH_PASSWORD }} - export STACK_PATH="/home/sysop/odoo18/customaddons/bross_hms" - - git config --global --add safe.directory $STACK_PATH - - ### Get modules list to update - modules_to_update=$(git diff --name-only ${{ gitea.event.before }}..${{ gitea.event.after }} | awk -F/ '{print $1}' | uniq | xargs -I {} sh -c 'find {} -type f -name "__manifest__.py" | grep -q "__manifest__.py" && echo {}' 2>/dev/null | sed -z 's/\n/,/g; s/,$/\n/') - echo $modules_to_update - - ### Generate update string - # if [ -z "${modules_to_update}" ]; then - # echo "No module to update" - # else - # echo "Modules to update set" - # args="-d bross_hms_dev -u ${modules_to_update}" - # sshpass -e ssh -p ${{ secrets.SERVER_SSH_PORT }} -o StrictHostKeyChecking=no \ - # ${{ secrets.SERVER_SSH_USER }}@${{ secrets.SERVER_SSH_HOST }} \ - # "cd $STACK_PATH && git pull && docker compose -f docker-compose-dev.yml down && export ARGS='${args}' && docker compose -f docker-compose-dev.yml up -d" - # fi \ No newline at end of file + if [ -z "${modules_to_update}" ]; then + echo "No module to update" + else + git pull + args="-d bross_hms_dev -u ${modules_to_update}" + docker compose -f compose_dev.yaml down + export ARGS='${args}' && docker compose -f compose_dev.yaml up -d + fi \ No newline at end of file