我只是更改了GitHub存储库上的分支设置,所以我的[下一个]分支需要通过pull请求传递一个CI构建。
随后与许多团队成员进行了关于测试失败的讨论。
为了上下文...
该仓库有一个[大师]分支,只有PR'd成时,有一个释放,使[大师]包含代码为的最后一个版本,无论它是否是一个重大的,未成年人,修补程序,β,α-/预发行版本。
[next]分支是“默认”分支,我们打算保留“发布就绪”代码;从技术上讲,可以随时将该分支公诸于[master]并发布。
每个fork都有自己的dev分支,并为[next]贡献者PR。
当我审阅不重要的PR时,我会将贡献者的dev分支合并到我的“ review”分支中,如果我发现可以快速修复的问题,则将提交/推送更改以及新的(有时会失败)测试和PR返回贡献者的dev分支;当他们合并我的更改时,使新的失败测试通过,然后推送,它们的PR进行同步,然后将PR合并到[next]中。
但是这个问题不是关于通过测试,而是关于失败的测试。
测试失败记录了需要解决的问题。
已知的bug应该编写测试,以便我们知道什么不起作用。
从技术上讲,GitHub 问题列表(针对错误和/或关键 标签进行了过滤)也可以做到这一点。它是一个很好的做法,也有一堆失败的测试文档的bug?
在[next]上失败的构建意味着我们还没有准备好发布……但是,“准备发布”有点像“准备好”要孩子了-您从没有为此做好充分的准备,并且某些地方(重要性不一)将不可避免地出问题。
因此,我们只是将通过测试推向[next]。那么,将失败的测试推向何处呢?我的意思是,在PR /审查流程之外?
例如,一个用户在问题列表中报告了一个新错误,我想为其编写一个失败的测试套件-以便指定需要执行的操作以及在何处进行操作,这使新贡献者更容易上手最终PR修复。
我应该在哪里推动这些失败的测试?还是将失败的测试推送到任何地方甚至是个好主意?