Skip to content

chore: add Makefile-driven dev toolchain - #74

Merged
wkentaro merged 3 commits into
mainfrom
chore/dev-toolchain
Jun 20, 2026
Merged

chore: add Makefile-driven dev toolchain#74
wkentaro merged 3 commits into
mainfrom
chore/dev-toolchain

Conversation

@wkentaro

Copy link
Copy Markdown
Owner

Summary

  • Add a Makefile with help/setup/format/lint/test/coverage targets, matching the convention used across the sibling repos so CI and local development share one source of truth.
  • lint/format now cover ruff and ty plus taplo (toml), mdformat+mdformat-gfm (md), yamlfix (yaml), and typos; test runs under pytest-xdist.
  • .mdformat.toml keeps consecutive ordered-list numbering (number = true); _typos.toml allowlists the OctoMap domain terms leafs (upstream C++ API spelling) and ot (the .ot full-map file extension).
  • ci.yml now delegates to make lint (run once) and make test (kept on the 3.10/3.14 matrix).

A few mechanical churn notes for the reviewer:

  • taplo reformats pyproject.toml (2-space indent, sorted keys/arrays). Large visual diff but idempotent; comments stay attached.
  • mdformat adds blank-after-heading lines in CHANGELOG.md; docs/agents/triage-labels.md's hand-aligned table is compacted by mdformat-gfm.
  • yamlfix rewrites the workflow YAML to its canonical style. No behavior change.

Test plan

  • make lint (ruff, ty, taplo, mdformat, yamlfix, typos all green)
  • make test (40 passed)

wkentaro added 3 commits June 20, 2026 23:43
Add a Makefile mirroring the format/lint/test targets used across the
sibling repos, wiring up taplo (toml), mdformat+gfm (md), yamlfix (yaml),
and typos alongside the existing ruff and ty. .mdformat.toml keeps
consecutive ordered-list numbering; _typos.toml allowlists the OctoMap
domain terms 'leafs' (upstream API spelling) and 'ot' (full-map file
extension).
mdformat adds blank lines after headings in CHANGELOG; yamlfix rewrites
the workflow YAML to its canonical style. No behavior change.
Replace the inline ruff/ty/pytest steps with 'make lint' and 'make test'
so CI and local development share one source of truth. lint runs once;
test keeps the Python 3.10/3.14 matrix.
@wkentaro wkentaro self-assigned this Jun 20, 2026
@wkentaro

Copy link
Copy Markdown
Owner Author

This was generated by AI during PR processing.

Verdict: recommend-merge — CI fully green (lint, test 3.10/3.14, sdist x2, wheels on all 4 platforms), merge state CLEAN, branch up to date with main (0 commits behind merge-base). History is a clean 3-commit sequence (toolchain → reformat → CI wiring). Reviewed via /code-review (medium); no correctness defects found.

Two non-blocking observations for your call, neither gating the merge:

  • CI no longer enforces lockfile freshness. The old ci.yml ran uv sync --locked; the new make lint/make test use plain uv run, which auto-syncs but does not error on an out-of-date uv.lock. A future PR that edits pyproject.toml without refreshing uv.lock would pass CI silently. Add --locked/--frozen to the make targets if you want that guard back.
  • ruff.lint.select = ["E", "F", "W"] omits I/UP/ANN and force-single-line from your documented conventions. src is excluded from linting so the blast radius is small; flagging only in case it was unintentional rather than a deliberate minimal set for this PR.

@wkentaro wkentaro added the recommend-merge pr: Agent finalized and endorses it: review and merge label Jun 20, 2026
@wkentaro
wkentaro merged commit 8cf0fc2 into main Jun 20, 2026
9 checks passed
@wkentaro
wkentaro deleted the chore/dev-toolchain branch June 20, 2026 14:59
@wkentaro wkentaro added this to the next milestone Jun 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

recommend-merge pr: Agent finalized and endorses it: review and merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant