Skip to content

chore(merge): update starbase (2026-10-20) - #507

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

lengau merged 198 commits into
canonical:mainfrom
dangertoaster:work/update-starbase-2026-10-16

Conversation

@dangertoaster

Copy link
Copy Markdown
Contributor

🤖 This message was generated by kimi-k3.

Summary

Merges starbase/main (bdab610) into craft-cli, syncing Starbase-managed build tooling, CI workflows, and docs scaffolding.

Starbase changes pulled in

  • CI workflows: new actionlint, zizmor, and copilot-setup-steps configs; updated check-renovate, policy, release-publish, and TICS workflows
  • Build tooling: common.mk updates (new lint-code, lint-uv-lockfile, lint-actions, format-shfmt/lint-shfmt, format-tombi/lint-tombi targets); ruff-pre-commit bumped to v0.17.0
  • Docs tooling: Sphinx Stack updates (sitemap, llms.txt, sphinx-rerediraffe 0.3.0, meta descriptions on Diátaxis landing pages)
  • osv-scanner configuration

Conflict resolution

Per the file-ownership map (27 conflicts resolved): child-owned files kept (CODEOWNERS, qa.yaml, uv.lock, README.md, CONTRIBUTING.md, tests/, docs pages with Starcraft→Craft CLI substitutions); starbase-owned files taken verbatim (common.mk, workflow files, .pre-commit-config.yaml with the newer ruff pin, docs-sphinx-stack group); mixed-ownership files merged per section (pyproject.toml, Makefile, docs/conf.py, wordlist). Deleted per library-repo rules: docs/release-notes/, .github/README.md, tests/unit/starbase/, AGENTS templates, and the stale docs/.sphinx/ leftover.

Preparation PRs (must merge before this comes out of draft)

Once both merge, this branch will be rebased onto main so those changes drop out of this diff.

Validation

Follow-up commits

  • fix: remove stale noqa directives and ignore docs/.venv — RUF100 cleanups required by the merge's ruff rule additions, plus docs/.venv gitignore entry

