Skip to content

Pin CI to meta-ci-action v2 and move npdlint scope to pyproject - #233

Merged
lispandfound merged 1 commit into
masterfrom
ai/ci
Sep 27, 2026
Merged

lispandfound merged 1 commit into
masterfrom
ai/ci

Conversation

@lispandfound

Copy link
Copy Markdown
Contributor

What changed

  • .github/workflows/ci.yml: pin the shared CI call to meta-ci-action@v2
    instead of @main, and add a push trigger on master alongside
    pull_request, so the default branch itself gets checked, not just PRs.
  • .github/workflows/claude-review.yml: pin the claude-review.yml call to
    @v2 as well, for the same reason.
  • pyproject.toml: added [tool.npdlint] with include = ["IM"], and
    dropped the now-redundant package-dir: IM input from ci.yml. npdlint
    reads its scope from [tool.npdlint] directly, so this keeps the
    docstring-lint job scoped to the IM package as before, but makes the
    local lefthook pre-push hook (which has no package-dir to pass) scope
    itself the same way. Previously the local hook had no config to read and
    fell back to linting the whole tree, including tests/ and examples/,
    which is why .ai/ci-checks failed on ~70 docstring issues there even
    though the actual GitHub numpydoc-lint job (which does get package-dir)
    was passing on IM alone.

No workflow files needed deleting: this repo had already consolidated ruff,
deptry, numpydoc and type-check into the single ci.yml caller, so there
were no per-tool duplicate workflows left to replace. lefthook.yml was
already switched to the shared v2 hooks in an earlier commit on this
branch.

publish-PyPI.yml and wiki.yml are repo-specific (PyPI release builds and
wiki deployment) with no meta-ci-action equivalent, so they're untouched.

Checks fixed

  • npdlint (the only local check failing before this change) now passes:
    scoping it to IM via [tool.npdlint] include removes the spurious
    tests//examples/ docstring findings, matching what the real CI job
    already enforced.

.ai/ci-checks is fully green: ruff, ruff-format, rustfmt, clippy, deptry,
npdlint, ty, cargo-test, pytest all pass.

What might still go red

  • The GitHub-reported failures on Dependabot Updates, Publish to PyPI,
    and Type Check (the old workflow name) are unrelated to the
    meta-ci-action baseline and weren't touched — Type Check in particular
    looks like it was already fixed by the earlier ty/lefthook work on this
    branch, since ty passes locally now, but the badge may still show the
    older failing run until the new ci.yml runs on master.
  • @v2 is used for both meta-ci-action calls as instructed; this assumes a
    v2 tag exists in ucgmsim/meta-ci-action at merge time.

Applied by the script

  • Switch lefthook.yml to meta-ci-action's shared hooks at v2 Dropped local copies of shared commands: pre-commit/ruff, pre-commit/ruff-format, pre-commit/rustfmt, pre-push/ruff, pre-push/ruff-format, pre-push/ty, pre-push/numpydoc, pre-push/clippy, pre-push/rustfmt.

Cost $0.59, 30 turns.

🤖 Generated with Claude Code

## What changed

- `.github/workflows/ci.yml`: pin the shared CI call to `meta-ci-action@v2`
  instead of `@main`, and add a `push` trigger on `master` alongside
  `pull_request`, so the default branch itself gets checked, not just PRs.
- `.github/workflows/claude-review.yml`: pin the `claude-review.yml` call to
  `@v2` as well, for the same reason.
- `pyproject.toml`: added `[tool.npdlint]` with `include = ["IM"]`, and
  dropped the now-redundant `package-dir: IM` input from `ci.yml`. npdlint
  reads its scope from `[tool.npdlint]` directly, so this keeps the
  docstring-lint job scoped to the `IM` package as before, but makes the
  local `lefthook` pre-push hook (which has no `package-dir` to pass) scope
  itself the same way. Previously the local hook had no config to read and
  fell back to linting the whole tree, including `tests/` and `examples/`,
  which is why `.ai/ci-checks` failed on ~70 docstring issues there even
  though the actual GitHub `numpydoc-lint` job (which does get `package-dir`)
  was passing on `IM` alone.

No workflow files needed deleting: this repo had already consolidated ruff,
deptry, numpydoc and type-check into the single `ci.yml` caller, so there
were no per-tool duplicate workflows left to replace. `lefthook.yml` was
already switched to the shared `v2` hooks in an earlier commit on this
branch.

`publish-PyPI.yml` and `wiki.yml` are repo-specific (PyPI release builds and
wiki deployment) with no meta-ci-action equivalent, so they're untouched.

## Checks fixed

- `npdlint` (the only local check failing before this change) now passes:
  scoping it to `IM` via `[tool.npdlint] include` removes the spurious
  `tests/`/`examples/` docstring findings, matching what the real CI job
  already enforced.

`.ai/ci-checks` is fully green: ruff, ruff-format, rustfmt, clippy, deptry,
npdlint, ty, cargo-test, pytest all pass.

## What might still go red

- The GitHub-reported failures on `Dependabot Updates`, `Publish to PyPI`,
  and `Type Check` (the old workflow name) are unrelated to the
  meta-ci-action baseline and weren't touched — `Type Check` in particular
  looks like it was already fixed by the earlier `ty`/lefthook work on this
  branch, since `ty` passes locally now, but the badge may still show the
  older failing run until the new `ci.yml` runs on `master`.
- `@v2` is used for both meta-ci-action calls as instructed; this assumes a
  `v2` tag exists in `ucgmsim/meta-ci-action` at merge time.

## Applied by the script

- Switch lefthook.yml to meta-ci-action's shared hooks at v2 Dropped local copies of shared commands: pre-commit/ruff, pre-commit/ruff-format, pre-commit/rustfmt, pre-push/ruff, pre-push/ruff-format, pre-push/ty, pre-push/numpydoc, pre-push/clippy, pre-push/rustfmt.

_Cost $0.59, 30 turns._

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@lispandfound lispandfound added ai-generated Opened by the scheduled Claude jobs ai-ci Bot-written CI change that needs review labels Sep 26, 2026
@lispandfound
lispandfound merged commit 6ad6206 into master Sep 27, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-ci Bot-written CI change that needs review ai-generated Opened by the scheduled Claude jobs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant