软件工程
安全升级一项依赖
已更新的依赖:发行影响已审查、锁定文件可复现,兼容与安全检查通过。
流程
按这个顺序做。
- 盘点直接依赖、当前与目标版本、包清单、锁文件、运行时约束和传递影响。
- 阅读目标发行说明、迁移指南和安全公告;列出影响本代码库的破坏性变更。
- 创建聚焦更新分支,并用项目包管理器更改清单和锁文件,而不是手改生成文件。
- 运行安装完整性、静态检查、单元测试、集成测试,以及任何演练依赖边界的构建或冒烟测试。
- 检查依赖差异中的意外包、脚本、许可变更和版本跳跃;可行时分开大版本升级。
- 记录迁移变更和回滚说明,请求审阅,并仅在所需检查通过后合并。
先准备
猫会向你要的输入。
- 仓库
- 依赖名称与目标策略或版本
- 构建与测试命令
- 支持的运行时矩阵
路由器 + 一份 playbook
先路由。只选一份。
Cat Paw 每次任务只加载一份 playbook,不合并多份。先走这个路由器;其余路径是此 workflow 可检查的候选。
- 路由器:
engineering-pack skills/engineering/addyosmani/incremental-implementation/SKILL.mdskills/engineering/mattpocock/tdd/SKILL.mdskills/engineering/mattpocock/code-review/SKILL.md
界限
界限跟着提示一起走。
- 生产凭证在场时,绝不运行不可信安装脚本。
- 除非明确请求,不要捆绑无关依赖升级。
- 保全并审阅锁文件变更;不要绕过失败的兼容性测试。
完成代表
一个可核对的终点。
预定版本出现在已解析依赖图中,仅剩已解释的依赖变更,所需检查通过,回滚说明可用。
来源
这个流程从哪来。
- docs.github.com/en/code-security/concepts/supply-chain-security/dependabot-version-updates
- docs.github.com/en/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-version-updates
来源确立 workflow 的模式。如有 Reddit 或社区帖子,视为实务轶事,不是普遍事实。