我想让 TravisCI 或其他一些 GitHub 应用程序根据我提供的脚本自动修改拉取请求。我怎样才能做到这一点?(或者也许有比我想出的更好的解决方案。)
原因:
我正在尝试向 GitHub 项目添加集成测试,以便它自动运行项目并将输出与已知的良好输出进行比较。如果有差异,它应该报告错误。
但是,我的测试在多个平台上运行并使用不同版本的库。平台和库的不同组合导致不同的输出,都是有效的。例如,旧版本的库可能会进行与新版本不同的优化,因此输出不同但都有效。
由于难以为每种可能的库组合生成输出,我认为 TravisCI 可以生成它们并代表 PR 作者将它们添加到拉取请求中。
或者一个完全不同的系统测试解决方案也可以。谢谢!
一个更具体的例子:
我正在从事的项目是pcb2gcode。它将电路板布局 (gerbers) 转换为 CNC 机器 (g 代码) 的指令来铣削和钻孔板。根据某些库的版本,例如boost和gerbv,输出可能略有不同但仍然有效。
我想要一个测试 gerbers 目录,该目录会自动运行并与已提交到 github 的预期输出进行比较。如果实际输出与预期输出匹配,则测试通过。
但是预期的输出取决于库。一种解决方案是为不同的库组合提供预期的输出。然后与正确的预期输出集进行比较。
生成这些预期输出很困难,因为开发人员需要使用所有库组合运行代码。TravisCI 正在运行测试并生成输出,因此它也可以将这些新的预期输出写入 PR。然后所有测试都将通过,并且可以在代码审查期间与 PR 的其余部分一起检查预期的输出。
或者其他更好的系统测试方法!