Skip to content

Add GitHub Pages documentation site via MkDocs - #156

Merged
Laveesh Rohra (larohra) merged 6 commits into
mainfrom
larohra-github-pages-mkdocs
Aug 12, 2026
Merged

Add GitHub Pages documentation site via MkDocs#156
Laveesh Rohra (larohra) merged 6 commits into
mainfrom
larohra-github-pages-mkdocs

Conversation

@larohra

@larohra Laveesh Rohra (larohra) commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a GitHub Pages documentation site for this repo, powered by MkDocs Material, modeled on Azure/azure-functions-golang-worker PR #60 as referenced in Azure/azure-functions-bucees-planning#1283.

Closes Azure/azure-functions-bucees-planning#1283.

Sample view -
image

What's included

  • mkdocs.yml with Material theme, navigation (Home / Getting started / Concepts / Reference), and repository edit links.
  • pyproject.toml docs optional dependency extra (mkdocs-material==9.7.7) with the dependency captured in uv.lock; no standalone requirements file.
  • .github/workflows/docs.yml using astral-sh/setup-uv: uv sync --extra docs --no-install-project --locked, then uv run --no-sync mkdocs build --strict; deploys only on pushes to main or manual dispatch.
  • New docs/index.md and docs/getting-started.md landing/quickstart pages adapted from README.md.
  • Existing docs wired into the public nav. Internal process docs (front-matter-reference.md and docs/frds/) remain intentionally out of the public nav.
  • Relative links that pointed outside docs/ converted to absolute GitHub URLs so they work both on GitHub and under MkDocs.
  • README, CONTRIBUTING, and AGENTS guidance updated; local preview is now uv sync --extra docs --no-install-project followed by uv run mkdocs serve.
  • update-schema-docs skill extended to keep the new landing pages synchronized when schema changes add user-facing capability.

Why MkDocs

MkDocs is markdown-native, provides search/dark mode/navigation through Material, and matches the proven Azure Functions workflow pattern in PR #60. Sphinx would add unnecessary format/tooling overhead, while default Jekyll would provide weaker navigation and search.

Validation

uv sync --extra docs --no-install-project --locked and uv run --no-sync mkdocs build --strict both pass with exit code 0. Remaining output is INFO-level for intentionally omitted internal docs and pre-existing anchor/link notices.

Manual follow-up

After merge, a repo admin must set Settings → Pages → Source: GitHub Actions once. Subsequent pushes to main publish automatically.

