-
Notifications
You must be signed in to change notification settings - Fork 85
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
[feat] Napi support package c++ static binary. #235
Conversation
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.
Why do you rename the directory name from certificate
to test-conf
?
Just for the unified, put all the test-related configurations together. |
a645bd8
to
317ee08
Compare
There is no need to make two separate repositories consistent. What if the Python client repo renamed the directory or adjust the hierarchy later? In this case, do you also want to sync the changes here? People who are interested in Node.js client might not be interested in Python client. That's why do we separate C++/Python repos. From my perspective, if you have a huge PR, please remove unnecessary changes as much as possible. |
317ee08
to
9680c8f
Compare
Make sense. I removed unnecessary changes. PTAL. |
Currently completed:
Please refer to my repo release: https://github.com/shibd/pulsar-client-node/releases/tag/v1.8.1-rc.3 Other environments:
@merlimat Do you feel there are other environments that need support? @BewareMyPower @merlimat This PR can be reviewed first when you have time. Thanks. |
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.
Very nice to see such progress on the packaging!
We can try to find a way to cross-compile. Right now there are no M1 runners in GH actions. |
Hi, @merlimat I can cross-compile I raised an issue here and haven't waited for a response yet. I'll finish compiling Windows first and then continue working on it here. If you have a good idea, please recommend it to me. Thanks. |
518c794
to
538f60b
Compare
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.
👍 Looks good! Let's target windows build in a new PR
### Motivation #235 Support windows build napi of static link c++ lib(x64 and x86). ### Modifications - Download the C++ static library directly instead of recompiling **Note**: Since there is no static library release for C++ yet, Use a [temporary release](https://github.com/BewareMyPower/pulsar-client-cpp/releases/tag/v3.1.0-rc-20221026-windows).
Motivation
Currently, users using the
node js client
must first install theC++ client
. And when the user executesnpm install
, it also needs to be compiled. This is not user-friendly.This PR is to provide pre-built packages for all the supported environments, using GYP and rebuild. The pre-built package is then uploaded to
Github Release
, and when the user installs the client, the system version is matched and the pre-built package is downloaded.Currently tested
linux_glibc_x86_64
,linuc_musl_x86_64
,linux_glibc_arm64
,linuc_musl_arm64
andmac_x86_64
. I've built it in my fork repository and can install it directly using the following command (without first installing the C++ client).Modifications
New Github workflows
napi
packages.GitHub Release
.napi
.Documentation
doc
doc-required
doc-not-needed
doc-complete
TODO