From 1bbfd2a8d885ea448c0fa8301dc27969b5b77416 Mon Sep 17 00:00:00 2001
From: Jed Cunningham <jedcunningham@apache.org>
Date: Mon, 16 Jun 2025 16:49:02 -0600
Subject: [PATCH 1/3] Require release flags in breeze helm chart issue command
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We need these, so fail early if they are missing (say, you missed
escaping a newline 😂).
---
 dev/README_RELEASE_HELM_CHART.md              |  2 +-
 ...ment_generate-issue-content-helm-chart.svg | 26 ++++++++++---------
 ...ment_generate-issue-content-helm-chart.txt |  2 +-
 .../commands/release_management_commands.py   |  2 ++
 4 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/dev/README_RELEASE_HELM_CHART.md b/dev/README_RELEASE_HELM_CHART.md
index ff58a5957b428..0364f947af5e5 100644
--- a/dev/README_RELEASE_HELM_CHART.md
+++ b/dev/README_RELEASE_HELM_CHART.md
@@ -331,7 +331,7 @@ EOF
 Content is generated with:
 
 ```shell
-breeze release-management generate-issue-content-helm-chart
+breeze release-management generate-issue-content-helm-chart \
 --previous-release helm-chart/<PREVIOUS_RELEASE> --current-release helm-chart/${VERSION}${VERSION_SUFFIX}
 ```
 
