This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch add-apply-commit-feature-to-docs-buildiung
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit f34969cf8640edbff26596ee59b29912a3bbf0dd
Author: Jarek Potiuk <[email protected]>
AuthorDate: Wed Jul 23 13:31:56 2025 +0200

    Add possibility to apply a commit with patch to docs when publishing
    
    You can specify commit hash to apply when you build documentation.
    This allows to regenerate past version of the documentation by
    checking out the exact version tag that was used back then and
    applying the commit hash with fixes.
---
 .github/workflows/publish-docs-to-s3.yml           | 13 ++++++
 .../images/output_workflow-run_publish-docs.svg    | 52 ++++++++++++----------
 .../images/output_workflow-run_publish-docs.txt    |  2 +-
 .../airflow_breeze/commands/workflow_commands.py   |  8 ++++
 .../commands/workflow_commands_config.py           |  1 +
 5 files changed, 51 insertions(+), 25 deletions(-)

diff --git a/.github/workflows/publish-docs-to-s3.yml 
b/.github/workflows/publish-docs-to-s3.yml
index cc12adc8433..18f1618b5c5 100644
--- a/.github/workflows/publish-docs-to-s3.yml
+++ b/.github/workflows/publish-docs-to-s3.yml
@@ -60,6 +60,10 @@ on:  # yamllint disable-line rule:truthy
         required: false
         description: "Override the Airflow Version to use for the docs build"
         type: string
+      apply-commit:
+        required: false
+        description: "Optionally apply commit hash before building - to patch 
the docs"
+        type: string
 permissions:
   contents: read
 jobs:
@@ -162,6 +166,7 @@ jobs:
       INCLUDE_SUCCESS_OUTPUTS: false
       VERBOSE: "true"
       EXTRA_BUILD_OPTIONS: ${{ needs.build-info.outputs.extra-build-options }}
+      APPLY_COMMIT: ${{ inputs.apply-commit || '' }}
     steps:
       - name: "Cleanup repo"
         shell: bash
@@ -184,6 +189,14 @@ jobs:
           ref: ${{ inputs.ref }}
           fetch-depth: 0
           fetch-tags: true
+      - name: "Apply patch commit if provided"
+        run: |
+          if [[ "${APPLY_COMMIT}" != "" ]]; then
+            echo "Applying commit ${GITHUB_SHA} to the docs"
+            git apply "${APPLY_COMMIT}"
+          else
+            echo "No commit to apply provided, skipping."
+          fi
       - name: "Install Breeze from the ${{ inputs.ref }} reference"
         uses: ./.github/actions/breeze
         with:
diff --git a/dev/breeze/doc/images/output_workflow-run_publish-docs.svg 
b/dev/breeze/doc/images/output_workflow-run_publish-docs.svg
index 23f375ca723..2c1df035fc7 100644
--- a/dev/breeze/doc/images/output_workflow-run_publish-docs.svg
+++ b/dev/breeze/doc/images/output_workflow-run_publish-docs.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1050.4" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 1482 1074.8" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -45,7 +45,7 @@
 
     <defs>
     <clipPath id="breeze-workflow-run-publish-docs-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="999.4" />
+      <rect x="0" y="0" width="1463.0" height="1023.8" />
     </clipPath>
     <clipPath id="breeze-workflow-run-publish-docs-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -167,9 +167,12 @@
 <clipPath id="breeze-workflow-run-publish-docs-line-39">
     <rect x="0" y="953.1" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-workflow-run-publish-docs-line-40">
+    <rect x="0" y="977.5" 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="1048.4" rx="8"/><text 
class="breeze-workflow-run-publish-docs-title" fill="#c5c8c6" 
text-anchor="middle" x="740" 
y="27">Command:&#160;workflow-run&#160;publish-docs</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="1072.8" rx="8"/><text 
class="breeze-workflow-run-publish-docs-title" fill="#c5c8c6" 
text-anchor="middle" x="740" 
y="27">Command:&#160;workflow-run&#160;publish-docs</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -199,27 +202,28 @@
 </text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="434.8" 
