Repository navigation
chore(merge): update starbase (2026-10-19) - #213
Merged
Merged
Conversation
Signed-off-by: Callahan Kovacs <callahan.kovacs@canonical.com> Co-authored-by: Tiago Nobrega <tiago.nobrega@canonical.com>
…5.12 (#527) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Apply better patterns: - Move `docs/how-to-guides` to `docs/how-to`. - Add meta-project TOC. - Fix indentation in some boilerplate. - Add default descriptions to landing pages. - Fix some ruff linting problems in `conf.py`.
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…5.13 (#535) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…5.14 (#536) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(docs): update Sphinx Stack to 2.0 * docs: fix autobuild loop * chore: lock deps * docs: revise metadata for homepage and main indexes --------- Signed-off-by: JJ Coldiron <jj.coldiron@canonical.com> Co-authored-by: Michael DuBelko <michael.dubelko@canonical.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Callahan Kovacs <callahan.kovacs@canonical.com>
Signed-off-by: Callahan Kovacs <callahan.kovacs@canonical.com>
Fixes starbase#538 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
The instructions were incorrect and out of date.
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Alex M. Lowe <alex.lowe@canonical.com>
Co-authored-by: Alex Lowe <alex.lowe@canonical.com>
--------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Signed-off-by: Callahan Kovacs <callahan.kovacs@canonical.com> Co-authored-by: Tiago Nobrega <tiago.nobrega@canonical.com>
The `docs-clean` target in the docs Makefile has an ambiguous `test` command that fails if we export a temp directory to it. To work around that, override the target completely, so we don't require a temp dir to delete in the first place.
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
LoweRAM
commented
Oct 19, 2026
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved moderate documentation, consent, accessibility, and workflow-link issues remain.
10 open issues
Point tag protection link to Debcraft repository · New Restore or remove nonfunctional tracker settings control · New Prevent unconditional GTM loading without consent · New Remove incorrect aria-current from external product link · New Move metadata below explanation anchor · New Move metadata below how-to-guides anchor · New Move metadata below reference anchor · New Use US spelling: summarize · New Move metadata below release-notes anchor · New Move metadata below tutorials anchor · New
What changed in this PR
Synchronizes Debcraft with Starbase’s Sphinx Stack 2.0 documentation, tooling, workflows, and dependencies.
Changes:
- Migrates documentation tooling, navigation, redirects, and metadata.
- Refreshes CI, linting, release, and security configuration.
- Updates dependencies, templates, and shared development tooling.
| File | Summary |
|---|---|
uv.lock |
Updates locked documentation dependencies. |
pyproject.toml |
Updates documentation groups and Ruff rules. |
osv-scanner.toml |
Adds scanner configuration. |
Makefile |
Updates formatting, linting, and documentation targets. |
docs/tutorials/index.rst |
Adds tutorial metadata; metadata ordering needs correction (moderate, 2 votes). |
docs/requirements.txt |
Updates documentation dependencies. |
docs/release-notes/index.rst |
Adds metadata; ordering and US spelling need correction (moderate, 2 and 3 votes). |
docs/reference/index.rst |
Adds reference metadata; metadata ordering needs correction (moderate, 2 votes). |
docs/redirects.txt |
Adds the how-to redirect. |
docs/README.md |
Documents Sphinx Stack maintenance. |
docs/Makefile |
Migrates documentation build tooling. |
docs/index.rst |
Updates the documentation landing page; README documentation text also needs updating (moderate, 1 vote). |
docs/how-to/index.rst |
Adds the how-to landing page; metadata ordering needs correction (moderate, 2 votes). |
docs/how-to-guides/index.rst |
Removes the renamed legacy page. |
docs/explanation/index.rst |
Adds explanation metadata; metadata ordering needs correction (moderate, 2 votes). |
docs/explanation/documentation.rst |
Updates the syntax-reference link. |
docs/conf.py |
Updates Sphinx configuration; stale module/path references and UK spelling need correction (moderate, 1 vote each). |
docs/.sphinx/version |
Removes the old tooling marker. |
docs/.gitignore |
Updates generated-path ignores. |
docs/_templates/header.html |
Adds the documentation header; unconditional GTM loading and incorrect aria-current need correction (moderate, 4 and 2 votes). |
docs/_templates/footer.html |
Adds the footer; tracker-settings control lacks a working consent handler (moderate, 3 votes). |
docs/_static/js/bundle.js |
Removes the old consent bundle. |
docs/_static/css/cookie-banner.css |
Removes old cookie-banner styling. |
docs/_dev/version |
Adds Sphinx Stack version metadata. |
docs/_dev/update_sp.py |
Updates the synchronization script. |
docs/_dev/pa11y.json |
Adds accessibility-test configuration. |
docs/_dev/get_vale_conf.py |
Updates Vale configuration paths. |
docs/_dev/.pymarkdown.json |
Adds Markdown lint configuration. |
docs/_dev/.pre-commit-config.yaml |
Adds documentation hooks. |
common.mk |
Adds shared formatting, linting, and documentation tooling. |
.prettierignore |
Updates ignored documentation paths. |
.pre-commit-config.yaml |
Renames the Ruff hook and adds shfmt. |
.github/zizmor.yaml |
Configures workflow security settings. |
.github/workflows/tics.yaml |
Updates TICS workflow configuration. |
.github/workflows/release-publish.yaml |
Refreshes release publishing; the tag-protection URL needs repository scoping (moderate, 2 votes). |
.github/workflows/policy.yaml |
Updates policy and security-scan configuration. |
.github/workflows/copilot-setup-steps.yaml |
Adds Copilot environment setup. |
.github/workflows/check-renovate.yaml |
Refreshes Renovate validation tooling. |
.github/actionlint.yaml |
Updates runner configuration. |
.editorconfig |
Adds TOML formatting settings. |
Review effort: Lite
bepri
approved these changes
Oct 19, 2026
jahn-junior
approved these changes
Oct 19, 2026
jahn-junior
left a comment
Contributor
There was a problem hiding this comment.
Verified the docs build locally, and everything LGTM. A few notes, but nothing that warrants another review from me.
I'll create a private RTD project for Debcraft this week.
Merge `starbase/main` into this branch and sync Starbase-managed updates. Rebuilt from the current heads of `origin/main` and `starbase/main` (per the refresh procedure) after the preparation PRs landed, superseding the earlier merge PR. Overview of Starbase changes pulled in: - Docs tooling: Sphinx Stack 2.0 overhaul (docs/.sphinx -> docs/_dev, new docs/Makefile and requirements.txt, _templates, rediraffe redirects, sphinx-llm/llms.txt support, osv-scanner config) - Workflows: updated check-renovate, policy, tics (project set to debcraft), release-publish, new copilot-setup-steps and zizmor configs, actionlint config, setup-uv v10, refreshed GitHub Actions pins - Tooling: tombi and shfmt wired into common.mk/pre-commit, ruff hook renamed to ruff-check, ruff select gains TC001-3, per-file-ignores gains PLR0917, mypy/pyright dropped upstream - Docs scaffold: new quadrant index pages with meta descriptions, how-to-guides renamed to how-to, docs/redirects.txt mechanism - Templates: AGENTS.app.md/AGENTS.lib.md scaffold and .editorconfig TOML baseline Conflict resolution applied: - Took starbase/main for starbase-owned files: common.mk, check-renovate/policy/release-publish/tics workflows, .pre-commit-config.yaml, .editorconfig, docs/Makefile, docs/requirements.txt, docs/_dev/*, docs/_templates/*, actionlint/zizmor/osv-scanner configs - .pre-commit-config.yaml: took starbase's ruff-check hook id and shfmt hook, but kept the child's newer ruff-pre-commit pin (v0.17.1 over starbase's v0.17.0) to avoid a hook downgrade - tics.yaml: set with.project to debcraft (the template's commented-out placeholder is filled in per the ownership rule) - Kept child-repo versions of qa.yaml, CONTRIBUTING.md, AGENTS.md (the derived repository-specific agents file already on main), uv.lock (regenerated after the pyproject changes) and of .github/README.md and tests/unit/starbase/ (kept deleted; the starbase scaffold test is not needed in child repositories) - Kept the AGENTS.app.md/AGENTS.lib.md templates deleted (application repository) and kept AGENTS.md authoritative - pyproject.toml: kept the child [project] block, dependency-groups (including the dev-stonking/dev-tenacious groups), [tool.uv] extras and ruff src/target-version; took starbase's docs-sphinx-stack group verbatim (renamed from docs-starter-pack) and ruff select/per-file-ignores; kept the child's N818 ruff ignore and the raised oauthlib/urllib3 constraint floors - Makefile: kept PROJECT, the active distro-codename group block, the libgit2-dev APT package and the schema target; took starbase's format/lint structure; set DOCS_VENVDIR=../.venv-docs so docs install into a separate venv outside docs/ (Sphinx must not read the venv as source files) - docs/conf.py: starbase scaffold with child values (project, author, ogp_*, html_context URLs, GPL-3.0 license name, llms_txt_description derived from the docs/index.rst opening sentence); copyright start year 2023 (first commit) - Docs pages: kept child pages with Debcraft substitutions; applied the how-to-guides to how-to rename with the matching docs/redirects.txt entry; added the README opening sentence to docs/index.rst as the intro for the meta description and llms_txt_description; scoped vale ignores for the Starbase mentions in docs/README.md (proper noun, not added to the custom wordlist) - .prettierignore: kept child entries, updated the .sphinx to _dev path - docs/.custom_wordlist.txt: did NOT add "Starbase" (forbidden); otherwise unchanged - Removed html_css_files/html_js_files references to the deleted cookie-banner.css and bundle.js (took starbase's commented blocks) Placeholder grep dispositions (legitimate Starbase/Starcraft mentions kept): - release-publish.yaml and common.mk header: Starbase ownership/attribution comments - AGENTS.md and docs/explanation/documentation.rst: Starcraft style guide links - docs/README.md: migration guide legitimately references the starbase repo - docs/conf.py: starbase TODO scaffolding comment for the version block Review feedback applied (squashed into this merge commit): - docs/conf.py: dropped the leftover scaffold comments from the license block and from the sitemap exclusion - docs/redirects.txt: dropped the how-to-guides redirect, since Debcraft has no public documentation yet - docs/index.rst and docs/conf.py: the empty tutorial, how-to, reference and release-notes landing pages are excluded from the build instead of being published as empty sections; the landing page table entries that referenced them were dropped with them, since excluding the pages removes their labels
LoweRAM
force-pushed
the
work/update-starbase-2026-10-16
branch
from
October 19, 2026 23:59
0d87d99 to
4c84149
Compare
mr-cal
approved these changes
Oct 20, 2026
Comment on lines
+42
to
45
| # NOTE: This PyPI publishing job is often unnecessary for most applications | ||
| # that use starbase. Please ensure this job is excluded from merges/PRs | ||
| # originating from starbase unless explicitly required for a specific app. | ||
| pypi: |
Contributor
There was a problem hiding this comment.
I know this job was already here, but we should remove it in a separate PR.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

🤖 [BEEP BOOP, A BOT WROTE THIS PR - Mistral Large 4, opencode]
Merges
starbase/main(3c895c5) intomainand syncs Starbase-managed updates. Rebuilt from the current heads oforigin/mainandstarbase/mainper the refresh procedure, superseding the earlier merge PR (#203, now closed) after all preparation PRs landed.Starbase changes pulled in
docs/.sphinx->docs/_dev, newdocs/Makefileandrequirements.txt,_templates, rediraffe redirects, sphinx-llm/llms.txt support, osv-scanner config)how-to-guidesrenamed tohow-to,docs/redirects.txtmechanismConflict resolution
starbase/mainfor starbase-owned files (common.mk, check-renovate/policy/release-publish/tics workflows, .pre-commit-config.yaml, .editorconfig, docs/Makefile, docs/requirements.txt, docs/_dev/, docs/_templates/, actionlint/zizmor/osv-scanner configs); tics.yaml additionally setswith.project: debcraft.pre-commit-config.yaml: starbase's ruff-check hook id and shfmt hook, but kept the child's newer ruff-pre-commit pin (v0.17.1 over starbase's v0.17.0) to avoid a hook downgradeqa.yaml,CONTRIBUTING.md,AGENTS.mdanduv.lock(regenerated after the pyproject changes); kept.github/README.mdandtests/unit/starbase/deleted (starbase scaffold test not needed in child repositories); kept the AGENTS templates deletedpyproject.toml: kept the child[project], dependency-groups (including dev-stonking/dev-tenacious),[tool.uv]extras and ruff src/target-version; took starbase'sdocs-sphinx-stackgroup verbatim (renamed fromdocs-starter-pack) and ruff select/per-file-ignores; kept the child's N818 ignore and the raised oauthlib/urllib3 constraint floorsMakefile: kept PROJECT, the active distro-codename group block, libgit2-dev APT package and schema target; took starbase's format/lint structure; setDOCS_VENVDIR=../.venv-docsso docs install into a separate venv outsidedocs/(Sphinx must not read the venv)docs/conf.py: starbase scaffold with child values (project, author, ogp_*, html_context URLs, GPL-3.0 license, llms_txt_description derived from the docs/index.rst opening sentence); copyright start year 2023how-to-guides->how-torename with the matchingdocs/redirects.txtentry; scoped vale ignores for the Starbase mentions in docs/README.md (proper noun, not added to the custom wordlist)docs/.custom_wordlist.txt: did NOT add "Starbase" (forbidden); otherwise unchangedPreparation PRs (all merged before this PR was opened)
Validation
make format: all formatters passmake lint: ruff, ty, codespell, prettier, shfmt, shellcheck, tombi, sphinx-lint, spelling, woke, linkcheck, twine, uv-lockfile, actionlint all passmake docs: build succeeded; redirect confirmed(good) how-to-guides/index.html --> how-tomake test-fast: 245 passed, 1 skipped