SuperAPI AI 工具集

maintain-ci

部署与运维

查看项目

更新于 10-16 07:24

技能介绍

用途:当改动涉及 .github/workflows/*.yml 或 *.yaml,或需要从安全、可靠性、可复现性角度审查 CI 行为时使用本技能。

主要能力与标准:权限应放在需要令牌访问的每个 job 上,避免工作流级权限(除非仓库有意集中管理并记录继承取舍);第三方 action 固定到完整 commit SHA 并保留可读版本注释;优先使用 action 原生或生态原生缓存而非通用 actions/cache,用 lockfile 或依赖清单驱动缓存失效;部署与发布权限隔离到需要的 job;使用 workflow_call 时同时阅读调用方与被调用方;有基于标签发布时,把发布标签校验放在最早的调用方 job;发布标签策略与 RELEASING.md 对齐(仅原始 SemVer,无前导 v);Codecov 组件路径随新增 crate、包和生成产物同步;纯 Python 插件 SDK 打包为单个 wheel 产物。

权限模型:contents: read 为基于 checkout 的构建、测试、文档、打包 job 默认最小权限;pull-requests: read 用于 PR 元数据查询;pages: write 与 id-token: write 仅限 Pages 部署 job 及通过可复用工作流调用它们的调用方;可复用工作流中调用方须授予被调用 job 所需全部权限,被调用方无法越权。

缓存:优先 astral-sh/setup-uv 的缓存支持,cache-dependency-glob 锚定 uv.lock;优先 Swatinem/rust-cache 并显式设置 shared-key 与 workspaces;避免缓存可能掩盖陈旧行为的生成产物。

验证:先做最窄检查,如 ruby -e 'require "yaml"; Dir[".github/workflows/*.{yml,yaml}"].each { |f| YAML.load_file(f) }; puts "yaml-ok"' 与 uv run pre-commit run;编辑前用 rg -n "uses:|permissions:|workflow_call|secrets:|upload-artifact|download-artifact|upload-pages-artifact|deploy-pages|codecov|cache" .github/workflows 检查工作流图。本地 lint 通过不代表 GitHub 会授权运行,需检查 GitHub 权限模型与上游 action 或可复用工作流源码。

限制:资料未提供具体收费、平台支持范围或效果数据。