Adds a MkDocs Material-based documentation site (modeled on
Azure/azure-functions-golang-worker PR #60) so this repo's docs/*.md
files publish as a browsable, searchable site at
https://azure.github.io/azure-functions-agents-runtime/.

- mkdocs.yml: material theme, nav tree (Home / Getting started /
  Concepts / Reference), edit_uri back to docs/, validation tuning for
  intentionally nav-omitted internal docs (frds/, auto-generated
  reference).
- requirements-docs.txt: pins mkdocs-material.
- .github/workflows/docs.yml: build (mkdocs build --strict) on
  push/PR/dispatch; deploy (GitHub Pages) gated to push/dispatch, same
  two-job pattern as PR #60.
- docs/index.md, docs/getting-started.md: new landing + quickstart
  pages adapted from README.
- docs/architecture.md, docs/triggers.md, docs/workflows.md,
  docs/frds/README.md: rewrote a handful of relative links that
  pointed outside docs/ (README.md, samples/, AGENTS.md, .github/) to
  absolute GitHub URLs so they resolve both on GitHub and under
  MkDocs's docs_dir.
- README.md / CONTRIBUTING.md / AGENTS.md: link to the new docs site
  and document local preview via `mkdocs serve`.
- .github/skills/update-schema-docs/SKILL.md: extended to also keep
  docs/index.md and docs/getting-started.md in sync when schema
  changes introduce new user-facing capability.
- .gitignore: ignore mkdocs's site/ build output.

Closes Azure/azure-functions-bucees-planning#1283.

Note: after merge, a repo admin must flip Settings -> Pages -> Source:
GitHub Actions once (cannot be automated from this PR).

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: f4f256ba-f253-4497-b706-c102f463bfb8
@larohra
Laveesh Rohra (larohra) requested a review from a team as a code owner August 11, 2026 23:47
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f4f256ba-f253-4497-b706-c102f463bfb8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f4f256ba-f253-4497-b706-c102f463bfb8

@larohra Laveesh Rohra (larohra) left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot address these comments

Comment thread docs/frds/README.md
Comment thread docs/frds/README.md
Comment thread docs/architecture.md
Comment thread docs/triggers.md
Comment thread docs/workflows.md

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a GitHub Pages documentation site for azure-functions-agents-runtime using MkDocs Material, wiring existing docs/ content into a public nav and introducing landing/onboarding pages and a deployment workflow.

Changes:

  • Add MkDocs configuration and new docs landing pages (docs/index.md, docs/getting-started.md) and link the published site from README.md.
  • Introduce a docs extra in pyproject.toml for mkdocs-material and add a GitHub Actions workflow to build/deploy the site.
  • Update existing docs to use GitHub-absolute links so they work both in-repo and when rendered by MkDocs.

Reviewed changes

Copilot reviewed 13 out of 15 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
README.md Adds a prominent link to the published GitHub Pages documentation site.
pyproject.toml Adds a docs optional dependency extra for mkdocs-material.
mkdocs.yml Configures MkDocs Material theme, extensions, validation, and navigation.
docs/workflows.md Converts sample links to GitHub-absolute URLs for MkDocs compatibility.
docs/triggers.md Converts sample link to GitHub-absolute URL for MkDocs compatibility.
docs/index.md Adds a new documentation site landing page adapted from the README.
docs/getting-started.md Adds a new documentation site onboarding/quickstart page.
docs/frds/README.md Converts internal-process links to GitHub-absolute URLs.
docs/architecture.md Converts README link to GitHub-absolute URL for MkDocs compatibility.
CONTRIBUTING.md Documents local preview steps and CI behavior for docs builds.
AGENTS.md Updates documentation conventions to include the new docs site workflow/pages.
.gitignore Ignores MkDocs build output (site/).
.github/workflows/docs.yml Adds build + deploy workflow for publishing docs to GitHub Pages.
.github/skills/update-schema-docs/SKILL.md Extends the skill’s guidance to include syncing new docs landing pages on schema changes.
Suppressed comments (2)

.github/workflows/docs.yml:57

  • actions/upload-pages-artifact is referenced by a moving tag (@v3). Pin it to an immutable commit SHA to reduce supply-chain risk and ensure builds are reproducible.
      - name: Upload GitHub Pages artifact
        if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
        uses: actions/upload-pages-artifact@v3
        with:
          path: site

.github/workflows/docs.yml:76

  • actions/deploy-pages is referenced by a moving tag (@v4). Pin it to an immutable commit SHA for reproducible deployments and reduced supply-chain risk.
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/docs.yml Outdated
Comment thread docs/getting-started.md Outdated
Comment thread docs/getting-started.md Outdated
Comment thread uv.lock
Comment thread .github/workflows/docs.yml Outdated
…erence to nav

- Pin actions/configure-pages, actions/upload-pages-artifact, and
  actions/deploy-pages to verified commit SHAs (per Copilot review).
- Bump actions/checkout to v5.1.0 and astral-sh/setup-uv to v9.0.0, both of
  which run natively on Node 24, resolving the Node 20 deprecation warning
  in Actions logs.
- Add docs/getting-started.md notes: mention the [monitor] extra and link
  front-matter-reference.md under 'Where to go next'; wire the reference
  page into mkdocs.yml nav.

Note: did not revert the absolute GitHub links in docs/frds/README.md,
docs/architecture.md, docs/triggers.md, and docs/workflows.md back to
relative links. Those links point to files outside docs/ (AGENTS.md,
.github/skills/, samples/, README.md), and MkDocs 'strict' mode fails the
build when a relative link's target isn't part of the docs/ tree. Verified
with 'mkdocs build --strict'.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: f4f256ba-f253-4497-b706-c102f463bfb8
Comment thread .github/workflows/docs.yml
The configure-pages step runs in build, so pages: write must be granted to that job rather than only deploy.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>\nCopilot-Session: f4f256ba-f253-4497-b706-c102f463bfb8

@larohra Laveesh Rohra (larohra) left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot fix it

Comment thread docs/getting-started.md Outdated
…dback

Co-authored-by: larohra <41490930+larohra@users.noreply.github.com>

Copilot AI commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Copilot fix it

Fixed in 54d874erequirements.txt quickstart now defaults to azurefunctions-agents-runtime[monitor] with a note on omitting the extra if you don't want Azure Monitor / App Insights export. Other open threads (front-matter reference linking, uv.lock feed access) are ongoing discussions without a concrete ask, so left as-is.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@larohra
Laveesh Rohra (larohra) merged commit 807fd5b into main Aug 12, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants