オープンソースのブランチ運用とリリース (Open Source)

定期リリース

すべてのリリースはdevブランチから作成されます。DefectDojoチームは、以下のケイデンスを維持することを目指しています。

  • マイナーリリース: 毎月第1月曜日に少なくとも月1回。
  • パッチ: 毎週月曜日にリリース。
  • セキュリティリリース: 深刻度に応じて、通常のケイデンスとは別に実施されることがあります。これもdevから作成されます。

バグ修正用の独立したブランチや、masterから分岐するホットフィックスブランチはありません。バグ修正も機能追加も、すべてのプルリクエストはdevを対象とします。

GitHub Actionsが正となります。リリースは半自動化されています。リリースの手順は以下のとおりです。

  1. devからリリースブランチを作成し、masterに対するPRを準備します(詳細) –> メンテナーがPRを検証し、手動でマージします
  2. タグ付け、ドラフトリリースの発行、Dockerのビルド+プッシュを行います(詳細) –> メンテナーがrelease-drafterのノートを整えてリリースを公開します
  3. ブランチを再整合させるため、masterをdevにマージし直すPRが作成されます(詳細)

セキュリティリリース

セキュリティ問題に関連するPRは、セキュリティアドバイザリを通じて行われます。これにより、脆弱性を早期に公開することなく非公開でコードに取り組むことができます。

リリースモデル

図はplantUMLで作成されています。PlantUML用のWebベースエディタはhttps://www.planttext.com で見つかります。