textLength="24.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-17)">╭─</text><text 
class="breeze-workflow-run-publish-docs-r5" x="24.4" y="434.8" 
textLength="439.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-17)">&#160;Select&#160;branch&#160;or&#160;tag&#160;to&#160;build&#160;docs&#160;</text><text
 class="breeze-workflow-run-publish-docs-r5" x="463.6" y="434.8" 
textLength="976" clip-path="url(# [...]
 </text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="459.2" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-18)">│</text><text 
class="breeze-workflow-run-publish-docs-r6" x="24.4" y="459.2" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-18)">*</text><text 
class="breeze-workflow-run-publish-docs-r4" x="61" y="459.2" textLength="61" 
clip-path="url(#breeze-workflow-run-publish-docs-line-18)">--ref</text><text 
class="breeze-workfl [...]
 </text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="483.6" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-19)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="61" y="483.6" textLength="256.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-19)">--skip-tag-validation</text><text
 class="breeze-workflow-run-publish-docs-r1" x="366" y="483.6" 
textLength="1000.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-19)">Skip&#160;vali [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="508" 
textLength="1464" 
clip-path="url(#breeze-workflow-run-publish-docs-line-20)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-workflow-run-publish-docs-r1" x="1464" y="508" textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-20)">
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="532.4" 
textLength="24.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-21)">╭─</text><text 
class="breeze-workflow-run-publish-docs-r5" x="24.4" y="532.4" 
textLength="451.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-21)">&#160;Optional&#160;airflow&#160;versions&#160;to&#160;build.&#160;</text><text
 class="breeze-workflow-run-publish-docs-r5" x="475.8" y="532.4" 
textLength="963.8" clip-path="url(#breeze- [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="556.8" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-22)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="24.4" y="556.8" 
textLength="207.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-22)">--airflow-version</text><text
 class="breeze-workflow-run-publish-docs-r1" x="341.6" y="556.8" 
textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-22)">Override&#160;Ai 
[...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="581.2" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-23)">│</text><text 
class="breeze-workflow-run-publish-docs-r1" x="341.6" y="581.2" 
textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-23)">from&#160;the&#160;ref.&#160;If&#160;only&#160;base&#160;version&#160;is&#160;provided,&#160;it&#160;will&#160;be&#160;set&#160;to&#160;the&#160;same&#160;as&#160;the&#160;base&#160;&#160
 [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="605.6" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-24)">│</text><text 
class="breeze-workflow-run-publish-docs-r1" x="341.6" y="605.6" 
textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-24)">version.&#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-workflow-run-publish-docs-r5" x="0" y="630" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-25)">│</text><text 
class="breeze-workflow-run-publish-docs-r7" x="341.6" y="630" textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-25)">(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
 [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="654.4" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-26)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="24.4" y="654.4" 
textLength="268.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-26)">--airflow-base-version</text><text
 class="breeze-workflow-run-publish-docs-r1" x="341.6" y="654.4" 
textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-26)">Override&#1 [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="678.8" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-27)">│</text><text 
class="breeze-workflow-run-publish-docs-r1" x="341.6" y="678.8" 
textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-27)">extracted&#160;from&#160;the&#160;ref.&#160;If&#160;airflow-version&#160;is&#160;provided,&#160;the&#160;base&#160;version&#160;of&#160;the&#160;version&#160;&#160;&#160;</text><text
 clas [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="703.2" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-28)">│</text><text 
class="breeze-workflow-run-publish-docs-r1" x="341.6" y="703.2" 
textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-28)">provided&#160;(i.e.&#160;stripped&#160;pre-/post-/dev-&#160;suffixes).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="727.6" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-29)">│</text><text 
class="breeze-workflow-run-publish-docs-r7" x="341.6" y="727.6" 
textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-29)">(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;&
 [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="752" 
textLength="1464" 
clip-path="url(#breeze-workflow-run-publish-docs-line-30)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-workflow-run-publish-docs-r1" x="1464" y="752" textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-30)">
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="776.4" 
textLength="24.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-31)">╭─</text><text 
class="breeze-workflow-run-publish-docs-r5" x="24.4" y="776.4" textLength="488" 
clip-path="url(#breeze-workflow-run-publish-docs-line-31)">&#160;Select&#160;docs&#160;to&#160;exclude&#160;and&#160;destination&#160;</text><text
 class="breeze-workflow-run-publish-docs-r5" x="512.4" y="776.4" 
