修复项目构建 #16
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Release | |
on: | |
push: | |
tags: | |
- 'v*' # 当推送新的版本标签时触发 | |
# 添加权限配置 | |
permissions: | |
contents: write | |
packages: write | |
discussions: write | |
# 设置全局环境变量,确保UTF-8编码支持 | |
env: | |
PYTHONIOENCODING: utf-8 | |
jobs: | |
build: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # 获取所有历史记录,以便正确生成版本号 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
cache: pip | |
- name: Set UTF-8 Environment | |
run: | | |
# 设置控制台代码页为UTF-8 | |
chcp 65001 | |
# 显示当前编码设置 | |
echo "当前代码页设置为UTF-8" | |
echo "PYTHONIOENCODING=$env:PYTHONIOENCODING" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
- name: Create directory structure | |
run: | | |
mkdir -p dist/RPGTranslationAssistant | |
mkdir -p dist/RPGTranslationAssistant/Works | |
# 确保复制依赖目录,如果不存在则创建空目录 | |
if (Test-Path -Path "RPGRewriter") { | |
echo "复制 RPGRewriter 目录..." | |
xcopy /E /I /Y RPGRewriter dist\RPGTranslationAssistant\RPGRewriter | |
} else { | |
echo "创建空的 RPGRewriter 目录..." | |
mkdir -p dist/RPGTranslationAssistant/RPGRewriter | |
} | |
if (Test-Path -Path "EasyRPG") { | |
echo "复制 EasyRPG 目录..." | |
xcopy /E /I /Y EasyRPG dist\RPGTranslationAssistant\EasyRPG | |
} else { | |
echo "创建空的 EasyRPG 目录..." | |
mkdir -p dist/RPGTranslationAssistant/EasyRPG | |
} | |
if (Test-Path -Path "RTPCollection") { | |
echo "复制 RTPCollection 目录..." | |
xcopy /E /I /Y RTPCollection dist\RPGTranslationAssistant\RTPCollection | |
} else { | |
echo "创建空的 RTPCollection 目录..." | |
mkdir -p dist/RPGTranslationAssistant/RTPCollection | |
} | |
- name: Build with build_exe.py | |
run: | | |
# 确保构建脚本中的中文能够正确显示 | |
chcp 65001 | |
# 使用build_exe.py脚本构建,确保与本地构建一致 | |
python build_exe.py | |
# 查看构建后的目录结构 | |
echo "构建后的目录结构:" | |
dir dist -Recurse | Select-Object -First 20 | |
- name: Create release zip | |
run: | | |
# 获取标签版本号 | |
$VERSION = "${{ github.ref_name }}" | |
$VERSION = $VERSION -replace "v", "" | |
# 创建发布说明文件 | |
Set-Content -Path dist\RPGTranslationAssistant\version.txt -Value "版本:$VERSION`n发布日期:$(Get-Date -Format 'yyyy-MM-dd')" | |
# 复制其他必要文件 | |
Copy-Item LICENSE dist\RPGTranslationAssistant\ -ErrorAction SilentlyContinue | |
Copy-Item README.md dist\RPGTranslationAssistant\ -ErrorAction SilentlyContinue | |
# 列出最终文件结构 | |
echo "最终打包结构:" | |
dir dist\RPGTranslationAssistant\ -Recurse | Select-Object FullName | Format-Table -Wrap | |
# 创建zip文件 | |
Compress-Archive -Path dist\RPGTranslationAssistant\* -DestinationPath release.zip -Force | |
- name: Create Release | |
id: create_release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: release.zip | |
name: RPG Maker 翻译助手 ${{ github.ref_name }} | |
body_path: dist/RPGTranslationAssistant/version.txt | |
draft: false | |
prerelease: false | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |