Skip to content

Build Latest Docs

Build Latest Docs #40

name: Build Latest Docs
on:
workflow_run:
workflows: ["Test TrajDL on branch main"]
types:
- completed
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
name: dist-${{ github.ref_name }}-${{ github.sha }}-${{ matrix.python-version }}
path: dist
run-id: ${{ github.event.workflow_run.id }}
github-token: ${{ secrets.PAT_FOR_ARTIFACTS }}
- name: Install TrajDL
run: |
python -m pip install --upgrade pip
python -m pip install torch --index-url https://download.pytorch.org/whl/cpu
python -m pip install "dist/trajdl-0.1.0-cp312-cp312-linux_x86_64.whl[docs]"
- name: Cache datasets
id: cache-datasets
uses: actions/cache@v3
with:
path: ~/.cache/trajdl
key: trajdl-cache-datasets
- name: Build docs
run: |
cd docs && make -j 4 html && cd ..
- name: Get branch name
id: branch-name
run: echo "branch=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT
- name: Checkout documentation repository
uses: actions/checkout@v3
with:
repository: Spatial-Temporal-Data-Mining/TrajDL-docs
token: ${{ secrets.PAT_FOR_DOCS }}
path: docs-repo
fetch-depth: 0 # 获取所有分支信息
- name: Deploy to documentation repository
run: |
cd docs-repo
git config user.name "GitHub Actions"
git config user.email "[email protected]"
git checkout -b ${{ steps.branch-name.outputs.branch }} || git checkout ${{ steps.branch-name.outputs.branch }}
# 复制文档
rm -rf * # 清空当前分支内容
cp -r ../docs/build/html/ .
cp ../.readthedocs.yaml .
# 提交更改
git add .
git commit -m "Update documentation from source repository" || echo "No changes to commit"
git push origin ${{ steps.branch-name.outputs.branch }}