textLength="927.2" clip-path="url(#b [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="800.8" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-32)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="24.4" y="800.8" 
textLength="170.8" 
clip-path="url(#breeze-workflow-run-publish-docs-line-32)">--exclude-docs</text><text
 class="breeze-workflow-run-publish-docs-r1" x="427" y="800.8" 
textLength="1012.6" 
clip-path="url(#breeze-workflow-run-publish-docs-line-32)">Comma&#160;separate 
[...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="825.2" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-33)">│</text><text 
class="breeze-workflow-run-publish-docs-r1" x="427" y="825.2" 
textLength="1012.6" 
clip-path="url(#breeze-workflow-run-publish-docs-line-33)">(example:&#160;apache.druid,google)&#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-workflow-run-publish-docs-r5" x="0" y="849.6" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-34)">│</text><text 
class="breeze-workflow-run-publish-docs-r7" x="427" y="849.6" 
textLength="1012.6" 
clip-path="url(#breeze-workflow-run-publish-docs-line-34)">(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;&
 [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="874" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-35)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="24.4" y="874" textLength="122" 
clip-path="url(#breeze-workflow-run-publish-docs-line-35)">--site-env</text><text
 class="breeze-workflow-run-publish-docs-r1" x="427" y="874" textLength="671" 
clip-path="url(#breeze-workflow-run-publish-docs-line-35)">S3&#160;bucket&#160;to&#160;which&
 [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="898.4" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-36)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="24.4" y="898.4" 
textLength="353.8" 
clip-path="url(#breeze-workflow-run-publish-docs-line-36)">--skip-write-to-stable-folder</text><text
 class="breeze-workflow-run-publish-docs-r1" x="427" y="898.4" textLength="366" 
clip-path="url(#breeze-workflow-run-publish-docs-line-36)">Skip&#1 [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="922.8" 
textLength="1464" 
clip-path="url(#breeze-workflow-run-publish-docs-line-37)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-workflow-run-publish-docs-r1" x="1464" y="922.8" 
textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-37)">
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="947.2" 
textLength="24.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-38)">╭─</text><text 
class="breeze-workflow-run-publish-docs-r5" x="24.4" y="947.2" 
textLength="195.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-38)">&#160;Common&#160;options&#160;</text><text
 class="breeze-workflow-run-publish-docs-r5" x="219.6" y="947.2" 
textLength="1220" clip-path="url(#breeze-workflow-run-publish-docs-line-38)">─ 
[...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="971.6" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-39)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="24.4" y="971.6" 
textLength="73.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-39)">--help</text><text 
class="breeze-workflow-run-publish-docs-r9" x="122" y="971.6" textLength="24.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-39)">-h</text><text 
class="breeze-w [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="996" 
textLength="1464" 
clip-path="url(#breeze-workflow-run-publish-docs-line-40)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-workflow-run-publish-docs-r1" x="1464" y="996" textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-40)">
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="508" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-20)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="61" y="508" textLength="170.8" 
clip-path="url(#breeze-workflow-run-publish-docs-line-20)">--apply-commit</text><text
 class="breeze-workflow-run-publish-docs-r1" x="366" y="508" textLength="963.8" 
clip-path="url(#breeze-workflow-run-publish-docs-line-20)">Apply&#160;commit&#160;befor
 [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="532.4" 
textLength="1464" 
clip-path="url(#breeze-workflow-run-publish-docs-line-21)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-workflow-run-publish-docs-r1" x="1464" y="532.4" 
textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-21)">
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="556.8" 
textLength="24.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-22)">╭─</text><text 
class="breeze-workflow-run-publish-docs-r5" x="24.4" y="556.8" 
textLength="451.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-22)">&#160;Optional&#160;airflow&#160;versions&#160;to&#160;build.&#160;</text><text
 class="breeze-workflow-run-publish-docs-r5" x="475.8" y="556.8" 
textLength="963.8" clip-path="url(#breeze- [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="581.2" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-23)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="24.4" y="581.2" 
textLength="207.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-23)">--airflow-version</text><text
 class="breeze-workflow-run-publish-docs-r1" x="341.6" y="581.2" 
textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-23)">Override&#160;Ai 
[...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="605.6" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-24)">│</text><text 
class="breeze-workflow-run-publish-docs-r1" x="341.6" y="605.6" 
textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-24)">from&#160;the&#160;ref.&#160;If&#160;only&#160;base&#160;version&#160;is&#160;provided,&#160;it&#160;will&#160;be&#160;set&#160;to&#160;the&#160;same&#160;as&#160;the&#160;base&#160;&#160
 [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="630" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-25)">│</text><text 
class="breeze-workflow-run-publish-docs-r1" x="341.6" y="630" textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-25)">version.&#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;&#1
 [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="654.4" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-26)">│</text><text 
class="breeze-workflow-run-publish-docs-r7" x="341.6" y="654.4" 
textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-26)">(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;&
 [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="678.8" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-27)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="24.4" y="678.8" 
textLength="268.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-27)">--airflow-base-version</text><text
 class="breeze-workflow-run-publish-docs-r1" x="341.6" y="678.8" 
textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-27)">Override&#1 [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="703.2" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-28)">│</text><text 
class="breeze-workflow-run-publish-docs-r1" x="341.6" y="703.2" 
textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-28)">extracted&#160;from&#160;the&#160;ref.&#160;If&#160;airflow-version&#160;is&#160;provided,&#160;the&#160;base&#160;version&#160;of&#160;the&#160;version&#160;&#160;&#160;</text><text
 clas [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="727.6" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-29)">│</text><text 
