Skip to content

[P1] 统一发布元数据并发布下一实验版本 / Normalize release metadata and ship the next experimental release #17

Description

@tiye

中文

目标

修复 v0.1.0 后的发布记录,并从干净、可复现的基线发布下一实验版本。

当前状态

  • PR release: 准备可复现的 v0.2.0 发布 / prepare reproducible v0.2.0 release #27 已合并;annotated v0.2.0 tag 指向 main merge commit 232c6cb。
  • Release Actions run 33361016014 在 1m21s 内全绿,GitHub Release v0.2.0 已发布。
  • Release title/tag 均为 v0.2.0,资产包含 tiye-react-0.2.0.zip 与 SHA256SUMS。
  • 审计确认 GitHub Release v0.1.0 未发布到 mooncakes.io:全新模块精确安装 tiye/react@0.1.0 失败,registry 当前最高可解析版本为 0.0.3。
  • Actions registry 发布已经完成:run 33363624581 使用 MOON_CREDENTIALS 成功发布 tiye/react@0.2.0。最终幂等验证 run 33364240377 从 github.workflow_sha 读取修正版 verifier,精确下游 4/4 通过并跳过重复 publish。PR test(release): 修正下游 helper 调用 / fix downstream helper call #30 已合并到 main(merge commit 49988f6),tag/verifier 解耦已永久落地。

