Acabei de alterar as configurações de ramificação em meu repositório GitHub, para que minha ramificação [next] exija uma construção de IC de passagem através de uma solicitação pull.
Seguiu-se uma discussão com vários membros da equipe sobre falhas nos testes.
Por uma questão de contexto ...
O repositório possui uma ramificação [master] na qual somente o PR é liberado quando há uma versão, portanto [master] contém o código da última versão, independentemente de ser um major, um secundário, um hotfix, um beta, alfa / compilação de pré-lançamento.
O ramo [next] é o "padrão", onde pretendemos manter o código "release-ready"; tecnicamente, esse ramo poderia ser transferido para o [mestre] a qualquer momento e liberado.
Garfos individuais têm suas próprias ramificações de desenvolvimento e contribuem com o PR para o [próximo].
Quando eu reviso um PR não trivial, mesclarei o ramo de desenvolvimento do colaborador no meu ramo "review" e, se vir coisas que posso corrigir rapidamente, confirmará / enviará alterações e novos testes (às vezes com falha) e PR de volta ao ramo de desenvolvimento do colaborador; quando eles mesclam minhas alterações, fazem com que os novos testes com falha passem e, em seguida, pressionam, seu PR é sincronizado, e depois mesclarei o PR em [próximo].
Mas essa pergunta não é sobre passar nos testes, é sobre os que falham .
Testes com falha documentam o que precisa ser corrigido.
Bugs conhecidos devem ter testes escritos, para que possamos saber o que não está funcionando.
Tecnicamente, a lista de problemas do GitHub (filtrada por erros e / ou rótulos críticos ) também faz isso. É uma boa prática também ter vários testes com falha para documentar bugs?
Uma compilação falha em [próximo] significaria que não estamos liberar-pronto ... mas, em seguida, "ser liberação-ready" é um pouco como "estar pronto" para ter filhos - você nunca está completamente pronto para isso, e algo, algum lugar (de importância variável) inevitavelmente dará errado com o lançamento.
Então, estamos apenas passando os testes para o [próximo]. Onde empurrar testes falhos, então? Quero dizer, fora do processo de PR / revisão?
Por exemplo, um usuário relata um novo bug na lista de problemas e eu gostaria de escrever um conjunto de testes com falha - para especificar o que precisa ser feito e onde, o que facilita a coleta de novos colaboradores e, eventualmente, PR uma correção.
Onde devo empurrar esses testes com falha? Ou é mesmo uma boa idéia enviar testes com falha para qualquer lugar?