Branches et versions Open Source (Open Source)
Sur cette page
Versions régulières
Toutes les versions sont issues de la branche dev. L’équipe DefectDojo vise à maintenir la cadence suivante :
- Versions mineures : au moins une fois par mois, le premier lundi du mois.
- Correctifs : versions chaque semaine, le lundi.
- Versions de sécurité : peuvent être réalisées en dehors de notre cadence habituelle, selon la gravité. Elles sont aussi issues de
dev.
Il n’y a pas de branche séparée pour les corrections de bugs, ni de branche de correctif d’urgence à partir de master. Toute PR, correction ou fonctionnalité, cible dev.
Les GitHub Actions font foi. Les versions sont semi-automatisées. Les étapes de chaque version sont les suivantes :
- Créer la branche de version à partir de
devet préparer une PR versmaster(détails) –> Un mainteneur vérifie et fusionne manuellement la PR - Créer le tag, publier la version brouillon (draft release) et effectuer le build+push Docker (détails) –> Un mainteneur retravaille les notes du release-drafter et publie la version
- Une PR pour fusionner
masterversdevest créée afin de réaligner les branches (détails)
Versions de sécurité
Les PR liées à des problèmes de sécurité sont traitées via des avis de sécurité qui permettent de travailler en privé sur le code sans divulguer prématurément les vulnérabilités.
Modèle de version
Les diagrammes sont créés avec plantUML. Vous trouverez un éditeur web pour PlantUML à l’adresse https://www.planttext.com.
participant “Dev Branch” as dev #LightBlue participant “Release Branch” as release #LightGoldenRodYellow participant “Master Branch” as master #LightSalmon
== Minor Release (Monthly) ==
dev -> release: Create branch “release/merge-dev-into-master-2.x.0” release -> master: Merge note right: Official Release\n - Tag 2.x.0\n - Push 2.x.0 to DockerHub master –> dev: Merge master back into dev
== Patch Release (Weekly) ==
dev -> release: Create branch “release/merge-dev-into-master-2.x.y” release -> master: Merge note right: Official Release\n - Tag 2.x.y\n - Push 2.x.y to DockerHub master –> dev: Merge master back into dev
@enduml
</div>