Skip to content

ci: prepare 3.2.3 and automate npm trusted publishing - #217

Merged
yourtion merged 2 commits into
mainfrom
chore/release-3.2.3
Oct 20, 2026
Merged

yourtion merged 2 commits into
mainfrom
chore/release-3.2.3

Conversation

@yourtion

@yourtion yourtion commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

npm 上五个包仍为 3.2.2,仓库仅根包提前升为 3.2.3,且没有自动发布流程。本 PR 对齐五个包的 3.2.3 版本,并增加 tag 触发的 npm Trusted Publishing(OIDC)。

  • 新增 release.yml:完整 Git 历史验证 tag/main 归属和五包版本;只读 job 冻结安装、显式执行原 prepublishOnly、覆盖率和发布工具测试,workspace-aware pack 并做真实消费端安装验证。
  • 发布 job 使用 Node 24/npm >=11.5.1、id-token: write 和 contents: write,重新校验全部 tarball 的 SHA-256、入口、CLI、依赖转换后,npm CLI 按依赖顺序发布同一批文件;所有必需包成功才创建/完成 GitHub Release。稳定版 latest,预发布 next。
  • 逐包查询精确版本,仅结构化 E404 代表缺失;部分 npm 成功或 GitHub 失败后重跑可跳过已发版本。跨版本串行且不主动取消,同一 run 全量重跑可覆盖已验证构建 artifact。
  • 四个子包补齐 repository 元数据以支持 provenance;移除 postpublish 自动推送 Git 分支/tag 的副作用。保留 publish:all 为有凭据的明确手动场景。
  • 普通 PR CI 运行发布工具测试,Node 24 真实打包并安装消费验证。README、AGENTS、MIGRATION 和 RELEASING.md 写明维护方式。

验证:

  • pnpm 9 frozen-lockfile 安装、check、prepublishOnly(604 库测试 + 13 示例测试)和覆盖率通过,项目覆盖率 99.86%。
  • 19 项发布工具测试在 Node 24、Node 22.20.0 通过:覆盖严格版本/渠道、公开发布集与拓扑顺序、真实本地 tarball 校验、协议转换、哈希损坏、CLI shebang/权限、注册表错误、部分发布与 GitHub 失败重跑。
  • 实际构建并生成五个 tarball,在干净消费项目中安装全部产物,验证 ESM 导入和 codegen CLI 入口。本地消费安装使用已缓存 npm 依赖,未访问发布 API。
  • actionlint 校验 release.yml 与普通测试 workflow 通过。
  • GitHub PR CI 的 Node 20/22/24 测试均通过;Node 24 的真实 tarball/消费端安装步骤成功。CodeQL 与 Snyk 检查通过,完整变异作业仍在运行。

外部一次性配置尚待维护者完成/确认:五个 npm 包分别绑定 GitHub Actions publisher,owner yourtion、repo node-erest、workflow filename release.yml、environment 留空;如有 Allowed actions,允许直接 npm publish。详细表格见 RELEASING.md。workflow 不引入 NPM_TOKEN。

本次仅接入流程,未推送 v3.2.3 发布 tag、未真实上传 npm、未修改 npm Trusted Publisher 后台,也未创建 GitHub Release。mock 与本地产物验证不代表真实 OIDC 认证成功;首次发布需在绑定完成后由维护者显式推送 tag。

@codecov

codecov Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.86%. Comparing base (6e83af3) to head (5d891a7).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #217   +/-   ##
=======================================
  Coverage   99.86%   99.86%           
=======================================
  Files          28       28           
  Lines        2962     2962           
  Branches      913      913           
=======================================
  Hits         2958     2958           
  Misses          4        4           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@yourtion yourtion changed the title chore: prepare coordinated 3.2.3 release ci: prepare 3.2.3 and automate npm trusted publishing Oct 20, 2026
@yourtion
yourtion merged commit 66d265f into main Oct 20, 2026
9 checks 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.

1 participant