# 在 Windows 上测试 start.ps1（DRY_RUN 模式，不启动 Docker）
name: Test start.ps1 (Windows)

on:
  push:
    paths:
      - 'start.ps1'
      - '.env.sample'
      - '.github/workflows/test-start-ps1.yml'
  pull_request:
    paths:
      - 'start.ps1'
      - '.env.sample'
      - '.github/workflows/test-start-ps1.yml'
  workflow_dispatch:

jobs:
  test-windows:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4

      - name: Run start.ps1 (DRY_RUN)
        env:
          DEPLOY_DRY_RUN: "1"
          DEPLOY_IP: "192.168.1.100"
        run: |
          powershell -ExecutionPolicy Bypass -File .\start.ps1

      - name: Verify .env
        run: |
          $api = Select-String -Path .env -Pattern '^NUXT_PUBLIC_BASE_APIURL=' | ForEach-Object { $_.Line }
          $socket = Select-String -Path .env -Pattern '^NUXT_PUBLIC_BASE_SOCKETURL=' | ForEach-Object { $_.Line }
          $sg = Select-String -Path .env -Pattern '^NUXT_PUBLIC_SG_APIURL=' | ForEach-Object { $_.Line }
          if ($api -ne 'NUXT_PUBLIC_BASE_APIURL=http://192.168.1.100:3001') { exit 1 }
          if ($socket -ne 'NUXT_PUBLIC_BASE_SOCKETURL=ws://192.168.1.100:3002') { exit 1 }
          if ($sg -ne 'NUXT_PUBLIC_SG_APIURL=http://192.168.1.100:3003') { exit 1 }
          Write-Host "OK: .env 配置正确"
