Branching e Releases do Open-Source (Open Source)

Releases regulares

A equipe do DefectDojo busca manter a seguinte cadência:

  • Releases menores (minor): pelo menos uma vez por mês, na primeira segunda-feira do mês.
  • Patch/Bugfix: releases toda semana, às segundas-feiras.
  • Releases de segurança: serão realizadas fora da nossa cadência regular, dependendo da severidade.

As GitHub Actions são a fonte da verdade. Os releases são semiautomatizados. As etapas de um release regular são:

  1. Criar o branch de release a partir de dev ou bugfix e preparar um PR contra master (detalhes) –> Um mantenedor verifica e faz o merge manual do PR
  2. Criar a tag, emitir o draft release e fazer o build+push do docker (detalhes) –> Um mantenedor ajusta as notas do release-drafter e publica o release
  3. É criado um PR para fazer o merge de master de volta para dev e bugfix, realinhando os branches (detalhes)

Releases de segurança

PRs relacionados a questões de segurança são feitos por meio de security advisories, que oferecem uma forma de trabalhar de modo privado no código sem divulgar prematuramente as vulnerabilidades.

Modelo de release e hotfix

Diagramas criados com plantUML. Encontre um editor web para PlantUML em https://www.planttext.com.