Skip to content

ci: verify codex-rs Cargo manifests inherit workspace settings#16353

Merged
bolinfest merged 1 commit intomainfrom
pr16353
Mar 31, 2026
Merged

ci: verify codex-rs Cargo manifests inherit workspace settings#16353
bolinfest merged 1 commit intomainfrom
pr16353

Conversation

@bolinfest
Copy link
Copy Markdown
Collaborator

@bolinfest bolinfest commented Mar 31, 2026

Why

Bazel clippy now catches lints that cargo clippy can still miss when a crate under codex-rs forgets to opt into workspace lints. The concrete example here was codex-rs/app-server/tests/common/Cargo.toml: Bazel flagged a clippy violation in models_cache.rs, but Cargo did not because that crate inherited workspace package metadata without declaring [lints] workspace = true.

We already mirror the workspace clippy deny list into Bazel after #15955, so we also need a repo-side check that keeps every codex-rs manifest opted into the same workspace settings.

What changed

  • add .github/scripts/verify_cargo_workspace_manifests.py, which parses every codex-rs/**/Cargo.toml with tomllib and verifies:
    • version.workspace = true
    • edition.workspace = true
    • license.workspace = true
    • [lints] workspace = true
    • top-level crate names follow the codex-* / codex-utils-* conventions, with explicit exceptions for windows-sandbox-rs and utils/path-utils
  • run that script in .github/workflows/ci.yml
  • update the current outlier manifests so the check is enforceable immediately
  • fix the newly exposed clippy violations in the affected crates (app-server/tests/common, file-search, feedback, shell-escalation, and debug-client)

Stack created with Sapling. Best reviewed with ReviewStack.

@bolinfest bolinfest enabled auto-merge (squash) March 31, 2026 21:46
@bolinfest bolinfest merged commit 9a8730f into main Mar 31, 2026
36 checks passed
@bolinfest bolinfest deleted the pr16353 branch March 31, 2026 21:59
@github-actions github-actions bot locked and limited conversation to collaborators Mar 31, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants