This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch v3-0-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-0-test by this push:
new 28df8ee6bfd [v3-0-test] Add possibility to apply a commit with patch
to docs when publishing (#53668) (#53678)
28df8ee6bfd is described below
commit 28df8ee6bfd9f8899d0d33428bb8400417bf6c5b
Author: Jarek Potiuk <[email protected]>
AuthorDate: Wed Jul 23 20:01:57 2025 +0200
[v3-0-test] Add possibility to apply a commit with patch to docs when
publishing (#53668) (#53678)
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
(cherry picked from commit d6a51e9ac3c02724896858c9970752001e030031)
---
.github/actions/breeze/action.yml | 3 -
.../actions/prepare_breeze_and_image/action.yml | 2 -
.github/workflows/additional-ci-image-checks.yml | 2 -
.github/workflows/airflow-distributions-tests.yml | 2 -
.github/workflows/backport-cli.yml | 4 +-
.github/workflows/basic-tests.yml | 14 +---
.github/workflows/ci-amd.yml | 2 -
.github/workflows/ci-arm.yml | 2 -
.github/workflows/ci-image-build.yml | 2 -
.github/workflows/ci-image-checks.yml | 2 -
.github/workflows/helm-tests.yml | 6 +-
.github/workflows/prod-image-build.yml | 4 -
.github/workflows/publish-docs-to-s3.yml | 68 ++++++++++++++--
.github/workflows/push-image-cache.yml | 4 -
.github/workflows/release_dockerhub_image.yml | 2 -
.../workflows/release_single_dockerhub_image.yml | 4 -
dev/README_RELEASE_AIRFLOW.md | 19 +++++
dev/README_RELEASE_PROVIDERS.md | 14 ++++
.../images/output_workflow-run_publish-docs.svg | 92 ++++++++++++++++++----
.../images/output_workflow-run_publish-docs.txt | 2 +-
.../airflow_breeze/commands/workflow_commands.py | 59 +++++++++++++-
.../commands/workflow_commands_config.py | 15 +++-
22 files changed, 251 insertions(+), 73 deletions(-)
diff --git a/.github/actions/breeze/action.yml
b/.github/actions/breeze/action.yml
index 40f683c5a6f..46438127df6 100644
--- a/.github/actions/breeze/action.yml
+++ b/.github/actions/breeze/action.yml
@@ -22,9 +22,6 @@ inputs:
python-version:
description: 'Python version to use'
default: "3.9"
- use-uv:
- description: 'Whether to use uv tool'
- required: true
outputs:
host-python-version:
description: Python version used in host
diff --git a/.github/actions/prepare_breeze_and_image/action.yml
b/.github/actions/prepare_breeze_and_image/action.yml
index 4a2685cc4eb..0724167cda5 100644
--- a/.github/actions/prepare_breeze_and_image/action.yml
+++ b/.github/actions/prepare_breeze_and_image/action.yml
@@ -43,8 +43,6 @@ runs:
shell: bash
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
id: breeze
- name: "Check free space"
shell: bash
diff --git a/.github/workflows/additional-ci-image-checks.yml
b/.github/workflows/additional-ci-image-checks.yml
index 86a75b1d31f..f3982389301 100644
--- a/.github/workflows/additional-ci-image-checks.yml
+++ b/.github/workflows/additional-ci-image-checks.yml
@@ -142,7 +142,5 @@ jobs:
run: ./scripts/ci/prepare_and_cleanup_runner.sh
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
- name: "Check that image builds quickly"
run: breeze shell --max-time 900 --platform "${PLATFORM}"
diff --git a/.github/workflows/airflow-distributions-tests.yml
b/.github/workflows/airflow-distributions-tests.yml
index 62d4ee1f6b4..98203e47b3e 100644
--- a/.github/workflows/airflow-distributions-tests.yml
+++ b/.github/workflows/airflow-distributions-tests.yml
@@ -105,8 +105,6 @@ jobs:
if: ${{ inputs.use-local-venv == 'true' }}
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
if: ${{ inputs.use-local-venv == 'true' }}
- name: "Cleanup dist files"
run: rm -fv ./dist/*
diff --git a/.github/workflows/backport-cli.yml
b/.github/workflows/backport-cli.yml
index 0ecdfb8e63e..42f81788682 100644
--- a/.github/workflows/backport-cli.yml
+++ b/.github/workflows/backport-cli.yml
@@ -70,8 +70,8 @@ jobs:
TARGET_BRANCH: ${{ inputs.target-branch }}
COMMIT_SHA: ${{ inputs.commit-sha }}
run: |
- git config --global user.email "[email protected]"
- git config --global user.name "Your Name"
+ git config --global user.email "[email protected]"
+ git config --global user.name "Your friendly bot"
set +e
{
echo 'cherry_picker_output<<EOF'
diff --git a/.github/workflows/basic-tests.yml
b/.github/workflows/basic-tests.yml
index 45f92c8db14..8b12aa03b65 100644
--- a/.github/workflows/basic-tests.yml
+++ b/.github/workflows/basic-tests.yml
@@ -80,8 +80,6 @@ jobs:
run: ./scripts/ci/prepare_and_cleanup_runner.sh
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
- run: uv tool run --from apache-airflow-breeze pytest -n auto
--color=yes
working-directory: ./dev/breeze/
tests-ui:
@@ -169,8 +167,6 @@ jobs:
persist-credentials: false
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
id: breeze
- name: "Install pre-commit"
uses: ./.github/actions/install-pre-commit
@@ -200,8 +196,6 @@ jobs:
run: ./scripts/ci/prepare_and_cleanup_runner.sh
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
id: breeze
- name: "Install pre-commit"
uses: ./.github/actions/install-pre-commit
@@ -256,8 +250,6 @@ jobs:
run: ./scripts/ci/prepare_and_cleanup_runner.sh
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
id: breeze
- name: "Install pre-commit"
uses: ./.github/actions/install-pre-commit
@@ -338,14 +330,12 @@ jobs:
run: ./scripts/ci/prepare_and_cleanup_runner.sh
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
- name: "Cleanup dist files"
run: rm -fv ./dist/*
- name: Setup git for tagging
run: |
- git config --global user.email "[email protected]"
- git config --global user.name "Your Name"
+ git config --global user.email "[email protected]"
+ git config --global user.name "Your friendly bot"
- name: Install twine
run: pip install twine
- name: "Check Airflow create minor branch command"
diff --git a/.github/workflows/ci-amd.yml b/.github/workflows/ci-amd.yml
index db1a051e651..d0eb5fe70f6 100644
--- a/.github/workflows/ci-amd.yml
+++ b/.github/workflows/ci-amd.yml
@@ -148,8 +148,6 @@ jobs:
persist-credentials: false
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
id: breeze
- name: "Get information about the Workflow"
id: source-run-info
diff --git a/.github/workflows/ci-arm.yml b/.github/workflows/ci-arm.yml
index 8c309409ca3..5190bd38975 100644
--- a/.github/workflows/ci-arm.yml
+++ b/.github/workflows/ci-arm.yml
@@ -141,8 +141,6 @@ jobs:
persist-credentials: false
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
id: breeze
- name: "Get information about the Workflow"
id: source-run-info
diff --git a/.github/workflows/ci-image-build.yml
b/.github/workflows/ci-image-build.yml
index f58fe1946ca..e716f85c5ad 100644
--- a/.github/workflows/ci-image-build.yml
+++ b/.github/workflows/ci-image-build.yml
@@ -124,8 +124,6 @@ jobs:
run: ./scripts/ci/prepare_and_cleanup_runner.sh
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
- name: "Restore ci-cache mount image ${{ inputs.platform }}:${{
env.PYTHON_MAJOR_MINOR_VERSION }}"
uses:
apache/infrastructure-actions/stash/restore@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
with:
diff --git a/.github/workflows/ci-image-checks.yml
b/.github/workflows/ci-image-checks.yml
index caa6f4c8889..116e4095a7d 100644
--- a/.github/workflows/ci-image-checks.yml
+++ b/.github/workflows/ci-image-checks.yml
@@ -133,8 +133,6 @@ jobs:
if: inputs.canary-run == 'true'
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
id: breeze
if: inputs.canary-run == 'true'
- name: "Install pre-commit"
diff --git a/.github/workflows/helm-tests.yml b/.github/workflows/helm-tests.yml
index cd0abec72db..46e91cf9cf1 100644
--- a/.github/workflows/helm-tests.yml
+++ b/.github/workflows/helm-tests.yml
@@ -101,12 +101,10 @@ jobs:
run: ./scripts/ci/prepare_and_cleanup_runner.sh
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
- name: Setup git for tagging
run: |
- git config --global user.email "[email protected]"
- git config --global user.name "Your Name"
+ git config --global user.email "[email protected]"
+ git config --global user.name "Your friendly bot"
- name: "Remove old artifacts"
run: rm -rf dist/*
- name: "Setup k8s/helm environment"
diff --git a/.github/workflows/prod-image-build.yml
b/.github/workflows/prod-image-build.yml
index 4819ee7be14..6a075c9d521 100644
--- a/.github/workflows/prod-image-build.yml
+++ b/.github/workflows/prod-image-build.yml
@@ -136,8 +136,6 @@ jobs:
if: inputs.upload-package-artifact == 'true'
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
if: inputs.upload-package-artifact == 'true'
- name: "Prepare providers packages - all providers built from sources"
shell: bash
@@ -218,8 +216,6 @@ jobs:
run: ./scripts/ci/prepare_and_cleanup_runner.sh
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
- name: "Cleanup dist and context file"
shell: bash
run: rm -fv ./dist/* ./docker-context-files/*
diff --git a/.github/workflows/publish-docs-to-s3.yml
b/.github/workflows/publish-docs-to-s3.yml
index 6c1eb1dd48a..e6d9a1a2232 100644
--- a/.github/workflows/publish-docs-to-s3.yml
+++ b/.github/workflows/publish-docs-to-s3.yml
@@ -52,7 +52,18 @@ on: # yamllint disable-line rule:truthy
required: false
default: false
type: boolean
-
+ airflow-base-version:
+ required: false
+ description: "Override the Airflow Base Version to use for the docs
build"
+ type: string
+ airflow-version:
+ 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:
@@ -69,6 +80,9 @@ jobs:
DESTINATION: ${{ inputs.destination }}
SKIP_WRITE_TO_STABLE_FOLDER: ${{ inputs.skip-write-to-stable-folder }}
BUILD_SBOMS: ${{ inputs.build-sboms }}
+ AIRFLOW_BASE_VERSION: ${{ inputs.airflow-base-version || '' }}
+ AIRFLOW_VERSION: ${{ inputs.airflow-version || '' }}
+ APPLY_COMMITS: ${{ inputs.apply-commits || '' }}
outputs:
include-docs: ${{ inputs.include-docs == 'all' && '' ||
inputs.include-docs }}
destination-location: ${{ steps.parameters.outputs.destination-location
}}
@@ -102,6 +116,9 @@ jobs:
echo "Destination: '${DESTINATION}'"
echo "Skip write to stable folder: '${SKIP_WRITE_TO_STABLE_FOLDER}'"
echo "Build SBOMs: '${BUILD_SBOMS}'"
+ echo "Airflow Base Version: '${AIRFLOW_BASE_VERSION}'"
+ echo "Airflow Version: '${AIRFLOW_VERSION}'"
+ echo "Apply commits: '${APPLY_COMMITS}'"
if [[ "${DESTINATION}" == "auto" ]]; then
if [[ "${REF}" =~ ^.*[0-9]*\.[0-9]*\.[0-9]*$ ]]; then
echo "${REF} looks like final release, using live destination"
@@ -118,8 +135,20 @@ jobs:
echo
"destination-location=s3://staging-docs-airflow-apache-org/docs/" >>
${GITHUB_OUTPUT}
fi
if [[ " ${INCLUDE_DOCS} " =~ " apache-airflow " ]]; then
- AIRFLOW_BASE_VERSION=$(echo "${REF}" | grep -oE
'[0-9]+\.[0-9]+\.[0-9]+')
- AIRFLOW_VERSION="${REF}"
+ if [[ ${AIRFLOW_BASE_VERSION=} == "" && ${AIRFLOW_VERSION=} == ""
]]; then
+ echo "No Airflow Versions provided, using ${REF} to determine
it."
+ AIRFLOW_VERSION="${REF}"
+ set +e
+ AIRFLOW_BASE_VERSION=$(echo "${REF}" | grep -oE
'[0-9]+\.[0-9]+\.[0-9]+')
+ set -e
+ if [[ ${AIRFLOW_BASE_VERSION=} == "" ]]; then
+ echo
+ echo "No Airflow Base Version found in ${REF}"
+ echo "You need to force airflow version and airflow base
version in the workflow."
+ echo
+ exit 1
+ fi
+ fi
echo "airflow-base-version=${AIRFLOW_BASE_VERSION}" >>
${GITHUB_OUTPUT}
echo "airflow-version=${AIRFLOW_VERSION}" >> ${GITHUB_OUTPUT}
else
@@ -139,6 +168,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
@@ -161,17 +191,43 @@ jobs:
ref: ${{ inputs.ref }}
fetch-depth: 0
fetch-tags: true
+ - name: "Apply patch commits if provided"
+ run: |
+ if [[ "${APPLY_COMMITS}" != "" ]]; then
+ git config --global user.email "[email protected]"
+ git config --global user.name "Your friendly bot"
+ 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 commits provided to apply, skipping."
+ fi
- name: "Install Breeze from the ${{ inputs.ref }} reference"
uses: ./.github/actions/breeze
with:
- use-uv: ${{ inputs.use-uv }}
python-version: "${{ needs.build-info.outputs.default-python-version
}}"
- name: "Building image from the ${{ inputs.ref }} reference"
env:
INCLUDE_DOCS: ${{ needs.build-info.outputs.include-docs }}
INCLUDE_COMMITS: ${{ startsWith(inputs.ref, 'providers') && 'true'
|| 'false' }}
+ # if the regular breeze ci-image build fails, we will try to build the
image using docker buildx
+ # This is needed for the case when we are building an old image which
tries to use main as
+ # a cache and it fails because the main branch has changed and does
not have the same pyproject.toml
+ # Structure as the one we are trying to build.
run: >
- breeze ci-image build
+ breeze ci-image build ||
+ docker buildx build --load --builder default --progress=auto --pull
+ --build-arg AIRFLOW_EXTRAS=devel-ci --build-arg
AIRFLOW_PRE_CACHED_PIP_PACKAGES=false
+ --build-arg AIRFLOW_USE_UV=true --build-arg UV_HTTP_TIMEOUT=300
+ --build-arg BUILD_PROGRESS=auto --build-arg
INSTALL_MYSQL_CLIENT_TYPE=mariadb
+ --build-arg VERSION_SUFFIX_FOR_PYPI=dev0
+ -t ghcr.io/apache/airflow/main/ci/python3.9:latest --target main .
+ -f Dockerfile.ci --platform linux/amd64
- name: "Building docs with --docs-only flag using ${{ inputs.ref }}
reference breeze"
env:
INCLUDE_DOCS: ${{ needs.build-info.outputs.include-docs }}
@@ -268,8 +324,6 @@ jobs:
run: ./scripts/ci/prepare_and_cleanup_runner.sh
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
- name: "Download docs prepared as artifacts"
uses:
actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
diff --git a/.github/workflows/push-image-cache.yml
b/.github/workflows/push-image-cache.yml
index b523577b46c..eccd1760961 100644
--- a/.github/workflows/push-image-cache.yml
+++ b/.github/workflows/push-image-cache.yml
@@ -120,8 +120,6 @@ jobs:
run: ./scripts/ci/prepare_and_cleanup_runner.sh
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
- name: Login to ghcr.io
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -191,8 +189,6 @@ jobs:
run: ./scripts/ci/prepare_and_cleanup_runner.sh
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: ${{ inputs.use-uv }}
- name: "Cleanup dist and context file"
run: rm -fv ./dist/* ./docker-context-files/*
- name: "Download packages prepared as artifacts"
diff --git a/.github/workflows/release_dockerhub_image.yml
b/.github/workflows/release_dockerhub_image.yml
index 2499e521d74..4678ea78f9d 100644
--- a/.github/workflows/release_dockerhub_image.yml
+++ b/.github/workflows/release_dockerhub_image.yml
@@ -96,8 +96,6 @@ jobs:
run: uv run scripts/ci/airflow_version_check.py "${AIRFLOW_VERSION}"
>> "${GITHUB_OUTPUT}"
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: "true"
- name: Selective checks
id: selective-checks
env:
diff --git a/.github/workflows/release_single_dockerhub_image.yml
b/.github/workflows/release_single_dockerhub_image.yml
index fd572adbaba..8cd5acca6aa 100644
--- a/.github/workflows/release_single_dockerhub_image.yml
+++ b/.github/workflows/release_single_dockerhub_image.yml
@@ -83,8 +83,6 @@ jobs:
run: ./scripts/ci/prepare_and_cleanup_runner.sh
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: "false"
- name: Free space
run: breeze ci free-space --answer yes
- name: "Cleanup dist and context file"
@@ -181,8 +179,6 @@ jobs:
run: ./scripts/ci/prepare_and_cleanup_runner.sh
- name: "Install Breeze"
uses: ./.github/actions/breeze
- with:
- use-uv: "false"
- name: Free space
run: breeze ci free-space --answer yes
- name: "Cleanup dist and context file"
diff --git a/dev/README_RELEASE_AIRFLOW.md b/dev/README_RELEASE_AIRFLOW.md
index a61ec4496a7..854582e9323 100644
--- a/dev/README_RELEASE_AIRFLOW.md
+++ b/dev/README_RELEASE_AIRFLOW.md
@@ -376,6 +376,25 @@ 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. (don't forget to add --skip-write-to-stable-folder if you are
publishing
+previous version of the distribution). Example:
+
+```shell script
+breeze workflow-run publish-docs --ref 3.0.3 --site-env staging \
+ --apply-commits
4ae273cbedec66c87dc40218c7a94863390a380d,e61e9618bdd6be8213d277b1427f67079fcb1d9b
\
+ --skip-write-to-stable-folder \
+ 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 08492c7f2de..ed3e91aaaa8 100644
--- a/dev/README_RELEASE_PROVIDERS.md
+++ b/dev/README_RELEASE_PROVIDERS.md
@@ -516,6 +516,20 @@ 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 (don't forget to add --skip-write-to-stable-folder if you are
publishing
+previous version of the distribution). Example:
+
+```shell script
+breeze workflow-run publish-docs --ref providers-apache-hive/9.0.0 --site-env
live \
+ --apply-commits 4ae273cbedec66c87dc40218c7a94863390a380d
--skip-write-to-stable-folder \
+ apache.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 377cf320cee..d15db05f279 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 733.1999999999999"
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="682.1999999999999" />
+ <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"/>
@@ -128,9 +128,57 @@
<clipPath id="breeze-workflow-run-publish-docs-line-26">
<rect x="0" y="635.9" width="1464" height="24.65"/>
</clipPath>
+<clipPath id="breeze-workflow-run-publish-docs-line-27">
+ <rect x="0" y="660.3" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-workflow-run-publish-docs-line-28">
+ <rect x="0" y="684.7" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-workflow-run-publish-docs-line-29">
+ <rect x="0" y="709.1" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-workflow-run-publish-docs-line-30">
+ <rect x="0" y="733.5" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-workflow-run-publish-docs-line-31">
+ <rect x="0" y="757.9" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-workflow-run-publish-docs-line-32">
+ <rect x="0" y="782.3" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-workflow-run-publish-docs-line-33">
+ <rect x="0" y="806.7" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-workflow-run-publish-docs-line-34">
+ <rect x="0" y="831.1" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-workflow-run-publish-docs-line-35">
+ <rect x="0" y="855.5" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-workflow-run-publish-docs-line-36">
+ <rect x="0" y="879.9" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-workflow-run-publish-docs-line-37">
+ <rect x="0" y="904.3" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-workflow-run-publish-docs-line-38">
+ <rect x="0" y="928.7" width="1464" height="24.65"/>
+ </clipPath>
+<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="731.2" 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"/>
@@ -157,17 +205,33 @@
</text><text class="breeze-workflow-run-publish-docs-r1" x="1464" y="361.6"
textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-14)">
</text><text class="breeze-workflow-run-publish-docs-r1" x="12.2" y="386"
textLength="427"
clip-path="url(#breeze-workflow-run-publish-docs-line-15)">Trigger publish docs to S3 workflow</text><text
class="breeze-workflow-run-publish-docs-r1" x="1464" y="386" textLength="12.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-15)">
</text><text class="breeze-workflow-run-publish-docs-r1" x="1464" y="410.4"
textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-16)">
-</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="378.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-17)"> Trigger publish docs workflow </text><text
class="breeze-workflow-run-publish-docs-r5" x="402.6" y="434.8"
textLength="1037" clip-path="url(#breeze-workflow-run [...]
-</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="463.6" y="483.6"
textLength="976"
clip-path="url(#breeze-workflow-run-publish-docs-line-19)">Skip valid [...]
-</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-r1" x="463.6" y="508" textLength="976"
clip-path="url(#breeze-workflow-run-publish-docs-line-20)">caution.                              
[...]
-</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-r4" x="61" y="532.4" textLength="170.8"
clip-path="url(#breeze-workflow-run-publish-docs-line-21)">--exclude-docs</text><text
class="breeze-workflow-run-publish-docs-r1" x="463.6" y="532.4"
textLength="805.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-21)">Comma separated
[...]
-</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="61" y="556.8" textLength="122"
clip-path="url(#breeze-workflow-run-publish-docs-line-22)">--site-env</text><text
class="breeze-workflow-run-publish-docs-r1" x="463.6" y="556.8"
textLength="671"
clip-path="url(#breeze-workflow-run-publish-docs-line-22)">S3 bucket to 
[...]
-</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="61" y="581.2" textLength="353.8"
clip-path="url(#breeze-workflow-run-publish-docs-line-23)">--skip-write-to-stable-folder</text><text
class="breeze-workflow-run-publish-docs-r1" x="463.6" y="581.2"
textLength="366"
clip-path="url(#breeze-workflow-run-publish-docs-line-23)">Skip [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="605.6"
textLength="1464"
clip-path="url(#breeze-workflow-run-publish-docs-line-24)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-workflow-run-publish-docs-r1" x="1464" y="605.6"
textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-24)">
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="630"
textLength="24.4"
clip-path="url(#breeze-workflow-run-publish-docs-line-25)">╭─</text><text
class="breeze-workflow-run-publish-docs-r5" x="24.4" y="630" textLength="195.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-25)"> Common options </text><text
class="breeze-workflow-run-publish-docs-r5" x="219.6" y="630"
textLength="1220"
clip-path="url(#breeze-workflow-run-publish-docs-line-25)">─────── [...]
-</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="73.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-26)">--help</text><text
class="breeze-workflow-run-publish-docs-r9" x="122" y="654.4" textLength="24.4"
clip-path="url(#breeze-workflow-run-publish-docs-line-26)">-h</text><text
class="breeze-w [...]
-</text><text class="breeze-workflow-run-publish-docs-r5" x="0" y="678.8"
textLength="1464"
clip-path="url(#breeze-workflow-run-publish-docs-line-27)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-workflow-run-publish-docs-r1" x="1464" y="678.8"
textLength="12.2" clip-path="url(#breeze-workflow-run-publish-docs-line-27)">
+</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="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 e253f024350..60622b27972 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 @@
-0484cc7039602de141764acb923c771e
+4a33a1d9ebcb6ffa3f23ee25e9b8e205
diff --git a/dev/breeze/src/airflow_breeze/commands/workflow_commands.py
b/dev/breeze/src/airflow_breeze/commands/workflow_commands.py
index 0fb8c4fc5d9..76de156c7df 100644
--- a/dev/breeze/src/airflow_breeze/commands/workflow_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/workflow_commands.py
@@ -59,7 +59,7 @@ def workflow_run():
)
@click.option(
"--exclude-docs",
- help="Comma separated list of docs packages to exclude from the publish.",
+ help="Comma separated short name list of docs packages to exclude from the
publish. (example: apache.druid,google)",
default="no-docs-excluded",
)
@click.option(
@@ -73,6 +73,29 @@ def workflow_run():
help="Skip writing to stable folder.",
is_flag=True,
)
[email protected](
+ "--airflow-version",
+ help="Override Airflow Version to use for the docs build. "
+ "If not provided, it will be extracted from the ref. If only base version
is provided, it will be "
+ "set to the same as the base version.",
+ default=None,
+ type=str,
+)
[email protected](
+ "--airflow-base-version",
+ help="Override Airflow Base Version to use for the docs build. "
+ "If not provided, it will be extracted from the ref. If airflow-version is
provided, the "
+ "base version of the version provided (i.e. stripped pre-/post-/dev-
suffixes).",
+ 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,
@@ -81,6 +104,9 @@ def workflow_run_publish(
skip_tag_validation: bool,
doc_packages: tuple[str, ...],
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.")
@@ -115,6 +141,30 @@ def workflow_run_publish(
get_console().print(
f"[blue]Triggering workflow {WORKFLOW_NAME_MAPS['publish-docs']}: at
{APACHE_AIRFLOW_REPO}[/blue]",
)
+ from packaging.version import InvalidVersion, Version
+
+ if airflow_version:
+ try:
+ Version(airflow_version)
+ except InvalidVersion as e:
+ f"[red]Invalid version passed as --airflow-version:
{airflow_version}[/red]: {e}"
+ sys.exit(1)
+ get_console().print(
+ f"[blue]Using provided Airflow version: {airflow_version}[/blue]",
+ )
+ if airflow_base_version:
+ try:
+ Version(airflow_base_version)
+ except InvalidVersion as e:
+ f"[red]Invalid base version passed as --airflow-base-version:
{airflow_version}[/red]: {e}"
+ sys.exit(1)
+ get_console().print(
+ f"[blue]Using provided Airflow base version:
{airflow_base_version}[/blue]",
+ )
+ if not airflow_version and airflow_base_version:
+ airflow_version = airflow_base_version
+ if airflow_version and not airflow_base_version:
+ airflow_base_version = Version(airflow_version).base_version
workflow_fields = {
"ref": ref,
@@ -122,8 +172,15 @@ def workflow_run_publish(
"include-docs": " ".join(doc_packages),
"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:
+ workflow_fields["airflow-version"] = airflow_version
+ if airflow_base_version:
+ workflow_fields["airflow-base-version"] = airflow_base_version
+
trigger_workflow_and_monitor(
workflow_name=WORKFLOW_NAME_MAPS["publish-docs"],
repo=APACHE_AIRFLOW_REPO,
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 3ffb4e92f11..d1ea027628e 100644
--- a/dev/breeze/src/airflow_breeze/commands/workflow_commands_config.py
+++ b/dev/breeze/src/airflow_breeze/commands/workflow_commands_config.py
@@ -24,10 +24,23 @@ WORKFLOW_RUN_COMMANDS: dict[str, str | list[str]] = {
WORKFLOW_RUN_PARAMETERS: dict[str, list[dict[str, str | list[str]]]] = {
"breeze workflow-run publish-docs": [
{
- "name": "Trigger publish docs workflow",
+ "name": "Select branch or tag to build docs",
"options": [
"--ref",
"--skip-tag-validation",
+ "--apply-commits",
+ ],
+ },
+ {
+ "name": "Optional airflow versions to build.",
+ "options": [
+ "--airflow-version",
+ "--airflow-base-version",
+ ],
+ },
+ {
+ "name": "Select docs to exclude and destination",
+ "options": [
"--exclude-docs",
"--site-env",
"--skip-write-to-stable-folder",