Skip to content

修复项目构建

修复项目构建 #16

Workflow file for this run

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 }}