Skip to content

修复 PR #1 审查问题、跨平台构建并接入优先镜像下载源 - #2

Merged
hekuo5310 merged 5 commits into
mainfrom
fix/review-ci-download-sources
Oct 29, 2026
Merged

hekuo5310 merged 5 commits into
mainfrom
fix/review-ci-download-sources

Conversation

@hekuo5310

@hekuo5310 hekuo5310 commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

修复 PR #1 的审查问题,并为 Minecraft 下载加入按优先级自动回退的 BMCLAPI 兼容源。

  • 下载顺序:bsmirror.hkmc.online → mirror.hkmc.online → bmclapi2.bangbang93.com → 官方源。支持 Mojang 元数据、客户端、资源、Maven、Fabric 和 NeoForge;镜像清单内已重写的链接也保留完整回退。每次切源后仍验证大小及 SHA-1/SHA-512,认证和 CurseForge/Modrinth 请求不转发至镜像。
  • 处理 PR Apeiron 0.1.0: independent Minecraft launcher (Java Edition, C11 log core, bilingual UI) #1 的 35 项审查问题:OAuth 400 轮询状态、macOS natives、版本 JSON 校验、压缩包大小与链接安全、存档恢复回滚、整合包失败回滚/分类/配置导出、文件 URL 与实例导入、运行实例删除保护、Java 路径持久化、启动记录、退出设置及界面同步等。
  • 修复 macOS 上 Apeiron 可执行文件与 apeiron 目录的大小写冲突,原生扩展由 Nuitka 正常收集;修复 Windows offscreen 字体发现、构建参数位置、QML 包数据和 Qt Addons 依赖。正常启动与成品自检使用实际安装的界面字体,日志页使用已安装的等宽字体,保留严格 Qt/QML 警告检查。
  • main 推送触发打包;v* 标签在三平台打包成功后发布 Release,普通 PR 仅上传 Actions artifacts。CurseForge 通过 APEIRON_CURSEFORGE_API_KEY 环境变量配置。

验证:

  • 本地完整 pytest:217 项通过,包含 45 项新增回归用例;最终字体调整后界面冒烟和相关回归 46 项通过。
  • C11 harness:44 项检查通过;Ruff、格式、mypy、翻译完整性及工作流 YAML 检查通过。
  • 最新提交的 Windows、macOS、Linux 打包、自检及归档上传均成功:Build run。三个平台安装包可从该运行的 Artifacts 下载。本次 PR 未触发标签 Release 发布。
  • 最新 CI 的 14 个作业已全部成功(包含 Windows、macOS、Linux 的 Python 3.10/3.12 测试):CI run。
  • 在线验证了 mirror.hkmc.online/BMCLAPI 清单,以及 Minecraft 1.20.1 版本 JSON、1,330,045 字节依赖库和 413,067 字节资源索引的下载与哈希。bsmirror 本次探测返回 503 或超时,自动回退逻辑已验证。Microsoft 真实账号登录未做端到端认证。

下载源与配置见 docs/DOWNLOAD_SOURCES.md;验证记录见 docs/TEST_REPORT.md。

@hekuo5310
hekuo5310 merged commit db6a461 into main Oct 29, 2026
18 checks passed
@hekuo5310
hekuo5310 deleted the fix/review-ci-download-sources branch October 29, 2026 14:24
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.

1 participant