← Back to issue list

chore(merge): update starbase (2026-09-28)

View original Github issue

Metadata

Project
craft-platforms
Number
#270
Type
pull request
State
closed
Author
lengau
Labels
PR: Merge
Created
Updated
Closed

Current evaluation

Merged into main as commit 4afcee7. First-ever Starbase sync of build/CI/docs conventions (41 files, +2012/-248), rebuilt several times to fold in preparation PRs #271, #272, #275, #276, #277. All CI green, including RTD.

Resolution: closed resolved

Reason: The PR was approved and merged into main as commit 4afcee7 with all CI checks passing. The merge required --allow-unrelated-histories since starbase and craft-platforms share no history, and the branch was force-pushed several times to stay current with both main and starbase/main.

Evaluated by: mr-cal-bot

No scores available.

Issue body

## Summary This is the first-ever sync of [Starbase](https://github.com/canonical/starbase)-managed shared build/CI/docs conventions into `craft-platforms`. Since the two repositories share no common git history, this merge required `--allow-unrelated-histories` (approved by the repo maintainer running this sync). Used as a test for [CRAFT-5264](https://warthogs.atlassian.net/browse/CRAFT-5264) ## What changed - **Build system**: `common.mk` overhaul (new `format`/`lint` target lists: `format-tombi`, `format-shfmt`, `format-pre-commit`, `lint-code`, `lint-uv-lockfile`, `lint-actions`, etc.), shared `.pre-commit-config.yaml` hooks (`prettier`, `shfmt`), shared `.editorconfig`/`.gitignore` baselines. - **CI/workflows**: shared `check-renovate.yaml`, `policy.yaml`, `release-publish.yaml` workflows; updated `tics.yaml` reusable workflow. - **Docs tooling**: new Sphinx Stack docs subproject (`docs/_dev`, `docs/Makefile`, `docs/redirects.txt`, `docs/requirements.txt`, vale/pa11y config), a restructured `docs/conf.py` (sitemap, llms.txt, rerediraffe redirects, related links, terminal roles), and Diátaxis landing-page conventions. - **Dependency management**: new `docs-sphinx-stack` dependency group (fully Starbase-owned, scoped to Python >=3.10 since this project supports Python 3.8+), merged `tool.uv.constraint-dependencies`. - **New scaffolding**: `AGENTS.md` (derived from `AGENTS.lib.md`), `CONTRIBUTING.md`, `.github/actionlint.yaml`, `.github/zizmor.yaml`, `.prettierignore`. ## Conflict resolution highlights See the merge commit message and inline PR review comments for full provenance/rationale on every changed file. Notable decisions: - Kept `README.md` from the child repo rather than reverting to Starbase's `<placeholder>` template, since the child's is a fully written, accurate README. - Fixed a real docs-venv/project-venv path collision (`DOCS_VENVDIR`) in `Makefile` and `.readthedocs.yaml`, per an explicit rule in the skill's file-ownership map. - Added `[tool.uv.dependency-groups]` scoping so the new `docs-sphinx-stack` group (needs Python >=3.10) doesn't break dependency resolution for this Python 3.8+ project; dropped an unused, redundant `sphinxext-rediraffe` entry. - As a library repo: removed Starbase's demo `starcraft/` scaffold package, `docs/release-notes/`, `.github/README.md`, and scaffold-only tests. - Pre-PR validation (`make format`, `make lint`, `make test-fast`) all pass; a follow-up fixup commit added missing docs deps (`sphinx-toolbox`, `sphinx-pydantic`, etc.) to `docs/requirements.txt` and new spellcheck wordlist entries discovered during validation. ## Preparation PRs Per the skill's preparation-PR rule, these were split out of this merge PR because they're either pre-existing/unrelated issues the merge happened to surface, or large/mechanical changes better reviewed in isolation from the rest of the Starbase-sync content. ### Merged Both have merged into `main`, and this branch has been rebuilt on top of them (see PR comments for details): - #272 — fixed reusable-workflow-caller permissions broken by the Starbase-sourced `policy.yaml`/`qa.yaml`/`security-scan.yaml` workflows this merge pulls in. - #271 — removed `sphinx_toolbox` (including `sphinx_toolbox.latex`) entirely, which doesn't declare `parallel_read_safe` and fails RTD's `fail_on_warning` build once there are more than 5 doc sources with parallel reads enabled. This superseded the `SPHINX_OPTS ?= ... -j 1` workaround that had been in this branch, which has been dropped. ### Not yet merged Once these land, this branch will be rebuilt again to drop the corresponding content from its own diff: - #275 — upgrades `docs/conf.py` and the docs dependency stack to Starbase's current "Sphinx Stack 2.0" template (new `docs-sphinx-stack` dependency group, `canonical-sphinx~=0.6`, sitemap/redirects/llms.txt config). (Supersedes #274, which was closed.) - #276 — adds `AGENTS.md` (derived from Starbase's `AGENTS.lib.md` template) on its own, since it's a large net-new template-derived file. - #277 — a purely mechanical `tombi format` reformat of `pyproject.toml`, separated out from the substantive dependency changes in this merge. ## Labels Adding `PR: Merge` per the skill's requirement. 🤖 This merge was performed by GitHub Copilot CLI following the `update-starbase` skill. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> [CRAFT-5264]: https://warthogs.atlassian.net/browse/CRAFT-5264?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged into main as commit 4afcee7. First-ever Starbase sync of build/CI/docs conventions (41 files, +2012/-248), rebuilt several times to fold in preparation PRs #271, #272, #275, #276, #277. All CI green, including RTD.
qwen/qwen3.8-27b — closed resolved Merged into main as commit 4afcee7. First-ever Starbase sync into craft-platforms, overhauling build/CI/docs conventions across 41 files after multiple rebuilds to incorporate preparation PRs #271, #272, #275, #276, #277.
stealth/space-bunny-alpha
Impact: 50
Quick Win: 10
Complexity: 76
Confidence: 91
Actionability: 86
needs review Approved Starbase sync overhauls build tooling, shared CI, and Sphinx documentation across 41 files. All CI checks are green, but three review comments remain unresolved.
qwen/qwen3.6-35b-a3b
Impact: 55
Quick Win: 7
Complexity: 65
Confidence: 75
Actionability: 35
keep open First Starbase sync into craft-platforms: build system, CI, docs tooling overhaul. Has failing sphinx check, marked WIP, awaiting review.

