Equipe Discourse - Como vocês estão tão confiantes em lançar atualizações de versão a cada poucos minutos?

Desculpe pela pergunta meta sobre o Discourse (trocadilho intencional…), mas preciso saber, como vocês conseguem lançar dezenas de atualizações de versão todos os dias com tanta confiança??
Quer dizer, o código é implantado ao vivo em inúmeros locais e o risco de quebrar um site que pode ter vários plugins/temas/componentes de terceiros é real.
Vocês devem ter um processo de integração contínua incrível - podem compartilhar algumas dicas sobre como conseguem testá-lo tão bem?

7 curtidas

Ajuda o fato de que implementamos todas as novas alterações primeiro em nossa comunidade interna — aquela que usamos para trabalhar todos os dias, e também em meta.discourse.org.

A equipe do Discourse recebe as alterações mais novas e brilhantes… e bugs. Então vocês, no meta, também sofrem o impacto.

Contrariamente à crença popular, não implementamos todas as alterações o tempo todo em todos os sites; implementamos em sites regularmente. Você está certo de que quebrar um site é um risco. Precisamos encontrar um bom equilíbrio entre manter os sites seguros e atualizados versus nunca atualizá-los por medo de quebras.

Para testes, você pode dar uma olhada em nossos repositórios. Também temos processos adicionais de build+teste internos

  • testes no core são executados a cada commit
  • testes em um plugin suportado
  • testes em um tema suportado

É um cenário ideal para um plugin de terceiros ter testes também, e também é bom notar que não os suportamos em nossa hospedagem devido à incapacidade de gerenciar incompatibilidade e segurança.

17 curtidas