This is an automated email from the ASF dual-hosted git repository. potiuk pushed a commit to branch run-scripts-from-current-version in repository https://gitbox.apache.org/repos/asf/airflow.git
commit fc0c7de10d8e4da883575b5874e5371223699d1e Author: Jarek Potiuk <[email protected]> AuthorDate: Tue Feb 17 00:17:31 2026 +0100 Publish docs to s3 uses current version of workflows/scripts In case we built docs for past version of airflow we checkout both - current (main) version of code to use latest environment and tag version of code to build the documentation. The workflow mixed sub-workflows and run them from the "tag" version of workflow rather than from current. This PR fixes it. --- .github/workflows/publish-docs-to-s3.yml | 30 ++++++++-------------- .../src/airflow_breeze/utils/docs_publisher.py | 15 +++++++++-- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/.github/workflows/publish-docs-to-s3.yml b/.github/workflows/publish-docs-to-s3.yml index 2f5f30b07bc..d1a288ce3c1 100644 --- a/.github/workflows/publish-docs-to-s3.yml +++ b/.github/workflows/publish-docs-to-s3.yml @@ -182,6 +182,13 @@ jobs: with: persist-credentials: false path: current-version + - name: "Free up disk space" + shell: bash + run: ./current-version/scripts/tools/free_up_disk_space.sh + - name: "Make /mnt writeable" + run: ./current-version/scripts/ci/make_mnt_writeable.sh + - name: "Move docker to /mnt" + run: ./current-version/scripts/ci/move_docker_to_mnt.sh # We are checking repo for both - breeze and docs from the ref provided as input # This will take longer as we need to rebuild CI image and it will not use cache # but it will build the CI image from the version of Airflow that is used to check out things @@ -192,13 +199,6 @@ jobs: ref: ${{ inputs.ref }} fetch-depth: 0 fetch-tags: true - - name: "Free up disk space" - shell: bash - run: ./scripts/tools/free_up_disk_space.sh - - name: "Make /mnt writeable" - run: ./scripts/ci/make_mnt_writeable.sh - - name: "Move docker to /mnt" - run: ./scripts/ci/move_docker_to_mnt.sh - name: "Apply patch commits if provided" run: | if [[ "${APPLY_COMMITS}" != "" ]]; then @@ -248,18 +248,15 @@ jobs: persist-credentials: false fetch-depth: 0 fetch-tags: true - path: current-version - if: inputs.build-sboms - - name: "Reinstall breeze from the current version" - run: | - breeze setup self-upgrade --use-current-airflow-sources if: inputs.build-sboms - working-directory: current-version + - name: "Install Breeze from the current version" + uses: ./.github/actions/breeze + with: + python-version: "${{ needs.build-info.outputs.default-python-version }}" - name: "Make sure SBOM dir exists and has the right permissions" run: | sudo mkdir -vp ./files/sbom sudo chown -R "${USER}" . - working-directory: current-version if: inputs.build-sboms - name: "Prepare SBOMs using current version of Breeze" env: @@ -271,17 +268,12 @@ jobs: breeze sbom update-sbom-information --airflow-version ${AIRFLOW_VERSION} --remote-name origin --force --all-combinations --run-in-parallel --airflow-root-path "${GITHUB_WORKSPACE}" - working-directory: current-version if: inputs.build-sboms - name: "Generated SBOM files" run: | echo "Generated SBOM files:" find ./generated/_build/docs/apache-airflow/stable/sbom/ -type f | sort if: inputs.build-sboms - - name: "Reinstall breeze from ${{ inputs.ref }} reference" - run: - breeze setup self-upgrade --use-current-airflow-sources - if: inputs.build-sboms - name: Check disk space available run: df -H # Here we will create temp airflow-site dir to publish docs diff --git a/dev/breeze/src/airflow_breeze/utils/docs_publisher.py b/dev/breeze/src/airflow_breeze/utils/docs_publisher.py index 861a7730ded..ab18c0cdb95 100644 --- a/dev/breeze/src/airflow_breeze/utils/docs_publisher.py +++ b/dev/breeze/src/airflow_breeze/utils/docs_publisher.py @@ -18,6 +18,7 @@ from __future__ import annotations import os import shutil +from pathlib import Path from airflow_breeze.global_constants import get_airflow_version, get_airflowctl_version, get_task_sdk_version from airflow_breeze.utils.console import Output, get_console @@ -48,10 +49,20 @@ class DocsPublisher: @property def _build_dir(self) -> str: + if Path(f"{GENERATED_PATH}/_build/").is_dir(): + build_dir = f"{GENERATED_PATH}/_build" + elif Path("docs/_build").is_dir(): + build_dir = "docs/_build/" + else: + raise RuntimeError( + f"The build directory does not exist " + f"(neither {GENERATED_PATH}_build/ - Airflow 3 nor " + f"docs/_build/ - Airflow 2)" + ) if self.is_versioned: version = "stable" - return f"{GENERATED_PATH}/_build/docs/{self.package_name}/{version}" - return f"{GENERATED_PATH}/_build/docs/{self.package_name}" + return f"{build_dir}/docs/{self.package_name}/{version}" + return f"{build_dir}/docs/{self.package_name}" @property def _current_version(self):
