O que é um release candidate?
Um release candidate é um build que se acredita estar pronto para release e recebe teste final antes de ser declarado o release oficial.
Um release candidate, frequentemente abreviado RC, é a versão "achamos que é esta". Ela está feature-complete e passou pelas verificações regulares; a fase de RC é a última oportunidade de encontrar problemas bloqueadores antes de ela se tornar o release de verdade.
O que é
Um release candidate é um build específico, frequentemente versionado como 2.0.0-rc.1, que um time pretende lançar a menos que algo sério seja encontrado. Nenhuma feature nova é adicionada neste ponto; apenas correções para bugs genuinamente bloqueadores do release. Se o candidato sobrevive à validação, ele é promovido ao release final.
Como é validado
O RC é implantado em um ambiente semelhante à produção e submetido a teste final: suítes completas de regression, smoke tests, verificações manuais de áreas de alto risco e, às vezes, um rollout limitado para usuários reais. O objetivo é revelar qualquer coisa que o pipeline normal deixou passar antes que afete a todos.
Um exemplo
Um time marca a v3.0.0-rc.1 e a implanta em staging para uma passada de validação final. Testadores encontram um bug crítico, então o corrigem e cortam a rc.2. Essa passa, e a rc.2 é promovida, byte a byte, para se tornar o release oficial v3.0.0.
Por que times a usam
A etapa de RC fornece uma linha clara entre "provavelmente pronto" e "oficialmente lançado". Ela dá uma janela definida para teste final e focado e um alvo estável para validar, em vez de um em movimento. Se problemas aparecem, você itera sobre candidatos em vez de correr atrás depois de um release.
Promover, não reconstruir
Uma prática chave é que o release final é exatamente o mesmo artifact que o candidato validado, apenas re-rotulado. Reconstruir para o release descartaria o trabalho de validação, já que você estaria lançando algo sutilmente diferente do que testou.
Principais conclusões
- Um release candidate é um build que se acredita pronto, à espera de teste final.
- Apenas correções que bloqueiam o release são feitas durante a fase de RC.
- O candidato validado é promovido inalterado ao release final.