name: publish

on:
  push:
    tags:
    - '*'
  workflow_dispatch:

jobs:

  documents:
    strategy:
      max-parallel: 4
      matrix:
        python-version: ['3.13']

    runs-on: ubuntu-latest

    permissions:
      contents: read
      pages: write
      id-token: write

    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}

    steps:
      - uses: actions/configure-pages@v5
      - uses: actions/checkout@v5
      - uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python-version }}
      - run: |
          python -m pip install --upgrade pip build
          python -m pip install -r requirements/docs.txt
      - run: python -m zensical.main build -f zensical.yml --clean
      - uses: actions/upload-pages-artifact@v3
        with:
          path: site
      - uses: actions/deploy-pages@v4