Update history

Date Change
closed
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
created

Related work

  • Likely Fixed By: canonical/craft-platforms#271 (confidence 92%)

    Prep PR merged first; removed sphinx_toolbox.latex, letting this branch drop the SPHINX_OPTS -j 1 workaround.

  • Likely Fixed By: canonical/craft-platforms#272 (confidence 92%)

    Prep PR merged first; fixed reusable-workflow-caller permissions broken by the Starbase-sourced policy/qa/security-scan workflows this merge pulls in.

  • Related To: canonical/craft-platforms#275 (confidence 88%)

    Prep PR for the Sphinx Stack 2.0 docs upgrade; the merge also restored Craft custom extensions (coverage, doctest, sphinx-pydantic) that were dropped in #275.

  • Related To: canonical/craft-platforms#276 (confidence 85%)

    Prep PR adding AGENTS.md (commit 3a60b54) separately, so its diff was removed from this branch.

  • Related To: canonical/craft-platforms#277 (confidence 85%)

    Prep PR for a mechanical tombi format of pyproject.toml, split out from the dependency changes in this merge.

  • Superseded By: canonical/craft-platforms#274 (confidence 70%)

    Superseded by #275 (commit 75dff07) and therefore closed unmerged, removing its content from this branch.

Related issues

Issue Project State Summary Similarity
#449 chore(merge): update starbase (2026-09-28) imagecraft merged Merged in #449 via commit 545f51a, rebuilding the Starbase sync on current main and starbase/main and folding dependency, lint, docs, and CI adjustments into one merge.
92%
#1398 chore(merge): update starbase (2026-10-16) rockcraft merged Merged PR #1398 syncing starbase/main into main, updating build system, workflows, docs tooling, and dependencies, with conflict resolutions and RTD build fixes.
92%
#507 chore(merge): update starbase (2026-10-20) craft-cli merged Merged starbase/main sync updating CI workflows, build tooling, and docs scaffolding. Resolved 27 file conflicts, incorporated prep PRs #505 and #506, and squashed follow-up fixes into a single merge commit.
91%
#493 chore(merge): update starbase (2026-10-08) craft-cli closed Merged routine starbase/main sync updating build system, CI workflows, documentation tooling, and dependencies, with resolved merge conflicts.
90%
#219 chore(merge): update starbase (2026-10-13) craft-grammar closed Merged routine starbase sync updating CI workflows, lint configs, and docs tooling to align with starbase/main.
90%
#387 chore(merge): update starbase (2026-06-18) craft-store merged Merged PR #387 in commit 5c83549, updating Starbase docs/build tooling while preserving craft-store-specific CI and CODEOWNERS files.
90%
#1728 chore(merge): update starbase (2026-10-01) craft-parts merged Merged #1728 into main as d2be519e, syncing starbase/main's build, CI, docs tooling, Ruff 0.16, Sphinx Stack, and AGENTS.md updates.
90%
#1189 chore(merge): update starbase (2026-10-05) craft-application merged Merged automated Starbase sync into main, updating CI workflows, repo configs, and osv-scanner ignores across 13 files.
89%
#225 chore(merge): update starbase (2026-10-16) craft-grammar merged Merged PR #225 syncing starbase/main into craft-grammar, updating CI, linting, and docs tooling, and resolving merge conflicts.
88%
#449 chore(merge): update starbase (2026-10-20) craft-store merged Merged routine Starbase sync updating dependencies, tooling configs, and resolving merge conflicts. All CI checks and validation passed.
88%