name: Preview on: workflow_dispatch: pull_request: types: [opened, synchronize, reopened, ready_for_review] # Run the workflow only when one of these files changes paths: - '**/*.md' # any Markdown file - '**/*.qmd' # any Quarto file - '_quarto.yml' - docs/scripts/generate_config_docs.py - src/axolotl/utils/schemas/**.py permissions: checks: write contents: write deployments: write issues: write discussions: write pages: write pull-requests: write statuses: write jobs: preview: runs-on: ubuntu-latest if: ${{ !github.event.pull_request.draft }} steps: - name: Check out repository uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.sha }} - name: Set up Quarto uses: quarto-dev/quarto-actions/setup@v2 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install uv uses: astral-sh/setup-uv@v4 with: version: "latest" - name: Install dependencies run: | uv pip install --system jupyter quartodoc uv pip install --system -e . - name: Build autodoc run: quartodoc build - name: Quarto render run: quarto render - name: Netlify Publish uses: nwtgck/actions-netlify@v3.0 if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} id: netlify with: publish-dir: './_site' enable-pull-request-comment: false enable-github-deployment: false github-token: ${{ secrets.GITHUB_TOKEN }} deploy-message: "Deployed On Netlify" github-deployment-environment: 'preview' github-deployment-description: 'Preview Deployment' env: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} - name: Update PR with preview link if: ${{ steps.netlify.outcome == 'success' }} uses: marocchino/sticky-pull-request-comment@v2 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} message: | 📖 **Documentation Preview**: ${{ steps.netlify.outputs.deploy-url }} Deployed on Netlify from commit ${{ github.event.pull_request.head.sha }}