name: Build Windows EXE on: push: branches: ["main"] workflow_dispatch: jobs: build: runs-on: ubuntu-build # 使用 Ubuntu 基础镜像 steps: # 第一步:安装所有需要的环境 - name: Install Node.js and Python run: | apt-get update apt-get install -y curl wget git software-properties-common # 安装 Node.js 18 curl -fsSL https://deb.nodesource.com/setup_18.x | bash - apt-get install -y nodejs # 安装 Python 3.13 add-apt-repository ppa:deadsnakes/ppa -y apt-get update apt-get install -y python3.13 python3.13-dev python3.13-distutils curl -sS https://bootstrap.pypa.io/get-pip.py | python3.13 ln -sf /usr/bin/python3.13 /usr/bin/python ln -sf /usr/bin/python3.13 /usr/bin/python3 # 安装 Wine (用于Windows交叉编译) dpkg --add-architecture i386 apt-get update apt-get install -y wine64 wine32 # 验证安装 echo "Node version: $(node --version)" echo "Python version: $(python --version)" echo "Wine version: $(wine --version)" - name: Checkout code uses: actions/checkout@v4 # 安装 Python 依赖 - name: Install Python dependencies run: | python -m pip install --upgrade pip pip install pyinstaller keyboard pywin32 # 构建 EXE - name: Build EXE with PyInstaller run: | # 使用 Wine 运行 PyInstaller 来构建 Windows EXE wine python -m PyInstaller --onefile --windowed --name Shortcut_Sync_PotPlayer main.py # 上传构建产物 - name: Upload Artifact uses: actions/upload-artifact@v4 with: name: Shortcut_Sync_PotPlayer path: dist/Shortcut_Sync_PotPlayer.exe