name: Publish documentation on: push: branches: [main] paths: - 'docs/**' - 'great_ai/**' - 'mkdocs.yaml' - '.forgejo/workflows/docs.yml' workflow_dispatch: concurrency: group: pages cancel-in-progress: false jobs: publish: runs-on: docker steps: - uses: actions/checkout@v4 with: # The mkdocs git-revision-date plugin reads each page's git history. fetch-depth: 0 - name: Install uv run: | curl -LsSf https://astral.sh/uv/install.sh | sh echo "$HOME/.local/bin" >> "$GITHUB_PATH" - name: Set up Python run: uv python install 3.10 - name: Install dependencies run: | uv venv --python 3.10 uv pip install '.[dev]' - name: Build documentation run: | . .venv/bin/activate mkdocs build # The old workflow ran `mkdocs gh-deploy` (GitHub Pages); on this instance # built sites are rsynced into the host /pages mount that nginx serves, # via the shared ci-actions/deploy-pages action — same as photos/reconcile. - name: Deploy to pages mount if: github.ref == 'refs/heads/main' uses: http://forgejo:3000/andras/ci-actions/deploy-pages@main with: source: site target: great-ai