diff --git a/dev/breeze/doc/images/output_release-management_generate-issue-content-helm-chart.svg b/dev/breeze/doc/images/output_release-management_generate-issue-content-helm-chart.svg
index 648f163976ecf..e9feecddd6ca0 100644
--- a/dev/breeze/doc/images/output_release-management_generate-issue-content-helm-chart.svg
+++ b/dev/breeze/doc/images/output_release-management_generate-issue-content-helm-chart.svg
@@ -38,7 +38,9 @@
 .breeze-release-management-generate-issue-content-helm-chart-r4 { fill: #68a0b3;font-weight: bold }
 .breeze-release-management-generate-issue-content-helm-chart-r5 { fill: #868887 }
 .breeze-release-management-generate-issue-content-helm-chart-r6 { fill: #8d7b39 }
-.breeze-release-management-generate-issue-content-helm-chart-r7 { fill: #98a84b;font-weight: bold }
+.breeze-release-management-generate-issue-content-helm-chart-r7 { fill: #cc555a }
+.breeze-release-management-generate-issue-content-helm-chart-r8 { fill: #8a4346 }
+.breeze-release-management-generate-issue-content-helm-chart-r9 { fill: #98a84b;font-weight: bold }
     </style>
 
     <defs>
@@ -120,19 +122,19 @@
 </text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="12.2" y="93.2" textLength="719.8" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-3)">Generates&#160;content&#160;for&#160;issue&#160;to&#160;test&#160;the&#160;helm&#160;chart&#160;release.</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-3)">
 </text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-4)">
 </text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-5)">╭─</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="24.4" y="142" textLength="268.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-5)">&#160;Generate&#160;issue&#160;flags&#160;</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="292.8" y="142" textLength="1146.8" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-5)">──────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1439.6" y="142" textLength="24.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-5)">─╮</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="142" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-5)">
-</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-6)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="24.4" y="166.4" textLength="170.8" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-6)">--github-token</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="292.8" y="166.4" textLength="1146.8" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-6)">GitHub&#160;token&#160;used&#160;to&#160;authenticate.&#160;You&#160;can&#160;set&#160;omit&#160;it&#160;if&#160;you&#160;have&#160;GITHUB_TOKEN&#160;env&#160;variable&#160;&#160;</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-6)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-6)">
-</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-7)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="292.8" y="190.8" textLength="1146.8" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-7)">set.&#160;Can&#160;be&#160;generated&#160;with:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-7)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-7)">
-</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-8)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="292.8" y="215.2" textLength="1146.8" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-8)">https://github.com/settings/tokens/new?description=Read%20sssues&amp;scopes=repo:status&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-8)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-8)">
-</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-9)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r6" x="292.8" y="239.6" textLength="1146.8" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-9)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-9)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-9)">
-</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="24.4" y="264" textLength="219.6" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">--previous-release</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="292.8" y="264" textLength="817.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">commit&#160;reference&#160;(for&#160;example&#160;hash&#160;or&#160;tag)&#160;of&#160;the&#160;previous&#160;release.</text><text class="breeze-release-management-generate-issue-content-helm-chart-r6" x="1122.4" y="264" textLength="73.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">(TEXT)</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="264" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="264" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">
-</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="24.4" y="288.4" textLength="207.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">--current-release</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="292.8" y="288.4" textLength="805.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">commit&#160;reference&#160;(for&#160;example&#160;hash&#160;or&#160;tag)&#160;of&#160;the&#160;current&#160;release.</text><text class="breeze-release-management-generate-issue-content-helm-chart-r6" x="1110.2" y="288.4" textLength="73.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">(TEXT)</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">
-</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-12)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="24.4" y="312.8" textLength="219.6" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-12)">--excluded-pr-list</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="292.8" y="312.8" textLength="646.6" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-12)">Coma-separated&#160;list&#160;of&#160;PRs&#160;to&#160;exclude&#160;from&#160;the&#160;issue.</text><text class="breeze-release-management-generate-issue-content-helm-chart-r6" x="951.6" y="312.8" textLength="73.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-12)">(TEXT)</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-12)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-12)">
-</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-13)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="24.4" y="337.2" textLength="195.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-13)">--limit-pr-count</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="292.8" y="337.2" textLength="805.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-13)">Limit&#160;PR&#160;count&#160;processes&#160;(useful&#160;for&#160;testing&#160;small&#160;subset&#160;of&#160;PRs).</text><text class="breeze-release-management-generate-issue-content-helm-chart-r6" x="1110.2" y="337.2" textLength="109.8" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-13)">(INTEGER)</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-13)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-13)">
-</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-14)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="24.4" y="361.6" textLength="97.6" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-14)">--latest</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="292.8" y="361.6" textLength="854" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-14)">Run&#160;the&#160;command&#160;against&#160;latest&#160;released&#160;version&#160;of&#160;airflow&#160;helm&#160;charts</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="361.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-14)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-14)">
+</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-6)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="61" y="166.4" textLength="170.8" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-6)">--github-token</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="329.4" y="166.4" textLength="1110.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-6)">GitHub&#160;token&#160;used&#160;to&#160;authenticate.&#160;You&#160;can&#160;set&#160;omit&#160;it&#160;if&#160;you&#160;have&#160;GITHUB_TOKEN&#160;env&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-6)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-6)">
+</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-7)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="329.4" y="190.8" textLength="1110.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-7)">variable&#160;set.&#160;Can&#160;be&#160;generated&#160;with:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-7)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-7)">
+</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-8)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="329.4" y="215.2" textLength="1110.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-8)">https://github.com/settings/tokens/new?description=Read%20sssues&amp;scopes=repo:status&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-8)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-8)">
+</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-9)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r6" x="329.4" y="239.6" textLength="1110.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-9)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-9)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-9)">
+</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r7" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">*</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="61" y="264" textLength="219.6" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">--previous-release</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="329.4" y="264" textLength="817.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">commit&#160;reference&#160;(for&#160;example&#160;hash&#160;or&#160;tag)&#160;of&#160;the&#160;previous&#160;release.</text><text class="breeze-release-management-generate-issue-content-helm-chart-r6" x="1159" y="264" textLength="73.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">(TEXT)</text><text class="breeze-release-management-generate-issue-content-helm-chart-r8" x="1244.4" y="264" textLength="122" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">[required]</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="264" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="264" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-10)">
+</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r7" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">*</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="61" y="288.4" textLength="207.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">--current-release</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="329.4" y="288.4" textLength="805.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">commit&#160;reference&#160;(for&#160;example&#160;hash&#160;or&#160;tag)&#160;of&#160;the&#160;current&#160;release.</text><text class="breeze-release-management-generate-issue-content-helm-chart-r6" x="1146.8" y="288.4" textLength="73.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">(TEXT)</text><text class="breeze-release-management-generate-issue-content-helm-chart-r8" x="1232.2" y="288.4" textLength="122" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">[required]</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-11)">
+</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-12)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="61" y="312.8" textLength="219.6" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-12)">--excluded-pr-list</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="329.4" y="312.8" textLength="646.6" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-12)">Coma-separated&#160;list&#160;of&#160;PRs&#160;to&#160;exclude&#160;from&#160;the&#160;issue.</text><text class="breeze-release-management-generate-issue-content-helm-chart-r6" x="988.2" y="312.8" textLength="73.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-12)">(TEXT)</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-12)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-12)">
+</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-13)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="61" y="337.2" textLength="195.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-13)">--limit-pr-count</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="329.4" y="337.2" textLength="805.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-13)">Limit&#160;PR&#160;count&#160;processes&#160;(useful&#160;for&#160;testing&#160;small&#160;subset&#160;of&#160;PRs).</text><text class="breeze-release-management-generate-issue-content-helm-chart-r6" x="1146.8" y="337.2" textLength="109.8" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-13)">(INTEGER)</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-13)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-13)">
+</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-14)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="61" y="361.6" textLength="97.6" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-14)">--latest</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="329.4" y="361.6" textLength="854" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-14)">Run&#160;the&#160;command&#160;against&#160;latest&#160;released&#160;version&#160;of&#160;airflow&#160;helm&#160;charts</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="361.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-14)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-14)">
 </text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="386" textLength="1464" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-15)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="386" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-15)">
 </text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="410.4" textLength="24.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-16)">╭─</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="24.4" y="410.4" textLength="195.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-16)">&#160;Common&#160;options&#160;</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="219.6" y="410.4" textLength="1220" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-16)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1439.6" y="410.4" textLength="24.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-16)">─╮</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-16)">
