【发布时间】:2023-01-25 18:59:29
【问题描述】:
我在 github 操作中有一个工作流程,每次我将 PR 合并到 main(here's repo)时,它会自动创建构建工件并使用这些新的构建工件更新单个版本。
我想知道新的 PR 是否会导致构建工件发生变化(具体来说,我只关心一个 CSV 文件)。有时这些更改是有意的,有时不是,所以我想要在 PR 之前的 CSV 文件和 PR 之后的 CSV 文件之间添加类似 git diff 的内容。
我知道我可以设置一个 github 操作来:
- 检查旧版本的代码。
- 运行代码生成构建工件
- 将感兴趣的文件保存到光盘
- 从 PR 中检查建议的代码版本
- 运行 PR 代码以生成构建工件
-
git diffPR之前的版本到PR之后的版本。 - 格式化
git diff输出并将其作为注释写入 PR,让 我知道发生了什么变化,所以我可以手动检查一切是否正常。但这似乎是一个非常普遍的问题,我不敢相信没有一个简单的问题 工具/解决方案已经存在了吗?也许是一些 github 操作,你给它两个 SHA,一个要运行的命令,以及一个文件列表到
git diff。需要明确的是,这些是构建工件,因此不会被 git 跟踪,因此
git diff pullrequest main -- myfile.csv之类的解决方案将不起作用。
【问题讨论】:
-
我面临同样的问题。一个侧面的想法:在
main(或您的 PR 指向的任何分支)上运行代码以生成工件,然后在分支的 HEAD 上运行代码不是 DRY。因此,一种方法可能是使用git notes来跟踪工件列表及其各自的 SHA,为下一次 PR 做好准备。 -
直到关于 git 笔记。但是关于这个问题,我最终放弃了尝试,因为我找不到一个简单的方法来解决它并且不想在项目中花费很多时间。
-
好吧,我有一点空闲时间(:
标签: github-actions cicd artifact