-
-
Notifications
You must be signed in to change notification settings - Fork 34.6k
tools: add ncrypto updater script #61613
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Review requested:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there's no reason to keep maintaining a separate copy of ncrypto in this repo.
I think this misses the point, ncrypto is the separate copy of node's crypto internals. Not the other way around. Not yet.
The entire reason for ncrypto's existance was to make node's internals available to other runtimes. Setting up a process where nodejs/node latest releases get pulled to and tagged in nodejs/ncrypto seems more appropriate to me.
ncrypto is a tool for non-node runtimes, not for node.
ncrypto changes are not tested with the same CI rigour, with the same openssl matrix, are not reviewed by @nodejs/crypto and there's no guarantee that changes landing in ncrypto are compatible with node. Waiting for ncrypto releases to make dependant changes in node is not a process that would welcome contributions. I for one cannot imagine having to do all of the post-quantum work last year crippled by ncrypto having to have code merged and released first.
Switching ncrypto to be a full blown dependency is still a long way off (if ever). I raised this in nodejs/ncrypto#7 and that still stands.
As is I am not convinced the nodejs project is better off relying on ncrypto releases. If anything, things will live in src/crypto again.
This comment was marked as outdated.
This comment was marked as outdated.
Yes I definitely agree but we don't run certain things on deps folder, such as linting testing etc. In order to even run individual tests, either we append our test runner here with unrelated tests, such as Bazel etc, or we just behave like it's a dependency just like another. I think it's less work to act like it's Ada/v8 etc. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #61613 +/- ##
==========================================
- Coverage 89.76% 88.86% -0.90%
==========================================
Files 673 673
Lines 203944 203944
Branches 39191 39109 -82
==========================================
- Hits 183080 181245 -1835
- Misses 13194 14970 +1776
- Partials 7670 7729 +59 🚀 New features to boost your workflow:
|
|
Adding the
tsc-agenda
|
|
IIUC, the intention of this PR goes beyond a simple tool update - it will make https://github.com/nodejs/ncrypto the source of truth from now on, and every update must be there first before it can be rolled into this repo? |
|
I see there's a thumbs up - I think in that case, apart from the issues raised by @panva I also spotted some issues:
I think the biggest issue, as also raised by @panva, is how would dynamically linked OpenSSL builds be tested there? And all the versions still supported by Node.js (including OpenSSL 1.1.1?). That's fairly important for Linux distributions. And we need to make sure that it works in the final Node.js builds too - otherwise we might again need to deal with breakages during ncrypto updates. I am not against the idea per-se, but at the moment it seems these questions are largely left unanswered and not enough work has been done to make them go away? |
I think it would be possible to just add additional make targets to run linting and testing for |
With nodejs/ncrypto#17 in a release, I think there's no reason to keep maintaining a separate copy of ncrypto in this repo.