Skip to content

ci(release): 同步 1.21.11 多版本发布配置 - #251

Merged
Gu-ZT merged 1 commit into
Anvil-Dev:dev/1.21.11from
Gu-ZT:multi-version/1.21.11
Nov 10, 2026
Merged

Gu-ZT merged 1 commit into
Anvil-Dev:dev/1.21.11from
Gu-ZT:multi-version/1.21.11

Conversation

@Gu-ZT

@Gu-ZT Gu-ZT commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

同步本开发线的 Create Multi-Version Releases 入口说明,由默认分支 dev/26.1 自动上传两站、Maven Central 和 GitHub ReleaseFile。两站失败不重传、不阻塞公开与升版;Maven 或 ReleaseFile 失败使整体运行失败。日志按祖先 tag 和版本类型选取范围。

Cjsah Maven 依赖仓库已使用 releases 路径,本 PR 统一 URL 格式为 https://server.cjsah.net:1002/maven/releases/。上传仍使用机密 MAVEN_URL。

验证:本分支 Wrapper/JDK 下 gradlew.bat help --no-configuration-cache --console=plain 通过;python -B -X utf8 -m unittest discover -s .github/ci(2 项通过);git diff --check 通过。总控逻辑由面向 dev/26.1 的配套 PR 提供。

- 为 1.21.11 开发线同步多版本总控、日志选择和失败规则
- 统一 Cjsah Maven releases 仓库 URL 格式,上传沿用 MAVEN_URL
@Gugle2308

Copy link
Copy Markdown

🌿 Roseau API Breaking Change Report

Module Status Breaking Changes
codec ✅ Compatible 0
collision ✅ Compatible 0
cube ✅ Compatible 0
config ✅ Compatible 0
integration ✅ Compatible 0
moveable-entity-block ✅ Compatible 0
network ✅ Compatible 0
rendering ✅ Compatible 0
space-select ✅ Compatible 0
font ✅ Compatible 0
util ✅ Compatible 0
explosion ✅ Compatible 0
rpc ✅ Compatible 0
math ✅ Compatible 0
multiblock ✅ Compatible 0
recipe ✅ Compatible 0
registrum ✅ Compatible 0
sync ✅ Compatible 0
ui ⚪ Skipped —
wheel ✅ Compatible 0
main ✅ Compatible 0

Full CSVs: see the Artifacts section of this workflow run.

@Gugle2308 Gugle2308 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

结论:settings.gradle 的尾斜杠对 Gradle 的仓库解析没有实际影响,因为 Gradle 会规范化仓库 URL;文档与总控 PR #252 的实现一致;唯一需要作者处理的是合并顺序,因为文档指向的 Create Multi-Version Releases 工作流和「版本后缀、自动日志」章节都还不存在,依赖仍处于 open 状态的 #252 与 #247。

审查范围:base dev/1.21.11 → head 1e1dc715,2 文件 +6/−4(patch-diff 与 API 声明完全一致)、draft=false、mergeable=true、state=open、无已有 review。

✅ 一、本轮针对 1.21.11 分支实际完成的验证

检查点 结论
head sha 1e1dc715 与 payload 一致
settings.gradle 改动 仅一行:pluginManagement 中 cjsah 的 …/maven/releases → …/maven/releases/;Gradle 会规范化仓库 URL,因此不改解析行为
.github/ci 回归测试 抽 head 脚本本地实跑:Ran 2 tests — OK,与 PR 描述「2 项通过」一致
本分支无发布工作流 只有 Build and Test、CI for Mod、Pull Request Check、Roseau PR Comment,因此文档指引到默认分支入口是合理的
上传侧地址 未硬编码,仍由机密 MAVEN_URL 覆盖
与同批一致性 RELEASING.md 与 #248、#249、#250 逐字节相同
本线其他副本 module.gradle:21/29 两处 cjsah URL 已带尾斜杠,无需再改

文档三条日志规则与 #252 的 release_notes.py 实现逐条吻合:

prerelease = release_type(plan["version"]) != "release"
if tag == plan["tag"] or (item["prerelease"] and not prerelease):   # 正式版只接正式版
    continue
comparison = github(f"compare/{quote(tag, safe='')}...{sha}?per_page=1", missing=True)
if comparison and comparison["status"] in {"ahead", "identical"}:   # 祖先关系
    previous = tag; break

「两站失败不阻塞」与 #252 一致:mod-sites 设置 continue-on-error: true,且 publish: needs: [prepare, seal, central] 不包含 mod-sites。

⚠️ 二、合并顺序:文档入口与章节当前都不存在(主要项,本轮复核仍成立)

直接查 dev/26.1:.github/workflows/ 仍是 6 个文件(含 release.yml),没有 Create Multi-Version Releases;其 RELEASING.md 首行仍是 # AnvilLib 正式发布,写的是「Actions → Release AnvilLib → Run workflow」,与本 PR 新写的入口名不符。

提供方:#252(open,其 diff 含 +name: Create Multi-Version Releases 与新 RELEASING.md);「版本后缀」章节还依赖 #247(open)。

建议:#252 先合(或与六条适配 PR 同批、六条后合);若必须先合,请在文档或 PR 描述里注明「发布入口由默认分支 #252 提供」。

💡 三、roseau.gradle:32 无尾斜杠是故意的,建议把文档措辞限定

17:        url = 'https://server.cjsah.net:1002/maven/releases/'        // Gradle 仓库声明
32:    for (repoUrl in ['https://repo1.maven.org/maven2',
                       'https://server.cjsah.net:1002/maven/releases'])  // 拼接基址
        def conn = new URI("$repoUrl/$groupPath/$moduleName/maven-metadata.xml")…   // ← 自己补 /

第 32 行是拼接基址,加尾斜杠会产生 …/releases//dev/…。当前写法正确,但描述「统一 URL 格式为 …/releases/」会诱导后人误改。建议措辞限定为「Gradle 仓库声明统一为 …/releases/」。六条线 RELEASING.md 逐字节相同,措辞变更需在六条与 #252 上同批进行。

💡 四、其余(非阻塞)

  1. pluginManagement 仓库顺序与 dev/26.1 不同(本线 cjsah → neoforged,26.1 是 neoforged → cjsah)——既有差异,本 PR 未改。
  2. 可达性未能独立核实:沙箱内 https://server.cjsah.net:1002/ 连接失败(000),对照 https://github.com/ 为 200,DNS 可解析。不据此判定失效;本 PR 只加尾斜杠,Gradle 侧无行为变化,请以作者实跑 gradlew.bat help 为准。

验证边界

settings.gradle 仅作静态语义判定(Gradle 仓库 URL 规范化),未实际运行 Gradle 解析;.github/ci 2 项测试在本地 Python 3.11.2 实跑通过;#252、#247 结论来自阅读其 patch-diff(均未合并,内容可能再变);Cjsah 私服可达性未核实。

@Gu-ZT
Gu-ZT merged commit 1da1a85 into Anvil-Dev:dev/1.21.11 Nov 10, 2026
1 check passed
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.

2 participants