-
Notifications
You must be signed in to change notification settings - Fork 30.6k
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
build: add build artifact to CI #32458
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.
suggestion: we could describe this feature in doc, example pull-requests.md
If you do document this it should include that the artifacts are only available to download after the entire workflow completes (and not when the job completes, so you may need to wait for other platforms to finish before you can download the one you want). Also the artifacts are not permanent (currently expire after 90 days or if manually deleted). |
So one thing worth bringing up here... this is a very nice feature but could be abused. This is essentially allowing every PR to create multi-platform binaries that can be downloaded by anyone (if I'm understanding correctly). This does create the possibility that someone could open up a PR with malicious code and we, Node.js, would technically be distributing that to folks. I'm pretty uncomfortable with that TBQH. |
Ah right... good point. |
What about an extra, manual CI trigger to publish artifacts? This allows collaborators to easily share binaries if needed but no abuseable automatism. |
Github action doesn't look like has this feature for now. |
@MylesBorins I can see that concern but I feel like the benefits outweigh the risks. Even to just think how much this could speed up bisecting when we have a build available for each commit on master makes me really want to have this. I think we could rename the file to indicate that it is not an official build? E.g. |
Also, it looks like anyone can make a pr add artifact as long as we have github action enabled ? So, enabled it by default won't make much difference ? |
Changes on Actions coming from forks will only work if the author has commit access, so it's not an issue. |
Overall I like this :) Some questions:
|
@addaleax for the bisecting bit could that not be accomplished with a action only on master as opposed to on every PR? |
@MylesBorins Yes, that’s the case. |
@addaleax with that in mind I would like to propose that we scope this PR to only pushes to master, at least for now. That should limit the number of binaries we have to store with github and precludes the security concerns I raised before |
8ae28ff
to
2935f72
Compare
@MylesBorins does your objection persists here? This would be an amazing feature for us to get feedback from users for specific features which are still in the PR phase, I think it's a good idea to reconsider having it for pushes to the default branch as well as PRs. As a recent example where this would be useful: https://twitter.com/aredridel/status/1305277024446156801. If your objection persist add the Requested Changes to this PR and let's escalate to TSC for decision. |
@gengjiawen do you mind rebasing this PR? |
Fwiw my intent was more a -1 not an objection. I need to review this again and think it through more extensively, but it was definitely meant to be "let's make sure we think about the risk" not "absolutely don't do this" I totally trust that you and others working on this would do something thoughtful |
In terms of risk of malicious code being sent, we might need to wait for a rebase to try some of these, but:
I'm with @addaleax, the benefits outweigh the risks here. Furthermore if we have an incident because of this we can reconsider. |
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'm huge +1 on this change, just making this comment explicit so we don't land before fixing it:
We should upload everything that is installed with
make install
, otherwise the user won't have npm, gyp, etc.
@gengjiawen this would need a rebase. |
This issue/PR was marked as stalled, it will be automatically closed in 30 days. If it should remain open, please leave a comment explaining why it should remain open. |
Closing this because it has stalled. Feel free to reopen if this issue/PR is still relevant, or to ping the collaborator who labelled it stalled if you have any questions. |
Lots of user want to help us test or use our new features like
quic
or othernew exciting feature, but build Node.js from start is not quite easy.
This will help a lot when community want to testing edging WIP features.
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes