ci(workspace): add strict clippy checks to selected handwritten crates#5635
ci(workspace): add strict clippy checks to selected handwritten crates#5635suzmue wants to merge 1 commit intogoogleapis:mainfrom
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces stricter linting for handwritten crates by adding checks for missing documentation and non-exhaustive enums in the CI scripts. To accommodate these changes, documentation was added to the auth build script, and several enums across the workspace were annotated with #[allow(clippy::exhaustive_enums)]. The reviewer recommends adding the --all-features flag to the new clippy commands in the GCB scripts to ensure that public items and enums located behind feature gates are also validated.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5635 +/- ##
=======================================
Coverage 97.76% 97.76%
=======================================
Files 221 221
Lines 51115 51115
=======================================
+ Hits 49971 49972 +1
+ Misses 1144 1143 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Add a strict clippy check to the GCB `lint.sh` and `lint-unstable.sh` scripts that runs with `--no-deps` on a targeted set of handwritten client libraries in non-test mode. The strict clippy run checks for `missing_docs` and `clippy::exhaustive_enums` on: `auth`, `bigquery`, `bigtable`, `datastore`, `firestore`, `gax`, `lro`, `pubsub`, `storage`, and `wkt`. To prepare the target crates for these checks, this commit: - Documents the `src/auth/build.rs` build script to resolve `missing_docs`. - Adds `#[allow(clippy::exhaustive_enums)]` to stable public and internal enums across the target crates to avoid public API breaking changes.
Add a strict clippy check to the GCB
lint.shandlint-unstable.shscripts that runs with--no-depson a targeted set of handwritten client libraries in non-test mode.The strict clippy run checks for
missing_docsandclippy::exhaustive_enumson:auth,bigquery,bigtable,datastore,firestore,gax,lro,pubsub,storage, andwkt.To prepare the target crates for these checks, this commit:
src/auth/build.rsbuild script to resolvemissing_docs.#[allow(clippy::exhaustive_enums)]to stable public and internal enums across the target crates to avoid public API breaking changes.