name: Documentation

on:
  push:
    branches:
      - master
      - main
    tags: '*'
  pull_request:
    paths:
      - "docs/**"
      - "src/**"
      - "scripts/**"
      - "test/docs/**"
      - "Project.toml"
      - "Manifest.toml"
      - ".github/workflows/Documentation.yml"

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - uses: julia-actions/setup-julia@v2
        with:
          version: '1'
          
      - uses: julia-actions/cache@v2
      
      - name: Install dependencies
        run: |
          julia --project=docs -e '
            using Pkg
            Pkg.develop(PackageSpec(path=pwd()))
            Pkg.instantiate()'

      - name: Verify documentation quickstart snippet
        run: julia --project=. scripts/verify_docs_quickstart.jl

      - name: Build documentation
        run: julia --project=docs docs/make.jl
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
