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

gopidesu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow-site.git


The following commit(s) were added to refs/heads/main by this push:
     new e69ac2c5d0 Update metadata gen and add RewriteRule (#1181)
e69ac2c5d0 is described below

commit e69ac2c5d01016cb0a171ff9fa408e9b8733a0ed
Author: GPK <gopidesupa...@gmail.com>
AuthorDate: Thu May 8 09:47:17 2025 +0100

    Update metadata gen and add RewriteRule (#1181)
    
    * Update metadata gen and add RewriteRule
    
    * Copy generated docs index pages to S3
    
    * Add cloudfront url
---
 .github/workflows/build.yml         | 24 ++++++++++++++++++++
 dump-docs-packages-metadata.py      | 44 +++++--------------------------------
 landing-pages/site/static/.htaccess |  5 +++++
 3 files changed, 34 insertions(+), 39 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 8343e0d4e4..f05f44c64c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -107,6 +107,30 @@ jobs:
           rm -rf ./docs-archive/*
           echo "docs-archive directory files are deleted as they are no longer 
needed after the site is built in the above step"
           /mnt/airflow-site/.github/scripts/print_df.sh
+
+      - name: Install AWS CLI v2
+        if: ${{ github.event_name == 'push' }}
+        run: |
+          curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip"; -o 
/tmp/awscliv2.zip
+          unzip -q /tmp/awscliv2.zip -d /tmp
+          rm /tmp/awscliv2.zip
+          sudo /tmp/aws/install --update
+          rm -rf /tmp/aws/
+
+      - name: Configure AWS credentials
+        if: ${{ github.event_name == 'push' }}
+        uses: 
aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a  
# v4.0.1
+        with:
+          aws-access-key-id: ${{ secrets.DOCS_AWS_ACCESS_KEY_ID }}
+          aws-secret-access-key: ${{ secrets.DOCS_AWS_SECRET_ACCESS_KEY }}
+          aws-region: us-east-2
+
+      - name: Copy docs index page to S3 docs
+        if: ${{ github.event_name == 'push' }}
+        run: |
+          aws s3 cp ./dist/docs/index.html 
s3://staging-docs-airflow-apache-org/docs/index.html
+          aws s3 cp ./dist/docs/index.xml 
s3://staging-docs-airflow-apache-org/docs/index.xml
+
       - name: 🐅 Optimize artifacts
         if: ${{ github.event_name == 'pull_request' }}
         run: |
diff --git a/dump-docs-packages-metadata.py b/dump-docs-packages-metadata.py
index aee2b9a3b5..6e1955907d 100755
--- a/dump-docs-packages-metadata.py
+++ b/dump-docs-packages-metadata.py
@@ -1,44 +1,10 @@
 #!/usr/bin/env python
-
-import json
 import sys
 
-import os
-from typing import List
-import semver
-
-
-ROOT_DIR = 
os.path.dirname(os.path.join(os.path.dirname(os.path.abspath(__file__)), 
os.path.pardir))
-APACHE_AIRFLOW_ARCHIVE = os.path.join(ROOT_DIR, "docs-archive")
-
-
-def get_all_versions(directory: str) -> List[str]:
-    return sorted(
-        (f for f in os.listdir(directory) if 
os.path.isdir(os.path.join(directory, f))),
-        key=lambda d: semver.VersionInfo.parse(d),
-    )
-
-
-def get_stable_version(directory: str):
-    with open(os.path.join(directory, "stable.txt")) as f:
-        return f.read().strip()
-
-
-def dump_docs_package_metadata():
-    all_packages_infos = [
-        {
-            "package-name": package_name,
-            "stable-version": 
get_stable_version(os.path.join(APACHE_AIRFLOW_ARCHIVE, package_name)),
-            "all-versions": 
get_all_versions(os.path.join(APACHE_AIRFLOW_ARCHIVE, package_name)),
-        }
-        for package_name in os.listdir(APACHE_AIRFLOW_ARCHIVE)
-        if (
-            not package_name.startswith(".") and  # Exclude .DS_Store/
-            os.path.isfile(os.path.join(os.path.join(APACHE_AIRFLOW_ARCHIVE, 
package_name, 'stable.txt')))
-        )
-    ]
-
-    json.dump(all_packages_infos, sys.stdout, indent=2)
+import requests
 
+resp = 
requests.get("https://staging-docs-airflow-apache-org.s3.us-east-2.amazonaws.com/manifest/packages-metadata.json";)
+if resp.status_code != 200:
+    raise RuntimeError(f"Failed to fetch metadata: {resp.status_code} - 
{resp.text}")
 
-dump_docs_package_metadata()
+sys.stdout.write(resp.text)
diff --git a/landing-pages/site/static/.htaccess 
b/landing-pages/site/static/.htaccess
index a80ece10f9..379cdad0a9 100644
--- a/landing-pages/site/static/.htaccess
+++ b/landing-pages/site/static/.htaccess
@@ -1,3 +1,8 @@
+RewriteEngine On
+
+RewriteCond %{REQUEST_URI} ^/docs [NC]
+RewriteRule (.*) https://d3a2du7x0n8ydr.cloudfront.net/$1 [P]
+
 RedirectMatch Permanent ^/docs/(stable|1.10.10)/api(\.html)?$ 
"https://airflow.apache.org/docs/apache-airflow/$1/rest-api-ref";
 RedirectMatch Permanent ^/docs/(stable|1.10.10)/(cli|macros)(\.html)?$ 
"https://airflow.apache.org/docs/apache-airflow/$1/$2-ref";
 RedirectMatch Permanent ^/((_api|_images|_modules|_sources|_static|howto)/.*)$ 
"https://airflow.apache.org/docs/apache-airflow/stable/$1";

Reply via email to