no momento em que algo se compromete a dominar
Normalmente, configurei meu IC para executar em todas as confirmações. As ramificações não são mescladas no master até que a ramificação tenha sido testada. Se você está confiando na execução de testes no master, isso abre uma janela para a compilação ser quebrada.
A execução dos testes em uma máquina de IC é sobre resultados reproduzíveis. Como o servidor de IC possui um ambiente limpo conhecido extraído do seu VCS, você sabe que os resultados do teste estão corretos. Ao executar localmente, você pode esquecer de confirmar algum código necessário para que eles passem ou ter um código não confirmado que os faz passar quando deveriam estar falhando.
Ele também pode economizar tempo dos desenvolvedores executando conjuntos diferentes em paralelo, especialmente se alguns forem testes lentos e de vários minutos que provavelmente não serão executados localmente após cada alteração.
No meu trabalho atual, nossa implantação de produção depende do IC aprovado em todos os testes. Os scripts de implantação impedirão a implantação, a menos que estejam passando. Isso torna impossível esquecer acidentalmente de executá-los.
O IC fazendo parte do fluxo de trabalho também sobrecarrega os desenvolvedores. Como desenvolvedor, você costuma executar um teste de linter, analisador estático, teste de unidade, cobertura de código e integração para cada alteração? O CI pode, de forma totalmente automática e sem a necessidade de pensar nisso - reduzindo o cansaço da decisão.