Skip to content

Conversation

@frankslin
Copy link
Contributor

@frankslin frankslin commented Jan 24, 2026

## 修改内容

### MSVC Workflow
- 添加文件列表调试步骤,显示构建和安装目录的内容
- 扩展 artifacts 上传路径,包含:
  - build/Release/*.exe (多配置生成器产生的可执行文件)
  - build/Release/*.dll (运行时库)
  - build/src/tools/Release/*.exe (工具可执行文件)

### MinGW Workflow
- 添加 `cmake --install build` 步骤,将产物安装到 install 目录
- 修改 CMAKE_INSTALL_PREFIX 从 /usr 改为 $PWD/install
- 添加文件列表调试步骤
- 更新 artifacts 上传路径为:
  - install/** (安装后的所有文件,包含 bin/, lib/, share/ 等)
  - build/src/tools/*.exe (备用,直接从构建目录上传可执行文件)
  - 测试相关文件 (Testing/**, ctest.log)

## 问题分析

原问题:opencc.exe、opencc_dict.exe 等关键产物未被上传

### MSVC
- Windows 多配置生成器将产物放在 build/Release/ 而不是根目录 bin/
- 虽然 build.cmd 执行了 install,但需要验证实际安装路径

### MinGW
- 缺少 install 步骤,产物留在 build/src/tools/ 深层目录
- 上传 build/** 包含大量不必要的中间文件

## 验证方式

下次 workflow 运行时,查看 "list installed files" 步骤的输出,
确认 opencc.exe 等文件的实际位置,如需进一步调整可根据日志修正路径。

https://claude.ai/code/session_DH6D6
## 修改内容

### MSVC Workflow
根据安装日志,文件实际安装在 build/ 子目录下:
- `build/bin/` - 可执行文件和 DLL
- `build/lib/` - 静态库和 CMake 配置
- `build/share/opencc/` - 所有 .ocd2 字典和 .json 配置文件
- `build/include/` - 头文件

更新 artifacts 上传路径:
- 从根目录 `bin/**`, `lib/**`, `share/**`, `include/**`
- 改为 `build/bin/**`, `build/lib/**`, `build/share/**`, `build/include/**`
- 移除冗余的 `build/Release/*.exe` 等备用路径

更新调试步骤:
- 列出 build/bin, build/lib, build/share, build/include 的内容

### MinGW Workflow
已通过 `cmake --install` 安装到 install/ 目录,上传 `install/**` 包含所有必需文件。

更新调试步骤:
- 单独列出 install/bin/ 和 install/share/opencc/ 以便快速验证
- 保留完整文件列表供详细检查

## 重要说明

**share/opencc/** 目录包含运行时必需的文件:
- *.ocd2 - 字典文件(STCharacters, STPhrases, TWVariants 等)
- *.json - 配置文件(s2t.json, t2s.json, s2tw.json 等)

没有这些文件,opencc.exe 无法正常工作。

https://claude.ai/code/session_DH6D6
@BYVoid BYVoid merged commit 267c78c into BYVoid:master Jan 24, 2026
24 of 25 checks passed
@frankslin frankslin deleted the fix/windows-artifacts branch January 24, 2026 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants