name: Deploy Backend

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: linux
    defaults:
      run:
        working-directory: /home/app/saude/service-master-data

    steps:
      - name: Install SSH
        run: |
          if command -v apk >/dev/null; then
            apk add --no-cache openssh-client
          elif command -v apt-get >/dev/null; then
            apt-get update && apt-get install -y openssh-client
          fi

      - name: Install Node
        run: apk add --no-cache nodejs npm

      - name: Pull latest source from main
        run: |
          git fetch origin
          git reset --hard origin/main

      - name: Install deps
        run: npm install

      - name: Build
        run: |
          export NODE_ENV=stag
          npm run swagger
          npm run build

      - name: Reload PM2
        run: |
          ssh -o StrictHostKeyChecking=no root@172.21.0.1 "/usr/bin/pm2 reload saude-svc-master-data || /usr/bin/pm2 start /home/app/saude/ecosystem.config.js --only saude-svc-master-data"
