Repository navigation
fix: clear lint debt, pin ruff, fix test-only breakage from deno_core bump - #14
Merged
Merged
Conversation
…eno_core bump - Pin ruff to 0.16.10 in the Makefile (uv tool run ruff@...) so lint results stop drifting as new ruff releases add rules; bump the pin deliberately. Unpinned 'latest ruff' is what broke CI on main. - Apply autofixes for 182 violations (dominated by stub files: redundant '...' after docstrings in _jsrun.pyi). - Manual fixes: rename stub TypeVar F -> _F (PYI001), assert the specific RuntimeError for bad-module eval (B017), combine nested with statements (SIM117), annotate the two deliberate catch-alls with noqa BLE001 (CLI last-resort handler; thread-error collection in concurrency test). - Fix test-only Rust compile breakage from the deno_core 0.412 bump (JsStackFrame.is_wasm, JsError.stack_is_custom - only built under clippy --tests), and allow clippy::result_large_err on the function-local SyncCallError result (cold path; boxing not worth it). make all (format, build, lint, test) now passes end to end: 291 tests.
imfing
added a commit
that referenced
this pull request
Oct 3, 2026
…ath (#15) CI's dtolnay/rust-toolchain@stable floats to the newest stable, so its clippy -D warnings gate drifts ahead of local toolchains - rustc 1.99 newly deprecates the std::f64 module constants, failing lint-rust on a 'use std::f64' in config.rs tests (local 1.97 was silent). Remove the import so f64::INFINITY resolves to the associated constant. Pin 1.99.0 in rust-toolchain.toml: rustup applies it automatically to local builds, CI, and the V8 archive builder containers, making lint results reproducible everywhere. Bump deliberately; same policy as the ruff pin (#14).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The macOS CI job on main fails at
make lint-python: the Makefile runs unpinneduv tool run ruff, so every new ruff release silently raises the bar — 187 violations accumulated since CI last passed. Same disease as the mutable Docker tag that broke the V8 builds: unpinned toolchains make CI rot.Mechanism
Then clear the debt so the pinned (current, strictest-yet) version passes.
Blast radius
Makefile_jsrun.pyi...after docstrings removed,F→_FTypeVar; docstrings untouched (mkdocstrings unaffected)pytest.raises(Exception)→RuntimeError(B017); nestedwithcombined; one annotatednoqa: BLE001(thread-error collection is intentionally broad)__main__.pynoqa: BLE001— CLI last-resort handler stays broad by designsrc/runtime/error.rsJsStackFrame.is_wasm/JsError.stack_is_customfields added by deno_core 0.412 — only compiled underclippy --tests, so #10 couldn't see itsrc/runtime/runner.rs#[allow(clippy::result_large_err)]on a function-local cold-path Result (boxing not worth the indirection); needed becauselint-rustuses-D warningsValidation
make all(format, build, lint, test) passes end-to-end locally for the first time in a while: ruff clean,cargo fmt/clippy --tests -D warningsclean, 291 tests pass. This unblocks the macOS job — the rest of CI run 37118732820 was already green (Linux wheels in ~2.5 min on free runners, all 10 wheel-test matrix jobs passing).