Skip to content

chore(merge): update starbase (2026-10-19) - #213

Merged
lengau merged 76 commits into
canonical:mainfrom
LoweRAM:work/update-starbase-2026-10-16
Oct 20, 2026
Merged

lengau merged 76 commits into
canonical:mainfrom
LoweRAM:work/update-starbase-2026-10-16

Conversation

@LoweRAM

@LoweRAM LoweRAM commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

🤖 [BEEP BOOP, A BOT WROTE THIS PR - Mistral Large 4, opencode]

Merges starbase/main (3c895c5) into main and syncs Starbase-managed updates. Rebuilt from the current heads of origin/main and starbase/main per the refresh procedure, superseding the earlier merge PR (#203, now closed) after all preparation PRs landed.

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

  • 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); tics.yaml additionally sets with.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 downgrade
  • Kept child versions of qa.yaml, CONTRIBUTING.md, AGENTS.md and uv.lock (regenerated after the pyproject changes); kept .github/README.md and tests/unit/starbase/ deleted (starbase scaffold test not needed in child repositories); kept the AGENTS templates deleted
  • pyproject.toml: kept the child [project], dependency-groups (including dev-stonking/dev-tenacious), [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 ignore and the raised oauthlib/urllib3 constraint floors
  • Makefile: kept PROJECT, the active distro-codename group block, libgit2-dev APT package and 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)
  • 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 2023
  • Docs pages kept with Debcraft substitutions; how-to-guides -> how-to rename with the matching docs/redirects.txt entry; 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 unchanged

Preparation PRs (all merged before this PR was opened)

Validation

  • make format: all formatters pass
  • make lint: ruff, ty, codespell, prettier, shfmt, shellcheck, tombi, sphinx-lint, spelling, woke, linkcheck, twine, uv-lockfile, actionlint all pass
  • make docs: build succeeded; redirect confirmed (good) how-to-guides/index.html --> how-to
  • make test-fast: 245 passed, 1 skipped

mr-cal and others added 30 commits April 23, 2026 12:27
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.
Comment thread docs/release-notes/index.rst
Comment thread docs/tutorials/index.rst
Comment thread .github/workflows/check-renovate.yaml
Comment thread .github/workflows/policy.yaml
Comment thread .github/workflows/release-publish.yaml
Comment thread .github/workflows/tics.yaml
Comment thread Makefile
Comment thread .pre-commit-config.yaml
Comment thread .prettierignore
Comment thread pyproject.toml
Comment thread .github/workflows/tics.yaml
Comment thread .pre-commit-config.yaml
Comment thread Makefile
Comment thread docs/redirects.txt Outdated
Comment thread docs/index.rst
Comment thread docs/README.md
Comment thread docs/README.md
@lengau
lengau marked this pull request as ready for review October 19, 2026 19:35
@lengau
lengau requested review from a team and bepri as code owners October 19, 2026 19:35
Copilot AI lite review requested due to automatic review settings October 19, 2026 19:35

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.

🟡 Changes recommended

Unresolved moderate documentation, consent, accessibility, and workflow-link issues remain.

10 open issues
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

Comment thread .github/workflows/release-publish.yaml
Comment thread docs/_templates/footer.html
Comment thread docs/_templates/header.html
Comment thread docs/_templates/header.html
Comment thread docs/explanation/index.rst
Comment thread docs/how-to/index.rst
Comment thread docs/reference/index.rst
Comment thread docs/release-notes/index.rst
Comment thread docs/release-notes/index.rst
Comment thread docs/tutorials/index.rst
Comment thread Makefile
@bepri
bepri requested a review from a team October 19, 2026 19:44

@jahn-junior jahn-junior 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.

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.

Comment thread docs/conf.py
Comment thread docs/conf.py Outdated
Comment thread docs/index.rst Outdated
Comment thread docs/redirects.txt Outdated
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
LoweRAM force-pushed the work/update-starbase-2026-10-16 branch from 0d87d99 to 4c84149 Compare October 19, 2026 23:59
@lengau
lengau merged commit c5bf3ca into canonical:main Oct 20, 2026
22 checks passed
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:

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.

I know this job was already here, but we should remove it in a separate PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: Merge This PR should be a merge commit.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants