| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- # Workflow that builds and deploys the documentation website
- name: Deploy Docs to GitHub Pages
- # * Always run on "main"
- # * Run on PRs that target the "main" branch and have changes in the "docs" folder or this workflow
- on:
- push:
- branches:
- - main
- pull_request:
- paths:
- - 'docs/**'
- - '.github/workflows/deploy-docs.yml'
- branches:
- - main
- jobs:
- # Build the documentation website
- build:
- if: github.repository == 'All-Hands-AI/OpenHands'
- name: Build Docusaurus
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- with:
- fetch-depth: 0
- - uses: actions/setup-node@v4
- with:
- node-version: 18
- cache: npm
- cache-dependency-path: docs/package-lock.json
- - name: Set up Python
- uses: actions/setup-python@v5
- with:
- python-version: '3.11'
- - name: Generate Python Docs
- run: rm -rf docs/modules/python && pip install pydoc-markdown && pydoc-markdown
- - name: Install dependencies
- run: cd docs && npm ci
- - name: Build website
- run: cd docs && npm run build
- - name: Upload Build Artifact
- if: github.ref == 'refs/heads/main'
- uses: actions/upload-pages-artifact@v3
- with:
- path: docs/build
- # Deploy the documentation website
- deploy:
- if: github.ref == 'refs/heads/main' && github.repository == 'All-Hands-AI/OpenHands'
- name: Deploy to GitHub Pages
- runs-on: ubuntu-latest
- # This job only runs on "main" so only run one of these jobs at a time
- # otherwise it will fail if one is already running
- concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- needs: build
- # Grant GITHUB_TOKEN the permissions required to make a Pages deployment
- permissions:
- pages: write # to deploy to Pages
- id-token: write # to verify the deployment originates from an appropriate source
- # Deploy to the github-pages environment
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
- steps:
- - name: Deploy to GitHub Pages
- id: deployment
- uses: actions/deploy-pages@v4
|