Skip to content

docs: Update to the latest version of the Sphinx Stack#794

Merged
skoech merged 9 commits into
mainfrom
update-sphinx-stack
Jul 6, 2026
Merged

docs: Update to the latest version of the Sphinx Stack#794
skoech merged 9 commits into
mainfrom
update-sphinx-stack

Conversation

@skoech

@skoech skoech commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Description

This PR updates the MicroCeph docs to the latest version of the Sphinx Stack (v2.0). It brings in updated tooling, and adds missing CI checks.

Key changes

  • Syncs conf.py with the latest Sphinx Stack template
  • Syncs GitHub workflows with Sphinx Stack (cla-check.yml, check-removed-urls.yml)
  • Replaces bundled extension dependencies with individual packages in requirements.txt
  • Adds redirects.txt since Sphinx Stack 2.0 deprecates the sphinx-reredirects extension, which defines redirects inline, in favor of sphinx-rerediraffe, which requires redirects to live in a separate redirects.txt file
    • Removes redirects dict from conf.py
  • Changes FETCH_SCRIPT variable from SOURCEDIR to DOCS_SOURCEDIR in Makefile
  • Adds _dev/ directory with updated tooling (pre-commit hooks, Vale config, pa11y script, pymarkdown) - renamed from _.sphinx to better reflect its purpose (breaking change)
  • Removes the reuse/ directory to reduce complexity and improve source readability (breaking change)

Features

  • sphinx-llm support: Adds sphinx-llm extension that generates extra files (llms.txt, llms-full.txt, .md copies of each page) alongside regular HTML build, that are optimized for AI tools. This makes the documentation consumable by LLMs and MCP-based tools.
  • Dependency constraints: All extensions are now pinned to their major version to prevent upstream breakages from surprise releases. Most extensions now uses the ~= operator (compatible release), which locks to the current major version, which means that we'd still get minor updates (e.g., bug fixes, security fixes and minor improvements/features) without risking a surprise breaking change.
  • Copyright statement: Footer now includes license metadata (AGPL-3.0)- added to html_context in conf.py. Sphinx Stack 2.0 aligns the copyright statement with legal standards

Release notes: https://github.com/canonical/sphinx-stack/releases

Type of change

  • Documentation update (change to documentation only)
    • Documentation tooling, specifically, not content

How has this been tested?

Tested locally; builds pass with no errors or warnings:

  • make run: Builds and serves successfully
  • make spelling: No spelling errors; Ceph-specific terms caught added to .custom_wordlist.txt
  • make woke: No inclusive language issues
  • make linkcheck: No broken links
image image

Contributor checklist

  • self-reviewed the code in this PR
  • added code comments, particularly in less straightforward areas
  • checked and added or updated relevant documentation - N/A
  • added or updated HTML meta descriptions for any new or modified documentation pages (see #643) - N/A
  • verified that page title and headings accurately represent page content for new or modified documentation pages - N/A
  • checked and added or updated relevant release notes
  • added tests to verify effectiveness of this change

skoech added 2 commits July 6, 2026 10:45
Signed-off-by: Sharon Koech <sharon.koech@canonical.com>
Signed-off-by: Sharon Koech <sharon.koech@canonical.com>
@skoech
skoech force-pushed the update-sphinx-stack branch from 336e77b to ce13a5e Compare July 6, 2026 13:19
skoech added 2 commits July 6, 2026 16:45
Signed-off-by: Sharon Koech <sharon.koech@canonical.com>
Signed-off-by: Sharon Koech <sharon.koech@canonical.com>

@lmlg lmlg 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.

lgtm, the tests failures have been explained and are expected.

Signed-off-by: Sharon Koech <sharon.koech@canonical.com>
@skoech

skoech commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator Author

Thanks, @lmlg. Attempting to fix the check-removed-url check failure.

Signed-off-by: Sharon Koech <sharon.koech@canonical.com>
@skoech
skoech force-pushed the update-sphinx-stack branch from 4766351 to 545a0a1 Compare July 6, 2026 16:03
skoech added 3 commits July 6, 2026 19:47
Signed-off-by: Sharon Koech <sharon.koech@canonical.com>
Signed-off-by: Sharon Koech <sharon.koech@canonical.com>
Signed-off-by: Sharon Koech <sharon.koech@canonical.com>
@skoech
skoech merged commit ef92337 into main Jul 6, 2026
92 of 93 checks passed
roosterfish added a commit to canonical/microcloud that referenced this pull request Jul 7, 2026
- Updates MicroOVN docs URL following the move to
ubuntu.com/docs/microovn.
- Updates the MicroCeph build directory variable after `BUILDDIR` was
changed to `DOCS_BUILDDIR` in
canonical/microceph#794.

## Checklist

- [x] I have read the [contributing
guidelines](https://github.com/canonical/microcloud/blob/main/CONTRIBUTING.md)
and attest that all commits in this PR are [signed
off](https://github.com/canonical/microcloud/blob/main/CONTRIBUTING.md#including-a-signed-off-by-line-in-your-commits),
[cryptographically
signed](https://github.com/canonical/microcloud/blob/main/CONTRIBUTING.md#commit-signature-verification),
and follow this project's [commit
structure](https://github.com/canonical/microcloud/blob/main/CONTRIBUTING.md#commit-structure).
- [x] I have checked and added or updated relevant documentation.
@skoech skoech mentioned this pull request Jul 7, 2026
7 tasks
lmlg pushed a commit that referenced this pull request Jul 7, 2026
# Description

This PR adds license info to the footer of the docs. Sphinx Stack v2.0
aligns the copyright statement in the footer with legal standards, but
this change was neglected in #794.

Release notes prescription:

```
To incorporate this change in your documentation, add the license information to html_context in your conf.py file:

html_context = {
    "license": {
        "name": "CC-BY-SA-3.0",
        "url": "https://github.com/canonical/sphinx-docs-starter-pack/blob/main/LICENSE",
    },
}
```

## Type of change

- Documentation update (change to documentation only)

## How has this been tested?
Tested locally; build passes with no errors or warnings:

    make clean && make run: Builds and serves successfully
    make spelling: No spelling errors
    make woke: No inclusive language issues
    make linkcheck: No broken links

<img width="1850" height="941" alt="image"
src="https://github.com/user-attachments/assets/037c1a67-943f-4511-986c-ccc0a4a10705"
/>


## Contributor checklist

Please check that you have:

- [x] self-reviewed the code in this PR
- [x] added code comments, particularly in less straightforward areas
- [ ] checked and added or updated relevant documentation 
- [ ] added or updated HTML meta descriptions for any new or modified
documentation pages (see
[#643](#643)) - N/A
- [ ] verified that page title and headings accurately represent page
content for new or modified documentation pages - N/A
- [ ] checked and added or updated relevant release notes
- [ ] added tests to verify effectiveness of this change

Signed-off-by: Sharon Koech <sharon.koech@canonical.com>
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.

CI: Sphinx build errors from unsupported pyspelling module

2 participants