-</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-17)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="24.4" y="434.8" textLength="109.8" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-17)">--verbose</text><text class="breeze-release-management-generate-issue-content-helm-chart-r7" x="158.6" y="434.8" textLength="24.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-17)">-v</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="207.4" y="434.8" textLength="585.6" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-17)">Print&#160;verbose&#160;information&#160;about&#160;performed&#160;steps.</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-17)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-17)">
-</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-18)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="24.4" y="459.2" textLength="73.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-18)">--help</text><text class="breeze-release-management-generate-issue-content-helm-chart-r7" x="158.6" y="459.2" textLength="24.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-18)">-h</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="207.4" y="459.2" textLength="329.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-18)">Show&#160;this&#160;message&#160;and&#160;exit.</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-18)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-18)">
+</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-17)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="24.4" y="434.8" textLength="109.8" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-17)">--verbose</text><text class="breeze-release-management-generate-issue-content-helm-chart-r9" x="158.6" y="434.8" textLength="24.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-17)">-v</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="207.4" y="434.8" textLength="585.6" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-17)">Print&#160;verbose&#160;information&#160;about&#160;performed&#160;steps.</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-17)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-17)">
+</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-18)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r4" x="24.4" y="459.2" textLength="73.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-18)">--help</text><text class="breeze-release-management-generate-issue-content-helm-chart-r9" x="158.6" y="459.2" textLength="24.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-18)">-h</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="207.4" y="459.2" textLength="329.4" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-18)">Show&#160;this&#160;message&#160;and&#160;exit.</text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="1451.8" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-18)">│</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-18)">
 </text><text class="breeze-release-management-generate-issue-content-helm-chart-r5" x="0" y="483.6" textLength="1464" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-19)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-generate-issue-content-helm-chart-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-helm-chart-line-19)">
 </text>
     </g>
diff --git a/dev/breeze/doc/images/output_release-management_generate-issue-content-helm-chart.txt b/dev/breeze/doc/images/output_release-management_generate-issue-content-helm-chart.txt
index 68f8a48a8b621..135b4c86b52fc 100644
--- a/dev/breeze/doc/images/output_release-management_generate-issue-content-helm-chart.txt
+++ b/dev/breeze/doc/images/output_release-management_generate-issue-content-helm-chart.txt
@@ -1 +1 @@
-798f6631dad1b650e8a48fa5d51d73e6
+b18a6246850723983de6bdd98273b095
diff --git a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
index f9cf24bae709c..8ebbef8194d1c 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -2676,11 +2676,13 @@ def print_issue_content(
     "--previous-release",
     type=str,
     help="commit reference (for example hash or tag) of the previous release.",
+    required=True,
 )
 @click.option(
     "--current-release",
     type=str,
     help="commit reference (for example hash or tag) of the current release.",
+    required=True,
 )
 @click.option("--excluded-pr-list", type=str, help="Coma-separated list of PRs to exclude from the issue.")
 @click.option(

From 555c9843fd8d239830235317e9e5e8c2dfd2cc6a Mon Sep 17 00:00:00 2001
From: Jed Cunningham <jedcunningham@apache.org>
Date: Tue, 17 Jun 2025 22:59:54 -0600
Subject: [PATCH 2/3] Fix test - use fixed tags

---
 .github/workflows/helm-tests.yml | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/helm-tests.yml b/.github/workflows/helm-tests.yml
index 65b866785c704..8d4a141ec064e 100644
--- a/.github/workflows/helm-tests.yml
+++ b/.github/workflows/helm-tests.yml
@@ -130,11 +130,10 @@ jobs:
           SIGN_WITH: dev@airflow.apache.org
       - name: "Fetch Git Tags"
         run: git fetch --tags
-      - name: "Test helm chart issue generation automatically"
-        # Adding same tags for now, will address in a follow-up
+      - name: "Test helm chart issue generation"
         run: >
-          breeze release-management generate-issue-content-helm-chart --limit-pr-count 10
-          --latest --verbose
+          breeze release-management generate-issue-content-helm-chart --limit-pr-count 2
+          --previous_version helm-chart/1.15.0 --current-version helm-chart/1.16.0 --verbose
       - name: "Upload Helm artifacts"
         uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02  # v4.6.2
         with:

From 26a75114ff081a0293612c9cdbc96c59e3be93ce Mon Sep 17 00:00:00 2001
From: Jed Cunningham <jedcunningham@apache.org>
Date: Tue, 17 Jun 2025 23:15:28 -0600
Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=A4=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .github/workflows/helm-tests.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/helm-tests.yml b/.github/workflows/helm-tests.yml
index 8d4a141ec064e..e889e25160cea 100644
--- a/.github/workflows/helm-tests.yml
+++ b/.github/workflows/helm-tests.yml
@@ -133,7 +133,7 @@ jobs:
       - name: "Test helm chart issue generation"
         run: >
           breeze release-management generate-issue-content-helm-chart --limit-pr-count 2
-          --previous_version helm-chart/1.15.0 --current-version helm-chart/1.16.0 --verbose
+          --previous-release helm-chart/1.15.0 --current-release helm-chart/1.16.0 --verbose
       - name: "Upload Helm artifacts"
         uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02  # v4.6.2
         with:
