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

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

commit d9e41ac7195d238c1d347d6f8171dc5501dca5c9
Author: tqchen <[email protected]>
AuthorDate: Mon Sep 1 19:35:12 2025 -0400

    Workflow for ffi docs
---
 .github/workflows/publish_tvm_ffi_docs.yml | 61 ++++++++++++++++++++++++++++++
 .github/workflows/update_asf_site.yml      | 26 +++++++++++++
 scripts/task_deploy_asf_site.sh            |  6 +++
 3 files changed, 93 insertions(+)

diff --git a/.github/workflows/publish_tvm_ffi_docs.yml 
b/.github/workflows/publish_tvm_ffi_docs.yml
new file mode 100644
index 0000000000..d9ae019285
--- /dev/null
+++ b/.github/workflows/publish_tvm_ffi_docs.yml
@@ -0,0 +1,61 @@
+name: Publish tvm-ffi docs
+
+on:
+  workflow_dispatch:
+
+jobs:
+  build_wheels:
+    name: Build docs
+    runs-on: ubuntu-latest
+    steps:
+      - uses: astral-sh/setup-uv@v4
+
+      - uses: actions/checkout@v4
+        with:
+          submodules: recursive
+          path: tvm-site
+
+      - name: Checkout tvm
+        uses: actions/checkout@v4
+        with:
+          repository: apache/tvm
+          submodules: recursive
+          path: tvm
+
+      - name: Install wheel and requirements
+        working-directory: tvm/ffi
+        run: |
+          pip install .
+          pip install -r docs/requirements.txt
+          pip install linkify-it-py
+          cp ../../tvm-site/scripts/download_3rdparty_embeds.py docs
+
+      - name: Build docs
+        working-directory: tvm/ffi/docs
+        run: |
+          make html
+          python download_3rdparty_embeds.py -v
+
+      - name: Deploy docs
+        working-directory: tvm-site
+        run: |
+          git fetch
+          git checkout -B asf-site origin/asf-site
+          git ls-tree HEAD ffi/ --name-only | grep -vP '^ffi/v\\d' | xargs rm 
-rf
+          cp -r ../tvm/ffi/docs/_build/html ffi
+          git config user.name tvm-bot
+          git config user.email [email protected]
+          git add ffi
+          git commit -m"deploying ffi docs" ffi
+          git status
+          for i in {1..3}; do
+            if git push origin asf-site; then
+              echo "Push successful"
+              break
+            else
+              echo "Push failed, retrying ($i)..."
+              sleep 2
+              git pull --rebase origin asf-site
+            fi
+          done
+
diff --git a/.github/workflows/update_asf_site.yml 
b/.github/workflows/update_asf_site.yml
new file mode 100644
index 0000000000..7af3bcf6b1
--- /dev/null
+++ b/.github/workflows/update_asf_site.yml
@@ -0,0 +1,26 @@
+name: Build Jekyll Site
+
+on:
+  workflow_dispatch:
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Checkout repository
+        uses: actions/checkout@v4
+
+      - name: Set up Ruby
+        uses: ruby/setup-ruby@v1
+        with:
+          ruby-version: 3.4
+          bundler-cache: true
+
+      - name: Install dependencies
+        run: |
+          bundle install
+
+      - name: Build website
+        run: |
+          ./scripts/task_deploy_asf_site.sh
diff --git a/scripts/task_deploy_asf_site.sh b/scripts/task_deploy_asf_site.sh
index 3d7ddce33b..28d4910796 100755
--- a/scripts/task_deploy_asf_site.sh
+++ b/scripts/task_deploy_asf_site.sh
@@ -18,7 +18,13 @@ git ls-files | grep -v -e ^docs -e ^ffi | xargs  rm -rf
 cp .gitignore.bak .gitignore
 cp .asf.yaml.bak .asf.yaml
 
+if [ "$GITHUB_ACTIONS" = "true" ]; then
+  git config user.name tvm-bot
+  git config user.email [email protected]
+fi
+
 cp -rf _site/* .
+rm -rf _site
 DATE=`date`
 git add --all && git commit -am "Build at ${DATE}"
 git push origin asf-site

Reply via email to