已完成范围(PR #27)

  • moon.mod 与 package.json 统一为 0.2.0。
  • Unreleased 清空;补齐 GitHub 远端 6/6 历史 tags 的带日期 Changelog sections,并准备 0.2.0 section;本地私有 tag 不计入公开账本。
  • 增加中英文分栏 release notes,以及版本/Changelog/tag/release notes 一致性门禁。
  • 将发布制品收敛到精确 17 文件白名单并计算 SHA-256。
  • release workflow 验证 tag identity、main ancestry、MoonBit、生成器、Chromium、build、package 与 checksum。
  • 增加发布后全新下游模块的精确版本 resolve/check/build 脚本和手动 workflow,日志作为 artifact 保留。

可测试指标与符合度

  • 元数据:2/2 一致,均为 0.2.0。
  • Changelog:7 个 release sections;GitHub 远端 6/6 历史 tags 覆盖;Unreleased 条目 0。
  • MoonBit:工作树和干净克隆均为 54/54 通过。
  • 生成器:54/54 helpers,6/6 类别,幂等检查通过。
  • Chromium:工作树和干净克隆均为 7/7 通过;React/page diagnostics 0。
  • 生产构建:工作树和干净克隆均成功;最终 clean clone git status --short 为空。
  • GitHub Release 制品:17 文件,47,050 bytes,SHA-256 1631dd35bfeeb190d293ee33dcbf7d4cb0c826340cbb82fdbaf5e4683b7fc955;下载后 sha256sum -c SHA256SUMS 通过,意外文件 0。
  • 本地 macOS 预检 ZIP 的文件数与字节数相同,但 SHA-256 为 2dd2a3f4...b28feff,表明 moon package 的跨平台 ZIP entry ordering 并非 byte-identical;发布证据以 Actions/Linux 附件 checksum 为准。
  • 负向门禁:RELEASE_TAG=v0.1.9 被拒绝,要求精确 v0.2.0。
  • Mooncakes:全新依赖树精确解析 tiye/react@0.2.0,依赖版本为 async 0.20.3、dom-ffi 0.2.3、respo_css 0.1.7。
  • 下游:moon update、moon tree、moon check --target js、moon build --target js 4/4 通过;生成 smoke node table 1/1。
  • Actions artifact:mooncakes-0.2.0-verification,artifact id 9747734053,SHA-256 6a140f815127d7d808b7af49db64a66ab33980bef6752dc31cf37e1089871960。

完成结论

  • 验收标准 8/8 完成;GitHub Release、mooncakes 发布、精确下游验证与 verifier 固化均已闭环。
  • 本 Issue 可关闭,并计入路线图阶段 3 的完成项。

验收标准

  • GitHub 远端 6/6 历史 tag 均有匹配的 Changelog section,0.2.0 section 已准备。
  • Module 与 npm versions 一致。
  • Release tag 指向 main 并通过 release workflow。
  • 干净下游项目可精确安装并构建已发布 0.2.0。
  • 发布准备证据包含可复现命令、测试数、浏览器场景数与制品 checksum。
  • GitHub Release title、archive 与 SHA256SUMS 已下载核验。
  • 最终发布证据包含 registry 版本与下游 workflow/log。
  • PR test(release): 修正下游 helper 调用 / fix downstream helper call #30 将修正版 verifier 与 immutable tag checkout 解耦合入 main。

优先级:P1。


English

Goal

Repair release bookkeeping after v0.1.0 and publish the next experimental version from a clean, reproducible baseline.

Current status

  • PR release: 准备可复现的 v0.2.0 发布 / prepare reproducible v0.2.0 release #27 is merged; annotated tag v0.2.0 points to main merge commit 232c6cb.
  • Release Actions run 33361016014 completed green in 1m21s, and GitHub Release v0.2.0 is published.
  • The Release title/tag are both v0.2.0, with tiye-react-0.2.0.zip and SHA256SUMS attached.
  • The audit confirms that GitHub Release v0.1.0 was not published to mooncakes.io: an exact fresh install of tiye/react@0.1.0 fails, and the registry currently resolves only up to 0.0.3.
  • Actions registry publication is complete: run 33363624581 used MOON_CREDENTIALS to publish tiye/react@0.2.0. Final idempotent run 33364240377 sourced the corrected verifier from github.workflow_sha, passed exact downstream verification 4/4, and skipped duplicate publication. PR test(release): 修正下游 helper 调用 / fix downstream helper call #30 is merged into main (merge commit 49988f6), permanently landing the tag/verifier decoupling.

Completed scope (PR #27)

  • Aligns moon.mod and package.json at 0.2.0.
  • Empties Unreleased, adds dated Changelog sections for 6/6 historical GitHub tags, and prepares the 0.2.0 section; local-only tags do not enter the public ledger.
  • Adds separately presented Chinese and English release notes plus version/Changelog/tag/release-note consistency gates.
  • Restricts the release artifact to an exact 17-file allowlist and calculates SHA-256.
  • Makes the release workflow verify tag identity, main ancestry, MoonBit, generator, Chromium, build, package, and checksum results.
  • Adds an exact-version fresh-downstream resolve/check/build script and manual post-publish workflow whose log is retained as an artifact.

Testability and conformance

  • Metadata: 2/2 agree at 0.2.0.
  • Changelog: 7 release sections; 6/6 historical GitHub tags covered; Unreleased entries: 0.
  • MoonBit: 54/54 pass in both the working tree and a clean clone.
  • Generator: 54/54 helpers across 6/6 categories; idempotence passes.
  • Chromium: 7/7 pass in both the working tree and a clean clone; React/page diagnostics: 0.
  • Production build: succeeds in both environments; final clean-clone git status --short is empty.
  • GitHub Release artifact: 17 files, 47,050 bytes, SHA-256 1631dd35bfeeb190d293ee33dcbf7d4cb0c826340cbb82fdbaf5e4683b7fc955; downloaded sha256sum -c SHA256SUMS passes, with zero unexpected files.
  • The local macOS preflight ZIP has the same file and byte counts but SHA-256 2dd2a3f4...b28feff, showing that moon package ZIP entry ordering is not byte-identical across platforms. The Actions/Linux attachment checksum is authoritative for the published asset.
  • Negative gate: RELEASE_TAG=v0.1.9 is rejected; exact v0.2.0 is required.
  • Mooncakes: a fresh dependency tree resolves exact tiye/react@0.2.0 with async 0.20.3, dom-ffi 0.2.3, and respo_css 0.1.7.
  • Downstream: moon update, moon tree, moon check --target js, and moon build --target js pass 4/4; generated smoke node table passes 1/1.
  • Actions artifact: mooncakes-0.2.0-verification, artifact id 9747734053, SHA-256 6a140f815127d7d808b7af49db64a66ab33980bef6752dc31cf37e1089871960.

Completion

  • All 8/8 acceptance criteria are complete; GitHub Release, mooncakes publication, exact downstream verification, and verifier persistence are fully closed out.
  • This Issue can close and count as the completed final item in roadmap phase 3.

Acceptance criteria

  • All 6/6 historical GitHub tags have matching Changelog sections and the 0.2.0 section is prepared.
  • Module and npm versions agree.
  • The release tag points to main and passes the release workflow.
  • A clean downstream project installs exactly and builds published 0.2.0.
  • Release-preparation evidence includes reproducible commands, test count, browser scenario count, and artifact checksum.
  • The GitHub Release title, archive, and SHA256SUMS have been downloaded and verified.
  • Final release evidence includes the registry version and downstream workflow/log.
  • PR test(release): 修正下游 helper 调用 / fix downstream helper call #30 merges the corrected verifier and immutable-tag checkout decoupling into main.

Priority: P1.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions