name: Deploy documentation
on:
  pull_request:
    types: [closed]
    branches:
      - '*'
    paths:
      - 'docs/**'
      - 'colossalai/**'

jobs:
  build:
    name: Build and deploy documentation
    runs-on: [self-hosted, gpu]
    container:
      image: nvcr.io/nvidia/pytorch:21.07-py3
      options: --gpus all --rm --ipc=host -v /home/gitact/.ssh:/root/ssh
    timeout-minutes: 1200
    if: github.base_ref == 'main' && github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI' && github.event.pull_request.merged == true
    steps:
      - name: Setup Environment
        run: |
          export https_proxy=http://172.17.0.1:7890 http_proxy=http://172.17.0.1:7890 all_proxy=socks5://172.17.0.1:7890
          cp -r /root/ssh /root/.ssh
      - name: Install dependencies
        run: |
          pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
          pip install -U pip setuptools wheel --user
          pip install pytest tensorboard deepspeed apex sphinx sphinx-rtd-theme myst-parser
      - uses: actions/checkout@v2
      - name: Install Colossal-AI
        run: |
          pip install -v --no-cache-dir --global-option="--cuda_ext" .
      - name: Build documentation
        run: |
          cd docs
          rm -rf colossalai
          make apidoc
          make html
      - name: Deploy documentation
        run: |
          scp -r docs/.build/html server:/home/shared/web/html/colossalai-doc
