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 e0414e61a9e02c4c78b73107376938c3792e67d2 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. This might help in fixing issues like https://github.com/apache/airflow/issues/53646 --- .github/workflows/publish-docs-to-s3.yml | 19 +++++++ dev/README_RELEASE_AIRFLOW.md | 17 +++++++ dev/README_RELEASE_PROVIDERS.md | 12 +++++ .../images/output_workflow-run_publish-docs.svg | 58 +++++++++++++--------- .../images/output_workflow-run_publish-docs.txt | 2 +- .../airflow_breeze/commands/workflow_commands.py | 9 ++++ .../commands/workflow_commands_config.py | 1 + 7 files changed, 94 insertions(+), 24 deletions(-) diff --git a/.github/workflows/publish-docs-to-s3.yml b/.github/workflows/publish-docs-to-s3.yml index cc12adc8433..26a379f5e10 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-commits: + required: false + description: "Optionally apply commit hashes before building - to patch the docs (coma separated)" + 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_COMMITS: ${{ inputs.apply-commits || '' }} steps: - name: "Cleanup repo" shell: bash @@ -184,6 +189,20 @@ jobs: ref: ${{ inputs.ref }} fetch-depth: 0 fetch-tags: true + - name: "Apply patch commits if provided" + run: | + if [[ "${APPLY_COMMITS}" != "" ]]; then + echo "Applying commits ${APPLY_COMMIT} to the docs" + # Split APPLY_COMMITS by comma and apply each commit + IFS=',' read -ra COMMIT_ARRAY <<< "${APPLY_COMMITS}" + for APPLY_COMMIT in "${COMMIT_ARRAY[@]}"; do + echo "Applying commit ${APPLY_COMMIT}" + git fetch origin "${APPLY_COMMIT}" + git cherry-pick "${APPLY_COMMIT}" + done + 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/README_RELEASE_AIRFLOW.md b/dev/README_RELEASE_AIRFLOW.md index de201c44f09..d22760480f1 100644 --- a/dev/README_RELEASE_AIRFLOW.md +++ b/dev/README_RELEASE_AIRFLOW.md @@ -411,6 +411,23 @@ Other available parameters can be found with: breeze workflow-run publish-docs --help ``` +In case you publish the documentation from branch, you can specify `--airflow-version` and `--airflow-base-version` +parameters to specify which version of airflow you want to build the documentation for - as it cannot +be automatically derived from tag name. Normally both are automatically derived from the tag name. + +One of the interesting features of publishing this way is that you can also rebuild historical version of +the documentation with patches applied to the documentation (if they can be applied cleanly). + +Yoy should specify the `--apply-commits` parameter with the list of commits you want to apply +separated by commas and the workflow will apply those commits to the documentation before +building it. Example: + +```shell script +breeze workflow-run publish-docs --ref 3.0.3 --site-env staging \ + --apply-commits 4ae273cbedec66c87dc40218c7a94863390a380d,e61e9618bdd6be8213d277b1427f67079fcb1d9b \ + apache-airflow docker-stack task-sdk +``` + ### Manually using GitHub Actions There are two steps to publish the documentation: diff --git a/dev/README_RELEASE_PROVIDERS.md b/dev/README_RELEASE_PROVIDERS.md index c5938bd16bd..9444579049f 100644 --- a/dev/README_RELEASE_PROVIDERS.md +++ b/dev/README_RELEASE_PROVIDERS.md @@ -522,6 +522,18 @@ The `--ref` parameter should be the tag of the release candidate you are publish The `--site-env` parameter should be set to `staging` for pre-release versions or `live` for final releases. the default option is `auto` if the tag is rc it publishes to `staging` bucket, otherwise it publishes to `live` bucket. +One of the interesting features of publishing this way is that you can also rebuild historical version of +the documentation with patches applied to the documentation (if they can be applied cleanly). + +Yoy should specify the `--apply-commits` parameter with the list of commits you want to apply +separated by commas and the workflow will apply those commits to the documentation before +building it. Example: + +```shell script +breeze workflow-run publish-docs --ref providers-apache-hive/9.0.0 --site-env live \ + --apply-commits 4ae273cbedec66c87dc40218c7a94863390a380d hive +``` + Other available parameters can be found with: ```shell 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..fb3016cb50d 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 1123.6" 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="1072.6" /> </clipPath> <clipPath id="breeze-workflow-run-publish-docs-line-0"> <rect x="0" y="1.5" width="1464" height="24.65"/> @@ -167,9 +167,18 @@ <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> +<clipPath id="breeze-workflow-run-publish-docs-line-41"> + <rect x="0" y="1001.9" width="1464" height="24.65"/> + </clipPath> +<clipPath id="breeze-workflow-run-publish-docs-line-42"> + <rect x="0" y="1026.3" 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: workflow-run publish-docs</text> + <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1121.6" rx="8"/><text class="breeze-workflow-run-publish-docs-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command: workflow-run 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 +208,30 @@ </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)"> Select branch or tag to build docs </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 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)"> Optional airflow versions to build. </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 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 the ref. If only base version is provided, it will be set to the same as the base   [...] -</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.                               [...] -</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)                                [...] -</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 [...] -</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 from the ref. If airflow-version is provided, the base version of the version   </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 (i.e. stripped pre-/post-/dev- suffixes).                    [...] -</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)                              & [...] -</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)"> Select docs to exclude and destination </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 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: apache.druid,google)                         &# [...] -</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)                              & [...] -</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 bucket to 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 [...] -</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)"> Common options </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="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="183" clip-path="url(#breeze-workflow-run-publish-docs-line-20)">--apply-commits</text><text class="breeze-workflow-run-publish-docs-r1" x="366" y="508" textLength="1073.6" clip-path="url(#breeze-workflow-run-publish-docs-line-20)">Apply commits befo [...] +</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-21)">│</text><text class="breeze-workflow-run-publish-docs-r1" x="366" y="532.4" textLength="1073.6" clip-path="url(#breeze-workflow-run-publish-docs-line-21)">separated list of commits).                        & [...] +</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-r7" x="366" y="556.8" textLength="1073.6" clip-path="url(#breeze-workflow-run-publish-docs-line-22)">(TEXT)                              & [...] +</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="581.2" textLength="1464" clip-path="url(#breeze-workflow-run-publish-docs-line-23)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-workflow-run-publish-docs-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-23)"> +</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="605.6" textLength="24.4" clip-path="url(#breeze-workflow-run-publish-docs-line-24)">╭─</text><text class="breeze-workflow-run-publish-docs-r5" x="24.4" y="605.6" textLength="451.4" clip-path="url(#breeze-workflow-run-publish-docs-line-24)"> Optional airflow versions to build. </text><text class="breeze-workflow-run-publish-docs-r5" x="475.8" y="605.6" textLength="963.8" clip-path="url(#breeze- [...] +</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-r4" x="24.4" y="630" textLength="207.4" clip-path="url(#breeze-workflow-run-publish-docs-line-25)">--airflow-version</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)">Override Airflow& [...] +</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-r1" x="341.6" y="654.4" textLength="1098" clip-path="url(#breeze-workflow-run-publish-docs-line-26)">from the ref. If only base version is provided, it will be set to the same as the base   [...] +</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)">version.                               [...] +</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-r7" x="341.6" y="703.2" textLength="1098" clip-path="url(#breeze-workflow-run-publish-docs-line-28)">(TEXT)                              & [...] +</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-r4" x="24.4" y="727.6" textLength="268.4" clip-path="url(#breeze-workflow-run-publish-docs-line-29)">--airflow-base-version</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)">Override [...] +</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-r1" x="341.6" y="752" textLength="1098" clip-path="url(#breeze-workflow-run-publish-docs-line-30)">extracted from the ref. If airflow-version is provided, the base version of the version   </text><text class="b [...] +</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-31)">│</text><text class="breeze-workflow-run-publish-docs-r1" x="341.6" y="776.4" textLength="1098" clip-path="url(#breeze-workflow-run-publish-docs-line-31)">provided (i.e. stripped pre-/post-/dev- suffixes).                    [...] +</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-r7" x="341.6" y="800.8" textLength="1098" clip-path="url(#breeze-workflow-run-publish-docs-line-32)">(TEXT)                              & [...] +</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="825.2" textLength="1464" clip-path="url(#breeze-workflow-run-publish-docs-line-33)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-workflow-run-publish-docs-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-33)"> +</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="849.6" textLength="24.4" clip-path="url(#breeze-workflow-run-publish-docs-line-34)">╭─</text><text class="breeze-workflow-run-publish-docs-r5" x="24.4" y="849.6" textLength="488" clip-path="url(#breeze-workflow-run-publish-docs-line-34)"> Select docs to exclude and destination </text><text class="breeze-workflow-run-publish-docs-r5" x="512.4" y="849.6" textLength="927.2" clip-path="url(#b [...] +</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="170.8" clip-path="url(#breeze-workflow-run-publish-docs-line-35)">--exclude-docs</text><text class="breeze-workflow-run-publish-docs-r1" x="427" y="874" textLength="1012.6" clip-path="url(#breeze-workflow-run-publish-docs-line-35)">Comma separated  [...] +</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-r1" x="427" y="898.4" textLength="1012.6" clip-path="url(#breeze-workflow-run-publish-docs-line-36)">(example: apache.druid,google)                         &# [...] +</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-r7" x="427" y="922.8" textLength="1012.6" clip-path="url(#breeze-workflow-run-publish-docs-line-37)">(TEXT)                              & [...] +</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-38)">│</text><text class="breeze-workflow-run-publish-docs-r4" x="24.4" y="947.2" textLength="122" clip-path="url(#breeze-workflow-run-publish-docs-line-38)">--site-env</text><text class="breeze-workflow-run-publish-docs-r1" x="427" y="947.2" textLength="671" clip-path="url(#breeze-workflow-run-publish-docs-line-38)">S3 bucket to  [...] +</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="353.8" clip-path="url(#breeze-workflow-run-publish-docs-line-39)">--skip-write-to-stable-folder</text><text class="breeze-workflow-run-publish-docs-r1" x="427" y="971.6" textLength="366" clip-path="url(#breeze-workflow-run-publish-docs-line-39)">Skip [...] </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="1020.4" textLength="24.4" clip-path="url(#breeze-workflow-run-publish-docs-line-41)">╭─</text><text class="breeze-workflow-run-publish-docs-r5" x="24.4" y="1020.4" textLength="195.2" clip-path="url(#breeze-workflow-run-publish-docs-line-41)"> Common options </text><text class="breeze-workflow-run-publish-docs-r5" x="219.6" y="1020.4" textLength="1220" clip-path="url(#breeze-workflow-run-publish-docs-line-41) [...] +</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-42)">│</text><text class="breeze-workflow-run-publish-docs-r4" x="24.4" y="1044.8" textLength="73.2" clip-path="url(#breeze-workflow-run-publish-docs-line-42)">--help</text><text class="breeze-workflow-run-publish-docs-r9" x="122" y="1044.8" textLength="24.4" clip-path="url(#breeze-workflow-run-publish-docs-line-42)">-h</text><text class="breez [...] +</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="1069.2" textLength="1464" clip-path="url(#breeze-workflow-run-publish-docs-line-43)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-workflow-run-publish-docs-r1" x="1464" y="1069.2" textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-43)"> </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..cffd3517fe7 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 +d0677b79afb4dba327d26a35c97455b3 diff --git a/dev/breeze/src/airflow_breeze/commands/workflow_commands.py b/dev/breeze/src/airflow_breeze/commands/workflow_commands.py index 502e622b00c..76de156c7df 100644 --- a/dev/breeze/src/airflow_breeze/commands/workflow_commands.py +++ b/dev/breeze/src/airflow_breeze/commands/workflow_commands.py @@ -89,6 +89,13 @@ def workflow_run(): default=None, type=str, ) [email protected]( + "--apply-commits", + help="Apply commits before building the docs - for example to patch fixes " + "to the docs (comma separated list of commits). ", + default=None, + type=str, +) @argument_doc_packages def workflow_run_publish( ref: str, @@ -99,6 +106,7 @@ def workflow_run_publish( skip_write_to_stable_folder: bool = False, airflow_version: str | None = None, airflow_base_version: str | None = None, + apply_commits: str | None = None, ): if os.environ.get("GITHUB_TOKEN", ""): get_console().print("\n[warning]Your authentication will use GITHUB_TOKEN environment variable.") @@ -165,6 +173,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-commits": apply_commits if apply_commits 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..d1ea027628e 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-commits", ], }, {
