Branching e Release Open-Source (Open Source)

Release regolari

Tutte le release partono dal branch dev. Il team di DefectDojo punta a mantenere il seguente ritmo:

  • Release minori: almeno una volta al mese, il primo lunedì del mese.
  • Patch: release ogni settimana di lunedì.
  • Release di sicurezza: possono essere eseguite al di fuori del nostro ritmo regolare, a seconda della gravità. Anche queste partono da dev.

Non esiste un branch separato per le correzioni di bug né un branch di hotfix da master. Ogni pull request, correzione o funzionalità, punta a dev.

GitHub Actions è la fonte autorevole. Le release sono semi-automatizzate. I passaggi per ogni release sono:

  1. Crea il branch di release da dev e prepara una PR verso master (dettagli) –> Un maintainer verifica e unisce manualmente la PR
  2. Tag, creazione della release in bozza e build+push Docker (dettagli) –> Un maintainer rifinisce le note del release-drafter e pubblica la release
  3. Viene creata una PR per unire master di nuovo in dev, per riallineare i branch (dettagli)

Release di sicurezza

Le PR relative a problemi di sicurezza vengono gestite tramite security advisory, che offrono un modo per lavorare privatamente sul codice senza divulgare prematuramente le vulnerabilità.

Modello di release

Diagrammi creati con plantUML. Trovi un editor web per PlantUML su https://www.planttext.com.