name: Documentation on: push: branches: [main] paths: - mkdocs.yml - 'docs/**' - 'src/**' pull_request: paths: - mkdocs.yml - 'docs/**' - 'src/**' workflow_dispatch: jobs: docs: permissions: contents: write runs-on: ubuntu-latest steps: - name: Check out the repository uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.10' cache: "pip" - name: Configure git run: | git config user.name 'github-actions[bot]' git config user.email 'github-actions[bot]@users.noreply.github.com' - name: Install requirements run: pip install -e '.[docs]' - name: Build docs if: github.event_name == 'pull_request' run: mkdocs build -s - name: Publish docs if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} run: mkdocs gh-deploy