name: Deploy Docs on: push: branches: - main pull_request: branches: - main workflow_dispatch: permissions: contents: read pages: write id-token: write concurrency: group: "pages" cancel-in-progress: false jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install dependencies run: | pip install poetry poethepoet - name: Set up Python uses: actions/setup-python@v4 with: python-version: 3.12 cache: poetry cache-dependency-path: "poetry.lock" - name: Poetry install run: | poetry install poetry run pip install -r docs/docs-requirements.txt - name: Build site run: make build-docs env: MKDOCS_GIT_COMMITTERS_APIKEY: ${{ secrets.MKDOCS_GIT_COMMITTERS_APIKEY }} - name: Configure GitHub Pages if: github.ref == 'refs/heads/main' uses: actions/configure-pages@v4 - name: Upload Pages Artifact if: github.ref == 'refs/heads/main' uses: actions/upload-pages-artifact@v3 with: path: ./docs/site/ - name: Deploy to GitHub Pages if: github.ref == 'refs/heads/main' id: deployment uses: actions/deploy-pages@v4 - name: Deploy Pull Request Preview if: github.event_name == 'pull_request' uses: actions/upload-artifact@v2 with: name: pr-preview-${{ github.event.number }} path: ./docs/site/