SuperAPI AI 工具集

release-automation-small-repos

部署与运维

查看项目

更新于 10-16 08:19

技能介绍

用途

该技能帮助引导或重塑小型仓库,使其能够从源码构建产物,并发布到 GitHub Releases、包注册表、扩展市场等目标。核心理念是:让正确的发布路径成为最容易走的路径。仓库应暴露从源码或上游输入到经过验证的生成文件、构建产物、标签和已发布版本的清晰数据流。

主要能力

  • 推荐仓库结构:使用能揭示归属和数据流的命名,如 src/、scripts/、tests/、templates/、docs/、.github/workflows/、.mirror/ 或 data/ 等目录。
  • 数据流设计:从上游输入或本地源码,经过获取/生成/提取、验证字节/签名/校验和/模式/许可证/版本、写入源码与元数据、测试与验证与构建、更新 PR 或直接提交、合并到主分支、创建版本标签、发布到目标平台。
  • 脚本模式:保持工作流精简,将行为放入可在本地和 CI 中运行的脚本,如 sync:local、sync:github、validate、build、test、release、publish:<target> 等命令。
  • Python 自动化默认:使用 uv、pyproject.toml、typer、ruff、basedpyright 和 pytest;简单单文件脚本可使用 PEP 723 内联元数据。
  • 测试指导:优先编写少量冒烟、CLI、集成或端到端测试,使用真实命令、真实文件、真实进程和真实产物流;避免用 mock 掉获取/构建/打包/发布行为的单元测试来证明发布自动化。
  • 工作流模式:使用编号的工作流文件名,如 01-verify-build-package-artifact.yml、02-sync-upstream-and-open-update-pr.yml、03-create-version-tag-after-main-update.yml、04-publish-release-from-version-tag.yml。
  • 同步与生成模式:手动同步、定时同步、repository_dispatch、本地生成、混合生成;无操作检测应比较稳定身份而非仅时间戳。
  • 文档模式:README 应高层次说明仓库发布什么、是否官方、如何安装使用、发布如何产生;AGENTS.md 应包含项目地图、命令与预期输出、源码归属模型、同步流程图、发布流程图、安全变更清单、已知陷阱等。
  • 引导流程:识别产物和发布目标、版本与来源的真相来源、映射数据流、先创建脚本再连接工作流、在发布自动化前添加验证、添加测试、按编号顺序添加工作流、添加 README 和 AGENTS.md、本地验证、远程验证。
  • 验证策略:本地最低要求包括 test、validate、build、审计或生态系统安全检查、版本/来源一致性检查、git status;远程最低要求包括验证工作流成功、同步工作流成功或明确无操作、PR 差异仅包含预期文件、标签工作流正确创建或无操作、发布工作流创建/更新预期产物、发布资产名称/版本/哈希与真相来源匹配、无意外标签/发布/分支/开放 PR。
  • 产物安装验证:对于复杂打包逻辑如 Flatpak、DEB、RPM、Nix 或多发行版包,添加单独的产物安装验证步骤,在目标类 Docker/容器镜像中运行安装测试脚本,证明产物可用而不仅仅是已构建。
  • 回滚与干净发布验证:首选模式是用可逆的前向历史演练真实主分支发布路径;仅在明确批准下删除真实标签/发布或临时破坏主分支;使用次要测试分支当主分支回滚危险时。
  • 增量修复循环:验证失败时,保留证据、分类失败、修复最小层、运行本地检查、提交并推送前向修复、仅重跑必要的工作流段。

使用方式

该技能以指导性文档形式提供,用户可按照其推荐的仓库结构、脚本模式、工作流模式、测试指导和验证策略来引导或重塑小型仓库的发布自动化。具体安装命令或调用方式暂未提供。

适用场景

  • 需要从源码构建产物并发布到 GitHub Releases、包注册表、扩展市场等目标的小型仓库。
  • 需要建立清晰数据流、可审查更新 PR、可复现构建和真实验证的发布自动化流程。
  • 需要为维护中的项目设置严格的工具、验证和真实工作流验证默认值。

限制

  • 该技能主要针对小型仓库,大型或复杂项目可能需要调整。
  • 部分操作如删除真实标签/发布或临时破坏主分支需要明确批准。
  • 具体安装命令、收费信息、价格、平台支持等暂未提供。