| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- # Workflow that builds and deploys the documentation website
- name: Deploy Docs to GitHub Pages
- # Only run one workflow of the same group at a time.
- # There can be at most one running and one pending job in a concurrency group at any time.
- concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
- # * Always run on "main"
- # * Run on PRs that target the "main" branch and have changes in the "docs" folder
- on:
- push:
- branches:
- - main
- pull_request:
- paths:
- - 'docs/**'
- branches:
- - main
- jobs:
- # Build the documentation website
- build:
- name: Build Docusaurus
- runs-on: ubuntu-latest
- if: github.repository == 'OpenDevin/OpenDevin'
- 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:
- name: Deploy to GitHub Pages
- runs-on: ubuntu-latest
- needs: build
- if: github.ref == 'refs/heads/main' && github.repository == 'OpenDevin/OpenDevin'
- # 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
|