Skip to content

Publish API documentation to GitHub Pages via Sphinx - #52

Merged
augustocristian merged 3 commits into
mainfrom
ft-publishing-docs
Jul 25, 2026
Merged

Publish API documentation to GitHub Pages via Sphinx#52
augustocristian merged 3 commits into
mainfrom
ft-publishing-docs

Conversation

@augustocristian

@augustocristian augustocristian commented Jul 25, 2026

Copy link
Copy Markdown
Owner

This PR provides:

  • Add Sphinx (autodoc + autosummary + napoleon) under docs/, generating javadoc-style API reference pages directly from the code's docstrings — no manual per-module doc files to maintain
  • Add .github/workflows/docs.yml: builds the docs and deploys them to GitHub Pages on every push to main
  • Add sphinx/furo as a new Poetry docs dependency group (kept separate from runtime deps), regenerate poetry.lock
  • GitHub Pages is already enabled on the repo (source: GitHub Actions) — the site will be live at https://augustocristian.github.io/samples-python-template/ once this merges and the workflow runs
  • Update pyproject.toml's Documentation URL and the README to point at the real docs site

Adds Sphinx (autodoc + autosummary + napoleon) under docs/, generating
javadoc-style API reference pages from the code's docstrings. A new
docs.yml workflow builds the site and deploys it to GitHub Pages on every
push to main, so it always reflects the latest merged code.
SonarCloud flagged the workflow-level contents:read grant as broader than
needed. Only the build job checks out the repo, so scope the permission
there instead of applying it to every job.
Comment thread .github/workflows/docs.yml Fixed
Comment thread .github/workflows/docs.yml Fixed
SonarCloud flagged that omitting --only-binary :all: lets poetry build
from source distributions, which executes that package's build/setup
scripts. Set POETRY_INSTALLER_ONLY_BINARY=:all: on the install steps in
docs.yml and test.yml so only prebuilt wheels are installed. Verified all
current dependencies (sphinx, furo, pytest, pytest-cov, flake8,
setuptools, and their transitive deps) publish wheels for py3.12 linux.
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@augustocristian
augustocristian merged commit 89eb5e6 into main Jul 25, 2026
3 of 4 checks passed
@augustocristian
augustocristian deleted the ft-publishing-docs branch July 25, 2026 20:17
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.

2 participants