medubelko and others added 30 commits May 8, 2025 12:37
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…1.11 (canonical#390)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This came from this discussion: https://github.com/canonical/snapcraft/pull/5529/files#r2121219994

Adds a `lint-uv-lockfile` make target that checks whether uv.lock is
valid with the current pyproject.toml. It does not check whether the
packages in that file are up to date.

Signed-off-by: Alex Lowe <alex.lowe@canonical.com>
…1.12 (canonical#394)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…2.0 (canonical#407)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Alex Lowe <alex.lowe@canonical.com>
Co-authored-by: Imani Pelton <imani.pelton@canonical.com>
Using `--all-files` for pre-commit format affects more files than `make format` would otherwise do.

Signed-off-by: Alex Lowe <alex.lowe@canonical.com>
Signed-off-by: Paul Mars <paul.mars@canonical.com>
Signed-off-by: Callahan Kovacs <callahan.kovacs@canonical.com>
If python3-venv isn't installed, setuptools will fail.
* fix: install system packages during setup
…2.4 (canonical#412)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…#420)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…2.8 (canonical#422)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Comment thread common.mk
Comment thread Makefile
Comment thread CONTRIBUTING.md
Comment thread docs/.custom_wordlist.txt
Comment thread docs/.gitignore
Comment thread docs/conf.py
Comment thread docs/explanation/index.rst
Comment thread docs/how-to/index.rst
Comment thread docs/reference/index.rst
Comment thread docs/tutorials/index.rst
Comment thread pyproject.toml
Comment thread tests/unit/test_messages_emitter.py
Comment thread uv.lock
@dangertoaster

Copy link
Copy Markdown
Contributor Author

🤖 [BEEP BOOP, A BOT WROTE THIS COMMENT - kimi-k3, opencode]

Provenance for files kept verbatim from this repository (no diff in this PR)

The following files were involved in merge conflicts during the Starbase sync but resolved entirely in favor of the existing craft-cli content, so they do not appear in this PR's file list:

  • .github/workflows/qa.yaml, .github/CODEOWNERS, uv.lock, tests/conftest.py — child-owned per the Starbase file-ownership map; kept this repository's version (--ours). uv.lock was additionally regenerated with uv lock after the pyproject.toml docs-group merge to satisfy the new lint-uv-lockfile check.
  • README.md — kept the craft-cli README; the Starbase README is a scaffold for new projects.
  • CONTRIBUTING.md — kept the craft-cli contribution guide (library repositories keep their repository-specific guide).
  • AGENTS.md — kept this repository's file authoritative per the AGENTS template rule, using AGENTS.lib.md as reference only; both template files (AGENTS.app.md, AGENTS.lib.md) are deleted for this library repository.
  • docs/index.rst, docs/explanation/documentation.rst, docs/README.md — kept the craft-cli documentation pages.
  • docs/.sphinx/spellingcheck.yaml (deleted) — leftover from the already-completed .sphinx → _dev migration; removed per the deletion checklist. Also deleted without diff: docs/release-notes/, .github/README.md, and tests/unit/starbase/test_init.py (library-repository rule 1b).
  • .readthedocs.yaml — merged cleanly; the only difference from starbase is the pre-existing, documented fail_on_warning exemption (Fix all warnings in RTD builds #342).

renovate Bot and others added 2 commits October 19, 2026 06:47
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Imani Pelton <imani.pelton@canonical.com>
…on (#638)

The scaffold comment invited child repos to write a fresh blurb for
llms_txt_description, which drifts from the home page over time. Point
authors at reusing the first sentence of docs/index.rst instead, matching
the preference from the craft-parts review.

Closes #603

Signed-off-by: Shahzeb Ali <126076773+Shahzeb-DataEngineer@users.noreply.github.com>
Merge `starbase/main` into this branch and sync Starbase-managed updates.

Overview of Starbase changes pulled in:
- CI workflows: new actionlint, zizmor, and copilot-setup-steps configs;
  updated check-renovate, policy, release-publish, and TICS workflows
- Build tooling: common.mk updates, new lint-code/lint-uv-lockfile/lint-actions
  targets, and the shared ruff-pre-commit hook configuration
- Docs tooling: Sphinx Stack updates (sitemap, llms.txt, sphinx-rerediraffe
  0.3.0, meta descriptions on Diátaxis landing pages)
- Agent guidance: never invoke the docs Makefile directly (`make -C docs`),
  use repository-root `make docs-<target>` instead (starbase #636)
- osv-scanner configuration

Conflict resolution applied:
- Kept child-repo version of `.github/CODEOWNERS` (`--ours`).
- Kept child-repo version of `.github/workflows/qa.yaml` (`--ours`).
- Kept child-repo version of `uv.lock` (`--ours`), then regenerated with
  `uv lock` for the merged docs dependency group.
- Kept child-repo version of `README.md` (Starbase-owned scaffold README is
  for new projects; this repo's README is already established).
- Kept child-repo version of `CONTRIBUTING.md` (library repos keep their
  repository-specific contribution guide); removed a leftover `|||||||`
  base marker line from the conflict resolution.
- Kept child-repo version of `tests/conftest.py` (`--ours`).
- Took full `common.mk` from `starbase/main` (source-of-truth file).
- Took full `.github/workflows/check-renovate.yaml`,
  `.github/workflows/policy.yaml`, and
  `.github/workflows/release-publish.yaml` from `starbase/main`
  (source-of-truth files).
- `.github/workflows/tics.yaml`: took Starbase structure with the reusable
  workflow call, keeping `with.project` set to `craft-cli`.
- `.pre-commit-config.yaml`: took Starbase hook set, but kept the newer
  ruff-pre-commit pin from origin/main (v0.17.1 with the renamed `ruff`
  hook id) per the never-downgrade rule — Starbase is at v0.17.0.
- `Makefile`: took Starbase lint/lint-code targets; kept child-owned
  `PROJECT=craft_cli`; dropped the local `lint-ty`/`install-ty` duplicates
  now provided by common.mk.
- `docs/conf.py`: kept Starbase docs scaffold structure with child-owned
  values (project, author, copyright start year 2021, ogp_* and html_context
  URLs, llms_txt_description, LGPL-3.0 license, autodoc/apidoc setup).
- `docs/.custom_wordlist.txt`: merged child entries with new shared tooling
  terms; excluded `Starbase`/`Starcraft` per policy.
- `docs/.gitignore`: took Starbase version, appended child repo-specific
  generated Sphinx file entries.
- `docs/**/*.rst`: kept child documentation pages, adopting new meta
  descriptions and prose from Starbase with `Starcraft` substituted by
  `Craft CLI`.
- `pyproject.toml`: kept child-owned `[project]`, `[dependency-groups]`,
  `[build-system]`, and ruff src/extend-exclude/lint deltas; took
  `starbase/main` for `docs-sphinx-stack`, `[tool.setuptools_scm]` structure,
  and merged `tool.uv.constraint-dependencies` keeping the higher version
  from each side. Formatted with tombi per the new format-tombi target.
- Deleted `docs/release-notes/`, `.github/README.md`,
  `tests/unit/starbase/test_init.py`, and the leftover
  `docs/.sphinx/spellingcheck.yaml` (library repository per file-ownership
  rule 1b; `docs/.sphinx/` superseded by `docs/_dev/`).
- For this library repo: kept `AGENTS.md` authoritative and applied relevant
  updates from `AGENTS.lib.md` (including the new make docs-<target>
  guidance); kept both `AGENTS.app.md` and `AGENTS.lib.md` deleted.
- `tests/unit/test_messages_emitter.py`: removed `# noqa: FBT001`/`FBT002`
  directives made stale by the merge enabling FBT rules for tests in
  tool.ruff.lint.per-file-ignores (ruff RUF100).

Rebuilt on 2026-10-20 onto current origin/main (which includes the shfmt
and tombi preparation PRs canonical#505/canonical#506 and the ruff-pre-commit v0.17.1 bump)
and current starbase/main (through 1b92e7b, including the make -C docs
guidance from #636).
@dangertoaster
dangertoaster force-pushed the work/update-starbase-2026-10-16 branch from 6bf6d29 to 8bf89c5 Compare October 20, 2026 20:04
@dangertoaster dangertoaster changed the title chore(merge): update starbase (2026-10-16) chore(merge): update starbase (2026-10-20) Oct 20, 2026
@dangertoaster

Copy link
Copy Markdown
Contributor Author

🤖 [BEEP BOOP, A BOT WROTE THIS COMMENT - kimi-k3, opencode]

History rewritten and force-pushed

The merge commit was rebuilt from current heads (per the stale-PR refresh procedure — no layered merge commits):

Full validation passes on the rebuilt branch: make format, make lint (including lint-docs), make docs, make test-fast (909 passed, 1 skipped).

@bepri
bepri marked this pull request as ready for review October 20, 2026 20:12
@bepri
bepri requested review from a team and bepri as code owners October 20, 2026 20:12
@lengau
lengau merged commit be026cd into canonical:main Oct 20, 2026
36 checks passed
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.