name: 定时 AiDA WEB-Node.js main 分支构建部署
on:
  schedule:
    #       cron为UTC时区，构建时间=部署时间-8小时 {*分 (-8)时 *日 *月  *周}  ---
    #      示例： 1月1日22点22分触发构建 cron写作 - '22 14 1 1 *'
    - cron: '22 14 1 1 *'

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [ 20.19.0 ]

    env:
      REMOTE_DEPLOY_PATH: /workspace/workspace_lanecrawford/front

    steps:
      - name: 1.检出代码
        uses: actions/checkout@v4

      - name: 2.设置 Node.js 环境
        uses: actions/setup-node@v6
        with:
          node-version: ${{ matrix.node-version }}
      - run: npm install
      - run: npm run build
      - run: ls -l

      - name: 3.同步文件到远程服务器
        uses: appleboy/scp-action@v0.1.7
        with:
          host: ${{ secrets.SERVER_HOST }}
          username: ${{ secrets.SERVER_USER }}
          key: ${{ secrets.SSH_KEY }}
          source: "./dist/*"
          target: ${{ env.REMOTE_DEPLOY_PATH }}
          ssh_options: "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
          strip_components: 0

      - name: 4. 远程重载 Nginx 配置
        uses: appleboy/ssh-action@v1.0.3
        with:
          host: ${{ secrets.SERVER_HOST }}
          username: ${{ secrets.SERVER_USER }}
          key: ${{ secrets.SSH_KEY }}
          # 核心：执行 Nginx 重载命令
          script: |
            echo "尝试重载 Nginx 服务..."
            # 💡 注意：执行此命令需要服务器用户具有 sudo 权限，并且配置了 NOPASSWD。
            # 否则工作流可能会因为权限不足而失败。
            sudo systemctl reload nginx
            echo "Nginx 重载命令已发送。"