Skip to content

native-modules: check every module shares its dependency versions - #4635

Open
jeff-hykin wants to merge 13 commits into
mainfrom
jeff/feat/check_shared_deps
Open

jeff-hykin wants to merge 13 commits into
mainfrom
jeff/feat/check_shared_deps

Conversation

@jeff-hykin

@jeff-hykin jeff-hykin commented Oct 17, 2026 •

Copy link
Copy Markdown
Member

Adds bin/native-modules --check-shared-deps (CI + pre-commit), failing when native modules lock or build a shared flake input, nix package or crate differently; today's mismatches are listed as exceptions for follow-up PRs to remove.

@github-actions github-actions Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

go2 replay realtime (arm64)

Details
Benchmark suite Current: 18c24f7 Previous: 4bee180 Ratio
peak memory 1588.223 MB 1566.871 MB 1.01
peak threads 360 threads 364 threads 0.99
network (transport) 2722.098 MB 2730.605 MB 1.00
disk write 1.469 MB 1.449 MB 1.01
instructions 115.376 G 115.402 G 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Comment thread bin/native-modules Outdated
@codecov

codecov Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

@@            Coverage Diff             @@
##             main    #4635      +/-   ##
==========================================
- Coverage   81.76%   81.73%   -0.04%     
==========================================
  Files        1641     1641              
  Lines      153507   153507              
  Branches    12933    12933              
==========================================
- Hits       125511   125464      -47     
- Misses      24428    24467      +39     
- Partials     3568     3576       +8     
Components Coverage Δ
Tests 96.81% <ø> (-0.01%) ⬇️
Flag Coverage Δ
OS-macos-latest 75.71% <ø> (+<0.01%) ⬆️
OS-ubuntu-24.04-arm 75.47% <ø> (+<0.01%) ⬆️
OS-ubuntu-latest 75.83% <ø> (ø)
Py-3.10 75.83% <ø> (+<0.01%) ⬆️
Py-3.11 75.82% <ø> (+<0.01%) ⬆️
Py-3.12 75.83% <ø> (+<0.01%) ⬆️
SelfHosted-Large 31.96% <ø> (-0.01%) ⬇️
SelfHosted-Linux 40.58% <ø> (+<0.01%) ⬆️
SelfHosted-macOS 40.87% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 4 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@@ -0,0 +1,205 @@
{

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Later PR removes a TON of these exceptions.

  • This PR is merely the checker.
  • Follow-up PR is actually forcing modules to share.

@jeff-hykin
jeff-hykin marked this pull request as ready for review October 18, 2026 02:48
@github-actions github-actions Bot added the ready-to-merge Required CI checks have passed on this PR label Oct 18, 2026
@greptile-apps

greptile-apps Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 4/5

[Medium impact] Adds a dependency-version consistency check to the build pipeline.

The missing regression tests are a non-blocking concern; the executed comparison cases passed, and no merge-blocking failure was established.

Findings

  1. P2 Checker lacks focused tests ▶

Summary

Adds --check-shared-deps to compare native modules’ locked inputs, package versions, and Rust features, and runs it in Linux and macOS native-build jobs. Per-module exceptions are included in the publish-marker hash, so exception edits invalidate the cached marker.

One non-blocking concern remains: the repository has no focused tests for the new comparison rules. The 18 dependency-independent native-module tests passed without calling the checker. Six separate probes covering versions, features, and exceptions passed, demonstrating that these regression tests can run without Nix. No blocking issue was established.

jeff-hykin intentionally made this CI-only in commit 59b803c26; the missing pre-commit hook is not an outstanding issue.

PR #4636 could not be read because fetching its supplied revision failed with HTTP 429, so this assessment does not assume it fixes anything.

  • Native-module checks now flag shared dependency mismatches.

Reviews (1) · Last reviewed commit: "native-modules: print the exact fix for ..." · Reviewed by Greptile

Comment thread bin/native-modules

This branch was successfully deployed

1 active deployment
cachix — 18c24f7b Deployed Oct 18, 2026 by jeff-hykin via cachix-build #13208
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Required CI checks have passed on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant