用途:该技能用于生成、修复或调试执行 pnpm 包 OIDC 可信发布的 GitHub Actions 工作流文件(publish.yml),并配套处理其测试、构建、打包与发布环节。它面向需要稳定复用同一套加固发布模式的开发者,避免每次从 CI 日志重新摸索细节。
主要能力:1)检查 package.json、.npmrc、锁文件与现有 .github/workflows/.yml;2)把工作流依赖解析到当时最新稳定版并固定为完整提交 SHA,保留已有固定 SHA 并加版本注释以便 Dependabot 升级;3)测试与构建任务的 Node 版本取自项目既有目标(devEngines.runtime、.nvmrc、.node-version、volta.node 或 CI 配置),不擅自抬高;4)发布步骤独立固定 Node 24.8.0 或更高,因为其自带 npm 11.6.0 已超过可信发布要求的 npm CLI 11.5.1,并保留低版本时的 npm 升级守护步骤;5)pnpm 项目优先用 pnpm/setup,设 install: false 后显式执行 pnpm install --frozen-lockfile --ignore-scripts;发布工作流不使用 Corepack;6)每个 checkout 设 persist-credentials: false;7)打 tarball 到 package/.tgz,发布任务下载并发布其解析路径;8)使用 GitHub OIDC 可信发布而非 npm token,provenance 自动生成,无需 --provenance;9)按 release 加并发组,避免两个 tag 推送竞态;10)声明最小权限 GITHUB_TOKEN,仅发布任务获得 id-token: write;11)要求 repository.url 与运行工作流的仓库一致,否则 Sigstore 溯源校验会以 422 失败。
使用方式:按模板形态生成工作流,但模板中的动作 SHA 是占位符,必须重新解析各动作最新稳定版并替换为其完整提交 SHA,注释保持准确;不要逐字复制示例 SHA。可用 npx actions-up 自动重写 uses 引用为带 SHA 和版本注释的形式。
适用场景与限制:适用于 pnpm 包的可信发布流水线建设与排障。三种 Node 版本(engines.node 为消费者下限、测试与构建用项目目标版本、发布步骤独立用 24.8.0+)需分开维护,不能为“保持一致”而互相复制;发布不添加 npm 认证 token。具体命令与示例以资料中给出的工作流为准。