| name: Documentation Build |
| |
| on: |
| pull_request: |
| types: [opened, synchronize, reopened] |
| branches: |
| - master |
| paths: |
| - '.github/workflows/docbuild.yaml' |
| - '**.md' |
| - 'docs/**' |
| push: |
| branches: |
| - master |
| |
| permissions: |
| contents: write |
| |
| jobs: |
| build-and-publish: |
| runs-on: ubuntu-latest |
| |
| steps: |
| - name: Checkout the code |
| uses: actions/checkout@v2 |
| with: |
| path: matter |
| fetch-depth: 0 |
| - name: Install Python |
| uses: actions/setup-python@v2 |
| with: |
| python-version: 3.8 |
| - name: cache-pip |
| uses: actions/cache@v1 |
| with: |
| path: ~/.cache/pip |
| key: ${{ runner.os }}-doc-pip |
| - name: Install base dependencies |
| working-directory: matter |
| run: | |
| sudo pip3 install -U pip |
| pip3 install -r docs/requirements.txt |
| - name: Build documentation |
| working-directory: matter/docs |
| run: | |
| mkdir -p _build/src |
| make html |
| touch _build/html/.nojekyll |
| - name: Deploy to gh-pages |
| if: github.repository == 'project-chip/connectedhomeip' && github.event_name == 'push' && github.ref_name == 'master' |
| uses: peaceiris/actions-gh-pages@v3 |
| with: |
| deploy_key: ${{ secrets.DOXYGEN_DEPLOY_KEY }} |
| external_repository: project-chip/connectedhomeip-doc |
| publish_dir: matter/docs/_build/html |
| # Keep only the latest version of the documentation |
| force_orphan: true |