class="breeze-workflow-run-publish-docs-r1" x="341.6" y="727.6" 
textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-29)">provided&#160;(i.e.&#160;stripped&#160;pre-/post-/dev-&#160;suffixes).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="752" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-30)">│</text><text 
class="breeze-workflow-run-publish-docs-r7" x="341.6" y="752" textLength="1098" 
clip-path="url(#breeze-workflow-run-publish-docs-line-30)">(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
 [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="776.4" 
textLength="1464" 
clip-path="url(#breeze-workflow-run-publish-docs-line-31)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-workflow-run-publish-docs-r1" x="1464" y="776.4" 
textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-31)">
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="800.8" 
textLength="24.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-32)">╭─</text><text 
class="breeze-workflow-run-publish-docs-r5" x="24.4" y="800.8" textLength="488" 
clip-path="url(#breeze-workflow-run-publish-docs-line-32)">&#160;Select&#160;docs&#160;to&#160;exclude&#160;and&#160;destination&#160;</text><text
 class="breeze-workflow-run-publish-docs-r5" x="512.4" y="800.8" 
textLength="927.2" clip-path="url(#b [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="825.2" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-33)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="24.4" y="825.2" 
textLength="170.8" 
clip-path="url(#breeze-workflow-run-publish-docs-line-33)">--exclude-docs</text><text
 class="breeze-workflow-run-publish-docs-r1" x="427" y="825.2" 
textLength="1012.6" 
clip-path="url(#breeze-workflow-run-publish-docs-line-33)">Comma&#160;separate 
[...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="849.6" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-34)">│</text><text 
class="breeze-workflow-run-publish-docs-r1" x="427" y="849.6" 
textLength="1012.6" 
clip-path="url(#breeze-workflow-run-publish-docs-line-34)">(example:&#160;apache.druid,google)&#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-workflow-run-publish-docs-r5" x="0" y="874" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-35)">│</text><text 
class="breeze-workflow-run-publish-docs-r7" x="427" y="874" textLength="1012.6" 
clip-path="url(#breeze-workflow-run-publish-docs-line-35)">(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
 [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="898.4" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-36)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="24.4" y="898.4" textLength="122" 
clip-path="url(#breeze-workflow-run-publish-docs-line-36)">--site-env</text><text
 class="breeze-workflow-run-publish-docs-r1" x="427" y="898.4" textLength="671" 
clip-path="url(#breeze-workflow-run-publish-docs-line-36)">S3&#160;bucket&#160;to&#160;
 [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="922.8" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-37)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="24.4" y="922.8" 
textLength="353.8" 
clip-path="url(#breeze-workflow-run-publish-docs-line-37)">--skip-write-to-stable-folder</text><text
 class="breeze-workflow-run-publish-docs-r1" x="427" y="922.8" textLength="366" 
clip-path="url(#breeze-workflow-run-publish-docs-line-37)">Skip&#1 [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="947.2" 
textLength="1464" 
clip-path="url(#breeze-workflow-run-publish-docs-line-38)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-workflow-run-publish-docs-r1" x="1464" y="947.2" 
textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-38)">
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="971.6" 
textLength="24.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-39)">╭─</text><text 
class="breeze-workflow-run-publish-docs-r5" x="24.4" y="971.6" 
textLength="195.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-39)">&#160;Common&#160;options&#160;</text><text
 class="breeze-workflow-run-publish-docs-r5" x="219.6" y="971.6" 
textLength="1220" clip-path="url(#breeze-workflow-run-publish-docs-line-39)">─ 
[...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="996" 
textLength="12.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-40)">│</text><text 
class="breeze-workflow-run-publish-docs-r4" x="24.4" y="996" textLength="73.2" 
clip-path="url(#breeze-workflow-run-publish-docs-line-40)">--help</text><text 
class="breeze-workflow-run-publish-docs-r9" x="122" y="996" textLength="24.4" 
clip-path="url(#breeze-workflow-run-publish-docs-line-40)">-h</text><text 
class="breeze-workflo [...]
+</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="1020.4" 
textLength="1464" 
clip-path="url(#breeze-workflow-run-publish-docs-line-41)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-workflow-run-publish-docs-r1" x="1464" y="1020.4" 
textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-41)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_workflow-run_publish-docs.txt 
b/dev/breeze/doc/images/output_workflow-run_publish-docs.txt
index c50393f1fb8..4bcf9555387 100644
--- a/dev/breeze/doc/images/output_workflow-run_publish-docs.txt
+++ b/dev/breeze/doc/images/output_workflow-run_publish-docs.txt
@@ -1 +1 @@
-9d78a242ea07f4467d68d6eb769c6e57
+5b0b549ab5cc21aa119dbeace0637be0
diff --git a/dev/breeze/src/airflow_breeze/commands/workflow_commands.py 
b/dev/breeze/src/airflow_breeze/commands/workflow_commands.py
index 502e622b00c..250f54d77d3 100644
--- a/dev/breeze/src/airflow_breeze/commands/workflow_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/workflow_commands.py
@@ -89,6 +89,12 @@ def workflow_run():
     default=None,
     type=str,
 )
[email protected](
+    "--apply-commit",
+    help="Apply commit before building the docs - for example to patch fixes 
to the docs.",
+    default=None,
+    type=str,
+)
 @argument_doc_packages
 def workflow_run_publish(
     ref: str,
@@ -99,6 +105,7 @@ def workflow_run_publish(
     skip_write_to_stable_folder: bool = False,
     airflow_version: str | None = None,
     airflow_base_version: str | None = None,
+    apply_commit: str | None = None,
 ):
     if os.environ.get("GITHUB_TOKEN", ""):
         get_console().print("\n[warning]Your authentication will use 
GITHUB_TOKEN environment variable.")
@@ -165,6 +172,7 @@ def workflow_run_publish(
         "exclude-docs": exclude_docs,
         "skip-write-to-stable-folder": skip_write_to_stable_folder,
         "build-sboms": "true" if "apache-airflow" in doc_packages else "false",
+        "apply-commit": apply_commit if apply_commit else "",
     }
 
     if airflow_version:
diff --git a/dev/breeze/src/airflow_breeze/commands/workflow_commands_config.py 
b/dev/breeze/src/airflow_breeze/commands/workflow_commands_config.py
index 3ebfca1d7c2..d124f81da8e 100644
--- a/dev/breeze/src/airflow_breeze/commands/workflow_commands_config.py
+++ b/dev/breeze/src/airflow_breeze/commands/workflow_commands_config.py
@@ -28,6 +28,7 @@ WORKFLOW_RUN_PARAMETERS: dict[str, list[dict[str, str | 
list[str]]]] = {
             "options": [
                 "--ref",
                 "--skip-tag-validation",
+                "--apply-commit",
             ],
         },
         {

Reply via email to