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 f6973c96446ddfb42254d849b93ba41f976c20a4 Author: tqchen <[email protected]> AuthorDate: Mon Sep 1 19:35:12 2025 -0400 Workflow for ffi docs --- .github/workflows/publish_tvm_ffi_docs.yml | 60 ++++++++++++++++++++++++++++++ .github/workflows/update_asf_site.yml | 28 ++++++++++++++ scripts/download_3rdparty_embeds.py | 4 ++ scripts/task_deploy_asf_site.sh | 6 +++ 4 files changed, 98 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..aad51d2b66 --- /dev/null +++ b/.github/workflows/publish_tvm_ffi_docs.yml @@ -0,0 +1,60 @@ +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 + + - name: Build docs + working-directory: tvm/ffi/docs + run: | + make html + python ../../../tvm-site/scripts/download_3rdparty_embeds.py -v --path=_build/html + + - name: Deploy docs + working-directory: tvm-site + run: | + git fetch + git checkout -B asf-site origin/asf-site + rm -rf ffi + cp -r ../tvm/ffi/docs/_build/html ffi + git config user.name tvm-bot + git config user.email [email protected] + git add -f 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..383f0d6139 --- /dev/null +++ b/.github/workflows/update_asf_site.yml @@ -0,0 +1,28 @@ +name: Build Jekyll Site + +on: + workflow_dispatch: + push: + branches: [ main ] + +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/download_3rdparty_embeds.py b/scripts/download_3rdparty_embeds.py index c8284b9af7..bd7507c13d 100644 --- a/scripts/download_3rdparty_embeds.py +++ b/scripts/download_3rdparty_embeds.py @@ -310,5 +310,9 @@ def download_and_replace_urls(files: Optional[List[str]] = None, verbose: bool = if __name__ == "__main__": args = argparse.ArgumentParser() args.add_argument("-v", "--verbose", action="store_true") + args.add_argument("-p", "--path", type=str, default=None) args = args.parse_args() + + if args.path is not None: + HTML_DIR = args.path download_and_replace_urls(verbose=args.verbose) 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
