name: Build Windows Application

on:
  workflow_dispatch:
  release:
    types: [created]

jobs:
  build-windows:
    runs-on: windows-latest

    steps:
      # 第 1 步: 检出你的代码
      - name: Checkout repository
        uses: actions/checkout@v4

      # 第 2 步: 设置 Python 环境
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.12'

      # 第 3 步: 安装 uv
      - name: Install uv
        run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
      - name: Add uv to PATH
        run: echo "$env:APPDATA\uv\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

      # 第 4 步: 安装依赖
      - name: Install dependencies with uv
        run: |
          rm uv.lock
          uv sync --no-dev

      # 第 5 步: 安装 UPX (简化版本)
      - name: Install UPX
        run: |
          choco install upx -y

      # 第 6 步: 运行 PyInstaller
      - name: Build the application with PyInstaller
        run: |
          uv pip install pyinstaller
          uv run --no-dev pyinstaller lite.spec --noconfirm --clean -y

      # 第 7 步: 上传 exe 文件作为构建产物
      - name: Upload Windows executable
        uses: actions/upload-artifact@v4
        with:
          name: DocuTranslate-Windows
          path: dist/*.exe