Skip to content

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

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

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

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.8 开发线同步多版本总控、日志选择和失败规则
- 统一 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),文档与配套 #252 的实现一致;唯一需要作者处理的是合并顺序——文档指向的 Create Multi-Version Releases 与「版本后缀、自动日志」章节目前都还不存在,依赖仍 open 的 #252 与 #247。

审查范围:base dev/1.21.8 → head e475916e,2 文件 +6/−4(patch-diff 与 API 声明逐位一致)、draft=false、mergeable=true、state=open、无既有 review。

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

检查点 结论
head sha e475916e 与 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 覆盖
与同批 #248/#249 一致性 RELEASING.md 与两者逐字节相同(含新增段落)
本线额外副本 本分支还有 module.gradle:21/29 两处 cjsah URL,均已带尾斜杠,与本 PR 的目标格式一致,无需再改

文档三条日志规则与 #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;
  • dev/26.1 的 RELEASING.md 首行仍是 # AnvilLib 正式发布,写的是「Actions → Release AnvilLib → Run workflow」——与本 PR 新写的入口名及「版本后缀、自动日志、预检、演练与续跑说明见默认分支发布文档」这段对不上。

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

本批共 8 条 open:#247(版本后缀)、#252(总控)、#248/#249/#250/#251/#253/#254(六条线适配)。

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

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

本分支同一文件内该 URL 两种写法:

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 项测试本地实跑通过;#252/#247 结论来自其 patch-diff 阅读(均未合并,内容可能再变);Cjsah 私服可达性未核实。

@Gu-ZT
Gu-ZT merged commit b12849a into Anvil-Dev:dev/1.21.8 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