This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 316ea01cbd7 Make parameter `--github-token` optional in breeze (#53641)
316ea01cbd7 is described below
commit 316ea01cbd7872bac348b736d36416815c53c30d
Author: Vincent <[email protected]>
AuthorDate: Tue Jul 22 12:50:12 2025 -0400
Make parameter `--github-token` optional in breeze (#53641)
---
dev/breeze/doc/images/output_ci-image_load.svg | 72 ++++++++++------------
dev/breeze/doc/images/output_ci-image_load.txt | 2 +-
dev/breeze/doc/images/output_prod-image_load.svg | 62 ++++++++-----------
dev/breeze/doc/images/output_prod-image_load.txt | 2 +-
.../airflow_breeze/commands/ci_image_commands.py | 9 ++-
.../commands/common_image_options.py | 1 -
.../commands/production_image_commands.py | 9 ++-
7 files changed, 75 insertions(+), 82 deletions(-)
diff --git a/dev/breeze/doc/images/output_ci-image_load.svg
b/dev/breeze/doc/images/output_ci-image_load.svg
index bcf39f4a31b..eb5c3762fd9 100644
--- a/dev/breeze/doc/images/output_ci-image_load.svg
+++ b/dev/breeze/doc/images/output_ci-image_load.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 928.4"
xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 879.5999999999999"
xmlns="http://www.w3.org/2000/svg">
<!-- Generated with Rich https://www.textualize.io -->
<style>
@@ -39,13 +39,11 @@
.breeze-ci-image-load-r5 { fill: #868887 }
.breeze-ci-image-load-r6 { fill: #98a84b;font-weight: bold }
.breeze-ci-image-load-r7 { fill: #8d7b39 }
-.breeze-ci-image-load-r8 { fill: #cc555a }
-.breeze-ci-image-load-r9 { fill: #8a4346 }
</style>
<defs>
<clipPath id="breeze-ci-image-load-clip-terminal">
- <rect x="0" y="0" width="1463.0" height="877.4" />
+ <rect x="0" y="0" width="1463.0" height="828.5999999999999" />
</clipPath>
<clipPath id="breeze-ci-image-load-line-0">
<rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -146,15 +144,9 @@
<clipPath id="breeze-ci-image-load-line-32">
<rect x="0" y="782.3" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="breeze-ci-image-load-line-33">
- <rect x="0" y="806.7" width="1464" height="24.65"/>
- </clipPath>
-<clipPath id="breeze-ci-image-load-line-34">
- <rect x="0" y="831.1" width="1464" height="24.65"/>
- </clipPath>
</defs>
- <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1"
x="1" y="1" width="1480" height="926.4" rx="8"/><text
class="breeze-ci-image-load-title" fill="#c5c8c6" text-anchor="middle" x="740"
y="27">Command: ci-image load</text>
+ <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1"
x="1" y="1" width="1480" height="877.6" rx="8"/><text
class="breeze-ci-image-load-title" fill="#c5c8c6" text-anchor="middle" x="740"
y="27">Command: ci-image load</text>
<g transform="translate(26,22)">
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -170,36 +162,34 @@
</text><text class="breeze-ci-image-load-r1" x="12.2" y="93.2"
textLength="317.2"
clip-path="url(#breeze-ci-image-load-line-3)">Load CI image from a file.</text><text
class="breeze-ci-image-load-r1" x="1464" y="93.2" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-3)">
</text><text class="breeze-ci-image-load-r1" x="1464" y="117.6"
textLength="12.2" clip-path="url(#breeze-ci-image-load-line-4)">
</text><text class="breeze-ci-image-load-r5" x="0" y="142" textLength="24.4"
clip-path="url(#breeze-ci-image-load-line-5)">╭─</text><text
class="breeze-ci-image-load-r5" x="24.4" y="142" textLength="219.6"
clip-path="url(#breeze-ci-image-load-line-5)"> Load image flags </text><text
class="breeze-ci-image-load-r5" x="244" y="142" textLength="1195.6"
clip-path="url(#breeze-ci-image-load-line-5)">───────────────────────────────────────────────────────────────────────────
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="166.4" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-6)">│</text><text
class="breeze-ci-image-load-r4" x="61" y="166.4" textLength="97.6"
clip-path="url(#breeze-ci-image-load-line-6)">--python</text><text
class="breeze-ci-image-load-r6" x="402.6" y="166.4" textLength="24.4"
clip-path="url(#breeze-ci-image-load-line-6)">-p</text><text
class="breeze-ci-image-load-r1" x="451.4" y="166.4" textLength="732"
clip-path="url(#bre [...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="190.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-7)">│</text><text
class="breeze-ci-image-load-r7" x="451.4" y="190.8" textLength="732"
clip-path="url(#breeze-ci-image-load-line-7)">(>3.10< | 3.11 | 3.12 | 3.13)                             
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="215.2" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-8)">│</text><text
class="breeze-ci-image-load-r5" x="451.4" y="215.2" textLength="732"
clip-path="url(#breeze-ci-image-load-line-8)">[default: 3.10]                                    &#
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="239.6" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-9)">│</text><text
class="breeze-ci-image-load-r4" x="61" y="239.6" textLength="122"
clip-path="url(#breeze-ci-image-load-line-9)">--platform</text><text
class="breeze-ci-image-load-r1" x="451.4" y="239.6" textLength="707.6"
clip-path="url(#breeze-ci-image-load-line-9)">Platform for Airflow image.          
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="264" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-10)">│</text><text
class="breeze-ci-image-load-r7" x="451.4" y="264" textLength="707.6"
clip-path="url(#breeze-ci-image-load-line-10)">(linux/amd64 | linux/arm64 | linux/x86_64 | linux/aarch64)</text><text
class="breeze-ci-image-load-r5" x="1451.8" y="264" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-10)">│</text><text class=" [...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="288.4" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-11)">│</text><text
class="breeze-ci-image-load-r4" x="61" y="288.4" textLength="146.4"
clip-path="url(#breeze-ci-image-load-line-11)">--image-file</text><text
class="breeze-ci-image-load-r1" x="451.4" y="288.4" textLength="988.2"
clip-path="url(#breeze-ci-image-load-line-11)">Optional file name to load the image from - name&
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="312.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-12)">│</text><text
class="breeze-ci-image-load-r1" x="451.4" y="312.8" textLength="988.2"
clip-path="url(#breeze-ci-image-load-line-12)">convention:`ci-image-save-v3-{escaped_platform}-*-{python_version}.tar`. where   </text><text
class="breeze-ci-image-load-r5" x="1451.8" y="312.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-12)">│< [...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="337.2" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-13)">│</text><text
class="breeze-ci-image-load-r1" x="451.4" y="337.2" textLength="988.2"
clip-path="url(#breeze-ci-image-load-line-13)">escaped_platform is one of linux_amd64 or linux_arm64. If it does not exist in   </text><text
class="breeze-ci-image-load-r5" x="1451.8" y="337.2" textLength=" [...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="361.6" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-14)">│</text><text
class="breeze-ci-image-load-r1" x="451.4" y="361.6" textLength="988.2"
clip-path="url(#breeze-ci-image-load-line-14)">current working dir and if you do not specify absolute file, it will be searched </text><text
class="breeze-ci-image-load-r5" x="1451.8" y="361.6" textLength=" [...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="386" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-15)">│</text><text
class="breeze-ci-image-load-r1" x="451.4" y="386" textLength="134.2"
clip-path="url(#breeze-ci-image-load-line-15)">for in the </text><text
class="breeze-ci-image-load-r4" x="585.6" y="386" textLength="195.2"
clip-path="url(#breeze-ci-image-load-line-15)">--image-file-dir</text><text
class="breeze-ci-image-load-r1" x="780.8" y="386" text [...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="410.4" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-16)">│</text><text
class="breeze-ci-image-load-r7" x="451.4" y="410.4" textLength="988.2"
clip-path="url(#breeze-ci-image-load-line-16)">(FILE)                                      
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="434.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-17)">│</text><text
class="breeze-ci-image-load-r4" x="61" y="434.8" textLength="195.2"
clip-path="url(#breeze-ci-image-load-line-17)">--image-file-dir</text><text
class="breeze-ci-image-load-r1" x="451.4" y="434.8" textLength="854"
clip-path="url(#breeze-ci-image-load-line-17)">The path to the directory where the image files 
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="459.2" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-18)">│</text><text
class="breeze-ci-image-load-r7" x="451.4" y="459.2" textLength="854"
clip-path="url(#breeze-ci-image-load-line-18)">(DIRECTORY)                                     
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="483.6" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-19)">│</text><text
class="breeze-ci-image-load-r5" x="451.4" y="483.6" textLength="854"
clip-path="url(#breeze-ci-image-load-line-19)">[default: /tmp]                                    
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="508" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-20)">│</text><text
class="breeze-ci-image-load-r4" x="61" y="508" textLength="231.8"
clip-path="url(#breeze-ci-image-load-line-20)">--github-repository</text><text
class="breeze-ci-image-load-r6" x="402.6" y="508" textLength="24.4"
clip-path="url(#breeze-ci-image-load-line-20)">-g</text><text
class="breeze-ci-image-load-r1" x="451.4" y="508" textLength="585.6" clip-path=
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="532.4" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-21)">│</text><text
class="breeze-ci-image-load-r8" x="24.4" y="532.4" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-21)">*</text><text
class="breeze-ci-image-load-r4" x="61" y="532.4" textLength="170.8"
clip-path="url(#breeze-ci-image-load-line-21)">--github-token</text><text
class="breeze-ci-image-load-r1" x="451.4" y="532.4" textLength="988.2"
clip-path [...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="556.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-22)">│</text><text
class="breeze-ci-image-load-r1" x="451.4" y="556.8" textLength="988.2"
clip-path="url(#breeze-ci-image-load-line-22)">https://github.com/settings/tokens/new?description=Read%20repo&scopes=public_repo</text><text
class="breeze-ci-image-load-r5" x="1451.8" y="556.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-22)">│</text><text clas [...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="581.2" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-23)">│</text><text
class="breeze-ci-image-load-r7" x="451.4" y="581.2" textLength="988.2"
clip-path="url(#breeze-ci-image-load-line-23)">(TEXT)                                      
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="605.6" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-24)">│</text><text
class="breeze-ci-image-load-r9" x="451.4" y="605.6" textLength="988.2"
clip-path="url(#breeze-ci-image-load-line-24)">[required]                                     &#
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="630" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-25)">│</text><text
class="breeze-ci-image-load-r4" x="61" y="630" textLength="109.8"
clip-path="url(#breeze-ci-image-load-line-25)">--from-pr</text><text
class="breeze-ci-image-load-r1" x="451.4" y="630" textLength="988.2"
clip-path="url(#breeze-ci-image-load-line-25)">Optional pr number of the github action job to load t
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="654.4" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-26)">│</text><text
class="breeze-ci-image-load-r1" x="451.4" y="654.4" textLength="988.2"
clip-path="url(#breeze-ci-image-load-line-26)">image from the latest job.                               &#
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="678.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-27)">│</text><text
class="breeze-ci-image-load-r7" x="451.4" y="678.8" textLength="988.2"
clip-path="url(#breeze-ci-image-load-line-27)">(TEXT)                                      
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="703.2" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-28)">│</text><text
class="breeze-ci-image-load-r4" x="61" y="703.2" textLength="122"
clip-path="url(#breeze-ci-image-load-line-28)">--from-run</text><text
class="breeze-ci-image-load-r1" x="451.4" y="703.2" textLength="780.8"
clip-path="url(#breeze-ci-image-load-line-28)">Optional run id of the github action run to load 
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="727.6" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-29)">│</text><text
class="breeze-ci-image-load-r4" x="61" y="727.6" textLength="317.2"
clip-path="url(#breeze-ci-image-load-line-29)">--skip-image-file-deletion</text><text
class="breeze-ci-image-load-r1" x="451.4" y="727.6" textLength="414.8"
clip-path="url(#breeze-ci-image-load-line-29)">Skip image deletion after loading.</text><text
class="breeze [...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="752" textLength="1464"
clip-path="url(#breeze-ci-image-load-line-30)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-ci-image-load-r1" x="1464" y="752" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-30)">
-</text><text class="breeze-ci-image-load-r5" x="0" y="776.4" textLength="24.4"
clip-path="url(#breeze-ci-image-load-line-31)">╭─</text><text
class="breeze-ci-image-load-r5" x="24.4" y="776.4" textLength="195.2"
clip-path="url(#breeze-ci-image-load-line-31)"> Common options </text><text
class="breeze-ci-image-load-r5" x="219.6" y="776.4" textLength="1220"
clip-path="url(#breeze-ci-image-load-line-31)">─────────────────────────────────────────────────────────────────────────
[...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="800.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-32)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="800.8" textLength="109.8"
clip-path="url(#breeze-ci-image-load-line-32)">--dry-run</text><text
class="breeze-ci-image-load-r6" x="158.6" y="800.8" textLength="24.4"
clip-path="url(#breeze-ci-image-load-line-32)">-D</text><text
class="breeze-ci-image-load-r1" x="207.4" y="800.8" textLength="719.8"
clip-path= [...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="825.2" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-33)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="825.2" textLength="109.8"
clip-path="url(#breeze-ci-image-load-line-33)">--verbose</text><text
class="breeze-ci-image-load-r6" x="158.6" y="825.2" textLength="24.4"
clip-path="url(#breeze-ci-image-load-line-33)">-v</text><text
class="breeze-ci-image-load-r1" x="207.4" y="825.2" textLength="585.6"
clip-path= [...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="849.6" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-34)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="849.6" textLength="73.2"
clip-path="url(#breeze-ci-image-load-line-34)">--help</text><text
class="breeze-ci-image-load-r6" x="158.6" y="849.6" textLength="24.4"
clip-path="url(#breeze-ci-image-load-line-34)">-h</text><text
class="breeze-ci-image-load-r1" x="207.4" y="849.6" textLength="329.4"
clip-path="url [...]
-</text><text class="breeze-ci-image-load-r5" x="0" y="874" textLength="1464"
clip-path="url(#breeze-ci-image-load-line-35)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-ci-image-load-r1" x="1464" y="874" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-35)">
+</text><text class="breeze-ci-image-load-r5" x="0" y="166.4" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-6)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="166.4" textLength="97.6"
clip-path="url(#breeze-ci-image-load-line-6)">--python</text><text
class="breeze-ci-image-load-r6" x="366" y="166.4" textLength="24.4"
clip-path="url(#breeze-ci-image-load-line-6)">-p</text><text
class="breeze-ci-image-load-r1" x="414.8" y="166.4" textLength="732"
clip-path="url(#bre [...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="190.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-7)">│</text><text
class="breeze-ci-image-load-r7" x="414.8" y="190.8" textLength="732"
clip-path="url(#breeze-ci-image-load-line-7)">(>3.10< | 3.11 | 3.12 | 3.13)                             
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="215.2" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-8)">│</text><text
class="breeze-ci-image-load-r5" x="414.8" y="215.2" textLength="732"
clip-path="url(#breeze-ci-image-load-line-8)">[default: 3.10]                                    &#
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="239.6" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-9)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="239.6" textLength="122"
clip-path="url(#breeze-ci-image-load-line-9)">--platform</text><text
class="breeze-ci-image-load-r1" x="414.8" y="239.6" textLength="707.6"
clip-path="url(#breeze-ci-image-load-line-9)">Platform for Airflow image.         
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="264" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-10)">│</text><text
class="breeze-ci-image-load-r7" x="414.8" y="264" textLength="707.6"
clip-path="url(#breeze-ci-image-load-line-10)">(linux/amd64 | linux/arm64 | linux/x86_64 | linux/aarch64)</text><text
class="breeze-ci-image-load-r5" x="1451.8" y="264" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-10)">│</text><text class=" [...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="288.4" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-11)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="288.4" textLength="146.4"
clip-path="url(#breeze-ci-image-load-line-11)">--image-file</text><text
class="breeze-ci-image-load-r1" x="414.8" y="288.4" textLength="1024.8"
clip-path="url(#breeze-ci-image-load-line-11)">Optional file name to load the image from - na
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="312.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-12)">│</text><text
class="breeze-ci-image-load-r1" x="414.8" y="312.8" textLength="1024.8"
clip-path="url(#breeze-ci-image-load-line-12)">convention:`ci-image-save-v3-{escaped_platform}-*-{python_version}.tar`. where      </text><text
class="breeze-ci-image-load-r5" x="1451.8" y="312.8" textLength="12.2"
clip-path="url(#breeze-ci-imag [...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="337.2" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-13)">│</text><text
class="breeze-ci-image-load-r1" x="414.8" y="337.2" textLength="1024.8"
clip-path="url(#breeze-ci-image-load-line-13)">escaped_platform is one of linux_amd64 or linux_arm64. If it does not exist in      </text><text
class="breeze-ci-image-load-r5" x="1451.8" y=" [...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="361.6" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-14)">│</text><text
class="breeze-ci-image-load-r1" x="414.8" y="361.6" textLength="1024.8"
clip-path="url(#breeze-ci-image-load-line-14)">current working dir and if you do not specify absolute file, it will be searched for</text><text
class="breeze-ci-image-load-r5" x="1451.8" y="361.6" textLeng [...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="386" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-15)">│</text><text
class="breeze-ci-image-load-r1" x="414.8" y="386" textLength="85.4"
clip-path="url(#breeze-ci-image-load-line-15)">in the </text><text
class="breeze-ci-image-load-r4" x="500.2" y="386" textLength="195.2"
clip-path="url(#breeze-ci-image-load-line-15)">--image-file-dir</text><text
class="breeze-ci-image-load-r1" x="695.4" y="386" textLength="74 [...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="410.4" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-16)">│</text><text
class="breeze-ci-image-load-r7" x="414.8" y="410.4" textLength="1024.8"
clip-path="url(#breeze-ci-image-load-line-16)">(FILE)                                      
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="434.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-17)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="434.8" textLength="195.2"
clip-path="url(#breeze-ci-image-load-line-17)">--image-file-dir</text><text
class="breeze-ci-image-load-r1" x="414.8" y="434.8" textLength="854"
clip-path="url(#breeze-ci-image-load-line-17)">The path to the directory where the image files
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="459.2" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-18)">│</text><text
class="breeze-ci-image-load-r5" x="414.8" y="459.2" textLength="854"
clip-path="url(#breeze-ci-image-load-line-18)">[default: /tmp]                                    
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="483.6" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-19)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="483.6" textLength="231.8"
clip-path="url(#breeze-ci-image-load-line-19)">--github-repository</text><text
class="breeze-ci-image-load-r6" x="366" y="483.6" textLength="24.4"
clip-path="url(#breeze-ci-image-load-line-19)">-g</text><text
class="breeze-ci-image-load-r1" x="414.8" y="483.6" textLength="585.6" cl [...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="508" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-20)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="508" textLength="170.8"
clip-path="url(#breeze-ci-image-load-line-20)">--github-token</text><text
class="breeze-ci-image-load-r1" x="414.8" y="508" textLength="1024.8"
clip-path="url(#breeze-ci-image-load-line-20)">The token used to authenticate to GitHub. You can 
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="532.4" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-21)">│</text><text
class="breeze-ci-image-load-r1" x="414.8" y="532.4" textLength="1024.8"
clip-path="url(#breeze-ci-image-load-line-21)">https://github.com/settings/tokens/new?description=Read%20repo&scopes=public_repo   </text><text
class="breeze-ci-image-load-r5" x="1451.8" y="532.4" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-21)" [...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="556.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-22)">│</text><text
class="breeze-ci-image-load-r7" x="414.8" y="556.8" textLength="1024.8"
clip-path="url(#breeze-ci-image-load-line-22)">(TEXT)                                      
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="581.2" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-23)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="581.2" textLength="109.8"
clip-path="url(#breeze-ci-image-load-line-23)">--from-pr</text><text
class="breeze-ci-image-load-r1" x="414.8" y="581.2" textLength="1024.8"
clip-path="url(#breeze-ci-image-load-line-23)">Optional pr number of the github action job to lo
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="605.6" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-24)">│</text><text
class="breeze-ci-image-load-r1" x="414.8" y="605.6" textLength="1024.8"
clip-path="url(#breeze-ci-image-load-line-24)">from the latest job.                                 
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="630" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-25)">│</text><text
class="breeze-ci-image-load-r7" x="414.8" y="630" textLength="1024.8"
clip-path="url(#breeze-ci-image-load-line-25)">(TEXT)                                      
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="654.4" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-26)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="654.4" textLength="122"
clip-path="url(#breeze-ci-image-load-line-26)">--from-run</text><text
class="breeze-ci-image-load-r1" x="414.8" y="654.4" textLength="780.8"
clip-path="url(#breeze-ci-image-load-line-26)">Optional run id of the github action run to load
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="678.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-27)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="678.8" textLength="317.2"
clip-path="url(#breeze-ci-image-load-line-27)">--skip-image-file-deletion</text><text
class="breeze-ci-image-load-r1" x="414.8" y="678.8" textLength="414.8"
clip-path="url(#breeze-ci-image-load-line-27)">Skip image deletion after loading.</text><text
class="bree [...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="703.2" textLength="1464"
clip-path="url(#breeze-ci-image-load-line-28)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-ci-image-load-r1" x="1464" y="703.2" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-28)">
+</text><text class="breeze-ci-image-load-r5" x="0" y="727.6" textLength="24.4"
clip-path="url(#breeze-ci-image-load-line-29)">╭─</text><text
class="breeze-ci-image-load-r5" x="24.4" y="727.6" textLength="195.2"
clip-path="url(#breeze-ci-image-load-line-29)"> Common options </text><text
class="breeze-ci-image-load-r5" x="219.6" y="727.6" textLength="1220"
clip-path="url(#breeze-ci-image-load-line-29)">─────────────────────────────────────────────────────────────────────────
[...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="752" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-30)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="752" textLength="109.8"
clip-path="url(#breeze-ci-image-load-line-30)">--dry-run</text><text
class="breeze-ci-image-load-r6" x="158.6" y="752" textLength="24.4"
clip-path="url(#breeze-ci-image-load-line-30)">-D</text><text
class="breeze-ci-image-load-r1" x="207.4" y="752" textLength="719.8"
clip-path="url(#br [...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="776.4" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-31)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="776.4" textLength="109.8"
clip-path="url(#breeze-ci-image-load-line-31)">--verbose</text><text
class="breeze-ci-image-load-r6" x="158.6" y="776.4" textLength="24.4"
clip-path="url(#breeze-ci-image-load-line-31)">-v</text><text
class="breeze-ci-image-load-r1" x="207.4" y="776.4" textLength="585.6"
clip-path= [...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="800.8" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-32)">│</text><text
class="breeze-ci-image-load-r4" x="24.4" y="800.8" textLength="73.2"
clip-path="url(#breeze-ci-image-load-line-32)">--help</text><text
class="breeze-ci-image-load-r6" x="158.6" y="800.8" textLength="24.4"
clip-path="url(#breeze-ci-image-load-line-32)">-h</text><text
class="breeze-ci-image-load-r1" x="207.4" y="800.8" textLength="329.4"
clip-path="url [...]
+</text><text class="breeze-ci-image-load-r5" x="0" y="825.2" textLength="1464"
clip-path="url(#breeze-ci-image-load-line-33)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-ci-image-load-r1" x="1464" y="825.2" textLength="12.2"
clip-path="url(#breeze-ci-image-load-line-33)">
</text>
</g>
</g>
diff --git a/dev/breeze/doc/images/output_ci-image_load.txt
b/dev/breeze/doc/images/output_ci-image_load.txt
index 6df709bb349..b08a7b39e8c 100644
--- a/dev/breeze/doc/images/output_ci-image_load.txt
+++ b/dev/breeze/doc/images/output_ci-image_load.txt
@@ -1 +1 @@
-d21c3b7345c0680cd0adc5b71a444b8d
+0a8f4131358b7c8e4b162fb3719c671e
diff --git a/dev/breeze/doc/images/output_prod-image_load.svg
b/dev/breeze/doc/images/output_prod-image_load.svg
index d91a8b66d70..3f5da105429 100644
--- a/dev/breeze/doc/images/output_prod-image_load.svg
+++ b/dev/breeze/doc/images/output_prod-image_load.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 806.4"
xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 757.5999999999999"
xmlns="http://www.w3.org/2000/svg">
<!-- Generated with Rich https://www.textualize.io -->
<style>
@@ -39,13 +39,11 @@
.breeze-prod-image-load-r5 { fill: #868887 }
.breeze-prod-image-load-r6 { fill: #98a84b;font-weight: bold }
.breeze-prod-image-load-r7 { fill: #8d7b39 }
-.breeze-prod-image-load-r8 { fill: #cc555a }
-.breeze-prod-image-load-r9 { fill: #8a4346 }
</style>
<defs>
<clipPath id="breeze-prod-image-load-clip-terminal">
- <rect x="0" y="0" width="1463.0" height="755.4" />
+ <rect x="0" y="0" width="1463.0" height="706.5999999999999" />
</clipPath>
<clipPath id="breeze-prod-image-load-line-0">
<rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -131,15 +129,9 @@
<clipPath id="breeze-prod-image-load-line-27">
<rect x="0" y="660.3" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="breeze-prod-image-load-line-28">
- <rect x="0" y="684.7" width="1464" height="24.65"/>
- </clipPath>
-<clipPath id="breeze-prod-image-load-line-29">
- <rect x="0" y="709.1" width="1464" height="24.65"/>
- </clipPath>
</defs>
- <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1"
x="1" y="1" width="1480" height="804.4" rx="8"/><text
class="breeze-prod-image-load-title" fill="#c5c8c6" text-anchor="middle"
x="740" y="27">Command: prod-image load</text>
+ <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1"
x="1" y="1" width="1480" height="755.6" rx="8"/><text
class="breeze-prod-image-load-title" fill="#c5c8c6" text-anchor="middle"
x="740" y="27">Command: prod-image load</text>
<g transform="translate(26,22)">
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -155,31 +147,29 @@
</text><text class="breeze-prod-image-load-r1" x="12.2" y="93.2"
textLength="341.6"
clip-path="url(#breeze-prod-image-load-line-3)">Load PROD image from a file.</text><text
class="breeze-prod-image-load-r1" x="1464" y="93.2" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-3)">
</text><text class="breeze-prod-image-load-r1" x="1464" y="117.6"
textLength="12.2" clip-path="url(#breeze-prod-image-load-line-4)">
</text><text class="breeze-prod-image-load-r5" x="0" y="142" textLength="24.4"
clip-path="url(#breeze-prod-image-load-line-5)">╭─</text><text
class="breeze-prod-image-load-r5" x="24.4" y="142" textLength="219.6"
clip-path="url(#breeze-prod-image-load-line-5)"> Load image flags </text><text
class="breeze-prod-image-load-r5" x="244" y="142" textLength="1195.6"
clip-path="url(#breeze-prod-image-load-line-5)">───────────────────────────────────────────────────────────────
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="166.4"
textLength="12.2" clip-path="url(#breeze-prod-image-load-line-6)">│</text><text
class="breeze-prod-image-load-r4" x="61" y="166.4" textLength="97.6"
clip-path="url(#breeze-prod-image-load-line-6)">--python</text><text
class="breeze-prod-image-load-r6" x="402.6" y="166.4" textLength="24.4"
clip-path="url(#breeze-prod-image-load-line-6)">-p</text><text
class="breeze-prod-image-load-r1" x="451.4" y="166.4" textLength="732" clip-
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="190.8"
textLength="12.2" clip-path="url(#breeze-prod-image-load-line-7)">│</text><text
class="breeze-prod-image-load-r7" x="451.4" y="190.8" textLength="732"
clip-path="url(#breeze-prod-image-load-line-7)">(>3.10< | 3.11 | 3.12 | 3.13)                           
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="215.2"
textLength="12.2" clip-path="url(#breeze-prod-image-load-line-8)">│</text><text
class="breeze-prod-image-load-r5" x="451.4" y="215.2" textLength="732"
clip-path="url(#breeze-prod-image-load-line-8)">[default: 3.10]                                   
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="239.6"
textLength="12.2" clip-path="url(#breeze-prod-image-load-line-9)">│</text><text
class="breeze-prod-image-load-r4" x="61" y="239.6" textLength="122"
clip-path="url(#breeze-prod-image-load-line-9)">--platform</text><text
class="breeze-prod-image-load-r1" x="451.4" y="239.6" textLength="707.6"
clip-path="url(#breeze-prod-image-load-line-9)">Platform for Airflow image.        
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="264" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-10)">│</text><text
class="breeze-prod-image-load-r7" x="451.4" y="264" textLength="707.6"
clip-path="url(#breeze-prod-image-load-line-10)">(linux/amd64 | linux/arm64 | linux/x86_64 | linux/aarch64)</text><text
class="breeze-prod-image-load-r5" x="1451.8" y="264" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-10)">│</text>< [...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="288.4"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-11)">│</text><text
class="breeze-prod-image-load-r4" x="61" y="288.4" textLength="146.4"
clip-path="url(#breeze-prod-image-load-line-11)">--image-file</text><text
class="breeze-prod-image-load-r1" x="451.4" y="288.4" textLength="427"
clip-path="url(#breeze-prod-image-load-line-11)">Optional file to save the image to.</text><text
class= [...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="312.8"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-12)">│</text><text
class="breeze-prod-image-load-r4" x="61" y="312.8" textLength="195.2"
clip-path="url(#breeze-prod-image-load-line-12)">--image-file-dir</text><text
class="breeze-prod-image-load-r1" x="451.4" y="312.8" textLength="854"
clip-path="url(#breeze-prod-image-load-line-12)">The path to the directory where the image
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="337.2"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-13)">│</text><text
class="breeze-prod-image-load-r7" x="451.4" y="337.2" textLength="854"
clip-path="url(#breeze-prod-image-load-line-13)">(DIRECTORY)                                    &
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="361.6"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-14)">│</text><text
class="breeze-prod-image-load-r5" x="451.4" y="361.6" textLength="854"
clip-path="url(#breeze-prod-image-load-line-14)">[default: /tmp]                                  
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="386" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-15)">│</text><text
class="breeze-prod-image-load-r4" x="61" y="386" textLength="231.8"
clip-path="url(#breeze-prod-image-load-line-15)">--github-repository</text><text
class="breeze-prod-image-load-r6" x="402.6" y="386" textLength="24.4"
clip-path="url(#breeze-prod-image-load-line-15)">-g</text><text
class="breeze-prod-image-load-r1" x="451.4" y="386" textLength="585 [...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="410.4"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-16)">│</text><text
class="breeze-prod-image-load-r8" x="24.4" y="410.4" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-16)">*</text><text
class="breeze-prod-image-load-r4" x="61" y="410.4" textLength="170.8"
clip-path="url(#breeze-prod-image-load-line-16)">--github-token</text><text
class="breeze-prod-image-load-r1" x="451.4" y="410.4" textLength="98 [...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="434.8"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-17)">│</text><text
class="breeze-prod-image-load-r1" x="451.4" y="434.8" textLength="988.2"
clip-path="url(#breeze-prod-image-load-line-17)">https://github.com/settings/tokens/new?description=Read%20repo&scopes=public_repo</text><text
class="breeze-prod-image-load-r5" x="1451.8" y="434.8" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-17)">│</tex [...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="459.2"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-18)">│</text><text
class="breeze-prod-image-load-r7" x="451.4" y="459.2" textLength="988.2"
clip-path="url(#breeze-prod-image-load-line-18)">(TEXT)                                    
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="483.6"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-19)">│</text><text
class="breeze-prod-image-load-r9" x="451.4" y="483.6" textLength="988.2"
clip-path="url(#breeze-prod-image-load-line-19)">[required]                                    
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="508" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-20)">│</text><text
class="breeze-prod-image-load-r4" x="61" y="508" textLength="122"
clip-path="url(#breeze-prod-image-load-line-20)">--from-run</text><text
class="breeze-prod-image-load-r1" x="451.4" y="508" textLength="780.8"
clip-path="url(#breeze-prod-image-load-line-20)">Optional run id of the github action run to loa
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="532.4"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-21)">│</text><text
class="breeze-prod-image-load-r4" x="61" y="532.4" textLength="109.8"
clip-path="url(#breeze-prod-image-load-line-21)">--from-pr</text><text
class="breeze-prod-image-load-r1" x="451.4" y="532.4" textLength="988.2"
clip-path="url(#breeze-prod-image-load-line-21)">Optional pr number of the github action job t
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="556.8"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-22)">│</text><text
class="breeze-prod-image-load-r1" x="451.4" y="556.8" textLength="988.2"
clip-path="url(#breeze-prod-image-load-line-22)">image from the latest job.                              
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="581.2"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-23)">│</text><text
class="breeze-prod-image-load-r7" x="451.4" y="581.2" textLength="988.2"
clip-path="url(#breeze-prod-image-load-line-23)">(TEXT)                                    
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="605.6"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-24)">│</text><text
class="breeze-prod-image-load-r4" x="61" y="605.6" textLength="317.2"
clip-path="url(#breeze-prod-image-load-line-24)">--skip-image-file-deletion</text><text
class="breeze-prod-image-load-r1" x="451.4" y="605.6" textLength="414.8"
clip-path="url(#breeze-prod-image-load-line-24)">Skip image deletion after loading.</text><text
c [...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="630" textLength="1464"
clip-path="url(#breeze-prod-image-load-line-25)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-prod-image-load-r1" x="1464" y="630" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-25)">
-</text><text class="breeze-prod-image-load-r5" x="0" y="654.4"
textLength="24.4"
clip-path="url(#breeze-prod-image-load-line-26)">╭─</text><text
class="breeze-prod-image-load-r5" x="24.4" y="654.4" textLength="195.2"
clip-path="url(#breeze-prod-image-load-line-26)"> Common options </text><text
class="breeze-prod-image-load-r5" x="219.6" y="654.4" textLength="1220"
clip-path="url(#breeze-prod-image-load-line-26)">─────────────────────────────────────────────────────────────
[...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="678.8"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-27)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="678.8" textLength="109.8"
clip-path="url(#breeze-prod-image-load-line-27)">--dry-run</text><text
class="breeze-prod-image-load-r6" x="158.6" y="678.8" textLength="24.4"
clip-path="url(#breeze-prod-image-load-line-27)">-D</text><text
class="breeze-prod-image-load-r1" x="207.4" y="678.8" textLength="719 [...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="703.2"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-28)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="703.2" textLength="109.8"
clip-path="url(#breeze-prod-image-load-line-28)">--verbose</text><text
class="breeze-prod-image-load-r6" x="158.6" y="703.2" textLength="24.4"
clip-path="url(#breeze-prod-image-load-line-28)">-v</text><text
class="breeze-prod-image-load-r1" x="207.4" y="703.2" textLength="585 [...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="727.6"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-29)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="727.6" textLength="73.2"
clip-path="url(#breeze-prod-image-load-line-29)">--help</text><text
class="breeze-prod-image-load-r6" x="158.6" y="727.6" textLength="24.4"
clip-path="url(#breeze-prod-image-load-line-29)">-h</text><text
class="breeze-prod-image-load-r1" x="207.4" y="727.6" textLength="329.4" [...]
-</text><text class="breeze-prod-image-load-r5" x="0" y="752" textLength="1464"
clip-path="url(#breeze-prod-image-load-line-30)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-prod-image-load-r1" x="1464" y="752" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-30)">
+</text><text class="breeze-prod-image-load-r5" x="0" y="166.4"
textLength="12.2" clip-path="url(#breeze-prod-image-load-line-6)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="166.4" textLength="97.6"
clip-path="url(#breeze-prod-image-load-line-6)">--python</text><text
class="breeze-prod-image-load-r6" x="366" y="166.4" textLength="24.4"
clip-path="url(#breeze-prod-image-load-line-6)">-p</text><text
class="breeze-prod-image-load-r1" x="414.8" y="166.4" textLength="732" clip-
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="190.8"
textLength="12.2" clip-path="url(#breeze-prod-image-load-line-7)">│</text><text
class="breeze-prod-image-load-r7" x="414.8" y="190.8" textLength="732"
clip-path="url(#breeze-prod-image-load-line-7)">(>3.10< | 3.11 | 3.12 | 3.13)                           
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="215.2"
textLength="12.2" clip-path="url(#breeze-prod-image-load-line-8)">│</text><text
class="breeze-prod-image-load-r5" x="414.8" y="215.2" textLength="732"
clip-path="url(#breeze-prod-image-load-line-8)">[default: 3.10]                                   
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="239.6"
textLength="12.2" clip-path="url(#breeze-prod-image-load-line-9)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="239.6" textLength="122"
clip-path="url(#breeze-prod-image-load-line-9)">--platform</text><text
class="breeze-prod-image-load-r1" x="414.8" y="239.6" textLength="707.6"
clip-path="url(#breeze-prod-image-load-line-9)">Platform for Airflow image.       
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="264" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-10)">│</text><text
class="breeze-prod-image-load-r7" x="414.8" y="264" textLength="707.6"
clip-path="url(#breeze-prod-image-load-line-10)">(linux/amd64 | linux/arm64 | linux/x86_64 | linux/aarch64)</text><text
class="breeze-prod-image-load-r5" x="1451.8" y="264" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-10)">│</text>< [...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="288.4"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-11)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="288.4" textLength="146.4"
clip-path="url(#breeze-prod-image-load-line-11)">--image-file</text><text
class="breeze-prod-image-load-r1" x="414.8" y="288.4" textLength="427"
clip-path="url(#breeze-prod-image-load-line-11)">Optional file to save the image to.</text><text
clas [...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="312.8"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-12)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="312.8" textLength="195.2"
clip-path="url(#breeze-prod-image-load-line-12)">--image-file-dir</text><text
class="breeze-prod-image-load-r1" x="414.8" y="312.8" textLength="854"
clip-path="url(#breeze-prod-image-load-line-12)">The path to the directory where the image&#
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="337.2"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-13)">│</text><text
class="breeze-prod-image-load-r5" x="414.8" y="337.2" textLength="854"
clip-path="url(#breeze-prod-image-load-line-13)">[default: /tmp]                                  
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="361.6"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-14)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="361.6" textLength="231.8"
clip-path="url(#breeze-prod-image-load-line-14)">--github-repository</text><text
class="breeze-prod-image-load-r6" x="366" y="361.6" textLength="24.4"
clip-path="url(#breeze-prod-image-load-line-14)">-g</text><text
class="breeze-prod-image-load-r1" x="414.8" y="361.6" textLen [...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="386" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-15)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="386" textLength="170.8"
clip-path="url(#breeze-prod-image-load-line-15)">--github-token</text><text
class="breeze-prod-image-load-r1" x="414.8" y="386" textLength="1024.8"
clip-path="url(#breeze-prod-image-load-line-15)">The token used to authenticate to GitHub. You
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="410.4"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-16)">│</text><text
class="breeze-prod-image-load-r1" x="414.8" y="410.4" textLength="1024.8"
clip-path="url(#breeze-prod-image-load-line-16)">https://github.com/settings/tokens/new?description=Read%20repo&scopes=public_repo   </text><text
class="breeze-prod-image-load-r5" x="1451.8" y="410.4" textLength="12.2"
clip-path="url(#breeze-prod-image-lo [...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="434.8"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-17)">│</text><text
class="breeze-prod-image-load-r7" x="414.8" y="434.8" textLength="1024.8"
clip-path="url(#breeze-prod-image-load-line-17)">(TEXT)                                    
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="459.2"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-18)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="459.2" textLength="122"
clip-path="url(#breeze-prod-image-load-line-18)">--from-run</text><text
class="breeze-prod-image-load-r1" x="414.8" y="459.2" textLength="780.8"
clip-path="url(#breeze-prod-image-load-line-18)">Optional run id of the github action run to&
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="483.6"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-19)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="483.6" textLength="109.8"
clip-path="url(#breeze-prod-image-load-line-19)">--from-pr</text><text
class="breeze-prod-image-load-r1" x="414.8" y="483.6" textLength="1024.8"
clip-path="url(#breeze-prod-image-load-line-19)">Optional pr number of the github action job
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="508" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-20)">│</text><text
class="breeze-prod-image-load-r1" x="414.8" y="508" textLength="1024.8"
clip-path="url(#breeze-prod-image-load-line-20)">from the latest job.                                &#
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="532.4"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-21)">│</text><text
class="breeze-prod-image-load-r7" x="414.8" y="532.4" textLength="1024.8"
clip-path="url(#breeze-prod-image-load-line-21)">(TEXT)                                    
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="556.8"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-22)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="556.8" textLength="317.2"
clip-path="url(#breeze-prod-image-load-line-22)">--skip-image-file-deletion</text><text
class="breeze-prod-image-load-r1" x="414.8" y="556.8" textLength="414.8"
clip-path="url(#breeze-prod-image-load-line-22)">Skip image deletion after loading.</text><text
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="581.2"
textLength="1464"
clip-path="url(#breeze-prod-image-load-line-23)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-prod-image-load-r1" x="1464" y="581.2" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-23)">
+</text><text class="breeze-prod-image-load-r5" x="0" y="605.6"
textLength="24.4"
clip-path="url(#breeze-prod-image-load-line-24)">╭─</text><text
class="breeze-prod-image-load-r5" x="24.4" y="605.6" textLength="195.2"
clip-path="url(#breeze-prod-image-load-line-24)"> Common options </text><text
class="breeze-prod-image-load-r5" x="219.6" y="605.6" textLength="1220"
clip-path="url(#breeze-prod-image-load-line-24)">─────────────────────────────────────────────────────────────
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="630" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-25)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="630" textLength="109.8"
clip-path="url(#breeze-prod-image-load-line-25)">--dry-run</text><text
class="breeze-prod-image-load-r6" x="158.6" y="630" textLength="24.4"
clip-path="url(#breeze-prod-image-load-line-25)">-D</text><text
class="breeze-prod-image-load-r1" x="207.4" y="630" textLength="719.8" clip
[...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="654.4"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-26)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="654.4" textLength="109.8"
clip-path="url(#breeze-prod-image-load-line-26)">--verbose</text><text
class="breeze-prod-image-load-r6" x="158.6" y="654.4" textLength="24.4"
clip-path="url(#breeze-prod-image-load-line-26)">-v</text><text
class="breeze-prod-image-load-r1" x="207.4" y="654.4" textLength="585 [...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="678.8"
textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-27)">│</text><text
class="breeze-prod-image-load-r4" x="24.4" y="678.8" textLength="73.2"
clip-path="url(#breeze-prod-image-load-line-27)">--help</text><text
class="breeze-prod-image-load-r6" x="158.6" y="678.8" textLength="24.4"
clip-path="url(#breeze-prod-image-load-line-27)">-h</text><text
class="breeze-prod-image-load-r1" x="207.4" y="678.8" textLength="329.4" [...]
+</text><text class="breeze-prod-image-load-r5" x="0" y="703.2"
textLength="1464"
clip-path="url(#breeze-prod-image-load-line-28)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-prod-image-load-r1" x="1464" y="703.2" textLength="12.2"
clip-path="url(#breeze-prod-image-load-line-28)">
</text>
</g>
</g>
diff --git a/dev/breeze/doc/images/output_prod-image_load.txt
b/dev/breeze/doc/images/output_prod-image_load.txt
index 0b860cab3aa..20cf4272abb 100644
--- a/dev/breeze/doc/images/output_prod-image_load.txt
+++ b/dev/breeze/doc/images/output_prod-image_load.txt
@@ -1 +1 @@
-c300967f9093cc56e02032bfd1f610dc
+41ff96c70a05168cdd8be01a76475b4a
diff --git a/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
b/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
index 8fff8b0693a..849d590122c 100644
--- a/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
@@ -567,7 +567,7 @@ def load(
from_run: str | None,
from_pr: str | None,
github_repository: str,
- github_token: str,
+ github_token: str | None,
image_file: Path | None,
image_file_dir: Path,
platform: str,
@@ -601,6 +601,13 @@ def load(
)
sys.exit(1)
+ if from_run or from_pr and not github_token:
+ get_console().print(
+ "[error]The parameter `--github-token` must be provided if
`--from-run` or `--from-pr` is "
+ "provided. Exiting.[/]"
+ )
+ sys.exit(1)
+
if from_run:
download_artifact_from_run_id(from_run, image_file_to_load,
github_repository, github_token)
elif from_pr:
diff --git a/dev/breeze/src/airflow_breeze/commands/common_image_options.py
b/dev/breeze/src/airflow_breeze/commands/common_image_options.py
index 3c1e9ed0e82..ea38dfa1197 100644
--- a/dev/breeze/src/airflow_breeze/commands/common_image_options.py
+++ b/dev/breeze/src/airflow_breeze/commands/common_image_options.py
@@ -212,7 +212,6 @@ option_github_token_for_images = click.option(
help="The token used to authenticate to GitHub. You can generate it with "
"https://github.com/settings/tokens/new?description=Read%20repo&scopes=public_repo",
envvar="GITHUB_TOKEN",
- required=True,
)
option_image_file_dir = click.option(
"--image-file-dir",
diff --git
a/dev/breeze/src/airflow_breeze/commands/production_image_commands.py
b/dev/breeze/src/airflow_breeze/commands/production_image_commands.py
index def38c0b84d..f3f06db41c4 100644
--- a/dev/breeze/src/airflow_breeze/commands/production_image_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/production_image_commands.py
@@ -701,7 +701,7 @@ def load(
from_run: str | None,
from_pr: str | None,
github_repository: str,
- github_token: str,
+ github_token: str | None,
image_file: Path | None,
image_file_dir: Path,
platform: str,
@@ -712,6 +712,13 @@ def load(
perform_environment_checks()
escaped_platform = platform.replace("/", "_")
+ if from_run or from_pr and not github_token:
+ get_console().print(
+ "[error]The parameter `--github-token` must be provided if
`--from-run` or `--from-pr` is "
+ "provided. Exiting.[/]"
+ )
+ sys.exit(1)
+
if not image_file:
image_file_to_load = image_file_dir /
f"prod-image-save-{escaped_platform}-{python}.tar"
elif image_file.is_absolute() or image_file.exists():