Skip to content

win,tools: use Azure Trusted Signing (v20 backport) #58659

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

Conversation

StefanStojanovic
Copy link
Contributor

This PR finalizes the work on the new signing tool, Azure Trusted Signing. As discussed in the build issue, the release CI was set up to work with new tools, and this change moves to using them when building Node.

cc @nodejs/build

Refs: nodejs/build#4036
Refs: #58502

indutny and others added 30 commits June 5, 2025 14:05
[email protected] optimizes header value parsing on ARM Neon/WASM, and adds
support for a protocol callback for use outside of the typical HTTP
setting (RTSP/ICE).

PR-URL: nodejs#58144
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
PR-URL: nodejs#57600
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Current alignment mislead doc reader into thinking
`importModuleDynamically` is a separate positional param right next to
`options`, which is incorrect and need to be fixed.

This misalignment is introduced in a PR merged in Feb 2024.

I belive this doc fix applies to node v20 and above.

Refs: nodejs#51244
PR-URL: nodejs#58145
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Daeyeon Jeong <[email protected]>
From the source code, `readlinePromises.createInterface()` calls
`new Interface()` imported from `internal/readline/interface`, which
works the same as the non-promise version. If non-promise version
accepts options.signal, it should also work for
`readlinePromises.createInterface()`. Hence this information need to be
indicated in the documentation.

Refs: https://github.com/nodejs/node/blob/main/lib/readline/promises.js
PR-URL: nodejs#55456
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: nodejs#58093
Reviewed-By: Daeyeon Jeong <[email protected]>
Reviewed-By: LiviaMedeiros <[email protected]>
Reviewed-By: Chemi Atlow <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: nodejs#58102
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
PR-URL: nodejs#58076
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Pietro Marchini <[email protected]>
Reviewed-By: Chemi Atlow <[email protected]>
PR-URL: nodejs#58072
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Signed-off-by: Eng Zer Jun <[email protected]>
PR-URL: nodejs#58025
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
PR-URL: nodejs#57997
Refs: nodejs#47740
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: nodejs#57455
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: LiviaMedeiros <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Steven R Loomis <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
PR-URL: nodejs#57857
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: nodejs#56265
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Adrian Estrada <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Avoid any potential ref to Buffer in new generation
from old generation

PR-URL: nodejs#56767
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
PR-URL: nodejs#57664
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: nodejs#57325
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Jake Yuesong Li <[email protected]>
PR-URL: nodejs#52701
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: James M Snell <[email protected]>
The socket can be closed while data is still being written, causing an
`ECONNRESET` error to be emitted on the client. Add a listener for it.

PR-URL: nodejs#57959
Reviewed-By: LiviaMedeiros <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reduce `test/parallel/test-file-write-stream4.js` flakiness.

Refs: nodejs#57927
PR-URL: nodejs#57930
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: LiviaMedeiros <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Modified to check the format of the netmask instead
of just checking that each part of the netmask is even

PR-URL: nodejs#57324
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Fix issue where session.close() prematurely destroys the session
when response.end() was called with an empty payload while active
http2 streams still existed. This change ensures that sessions are
closed gracefully only after all http2 streams complete and clients
properly receive the GOAWAY frame as per the HTTP/2 spec.

Refs: https://nodejs.org/api/http2.html\#http2sessionclosecallback
PR-URL: nodejs#57808
Fixes: nodejs#57809
Refs: https://nodejs.org/api/http2.html%5C#http2sessionclosecallback
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Tim Perry <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs#57855
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Ulises Gascón <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
PR-URL: nodejs#57667
Reviewed-By: Jordan Harband <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs#57745
Reviewed-By: LiviaMedeiros <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs#57754
Reviewed-By: Tim Perry <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Fixes: nodejs#57416
PR-URL: nodejs#57686
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Tim Perry <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Jake Yuesong Li <[email protected]>
PR-URL: nodejs#57654
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Jake Yuesong Li <[email protected]>
Reviewed-By: James M Snell <[email protected]>
dario-piotrowicz and others added 12 commits June 5, 2025 14:05
PR-URL: nodejs#57690
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs#57594
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Chemi Atlow <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Jake Yuesong Li <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Refs: nodejs/moderation#830
PR-URL: nodejs#57607
Reviewed-By: Jordan Harband <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Stefan Stojanovic <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Ulises Gascón <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Original commit message:

    [zlib][build] Remove fdopen #defines in zutil.h.

    The latest version of Clang changed what macros it predefines on Apple
    targets, causing errors about predefined macros in zlib.

    See:
    madler/zlib@4bd9a71

    Bug: 1519899
    Change-Id: Ie75ef4078f2c86d89ba6c036ddd13e768a40ccbb
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5237020
    Reviewed-by: Adenilson Cavalcanti <[email protected]>
    Commit-Queue: Hans Wennborg <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#1253252}
    NOKEYCHECK=True
    GitOrigin-RevId: 2f39ac8d0a414dd65c0e1d5aae38c8f97aa06ae9

Refs: https://chromium.googlesource.com/chromium/src/third_party/zlib/+/646b7f569718921d7d4b5b8e22572ff6c76f2596
PR-URL: nodejs#58342
Reviewed-By: Marco Ippolito <[email protected]>
Original commit message:

    Define UChar as char16_t

    We used to have UChar defined as uint16_t which does not go along
    with STL these days if you try to have an std::basic_string<> of it,
    as there are no standard std::char_traits<> specialization for uint16_t.

    This switches UChar to char16_t where practical, introducing a few
    compatibility shims to keep CL size small, as (1) this would likely
    have to be back-ported and (2) crdtp extensively uses uint16_t for
    wide chars.

    Bug: b:296390693
    Change-Id: I66a32d8f0050915225b187de56896c26dd76163d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4789966
    Reviewed-by: Jaroslav Sevcik <[email protected]>
    Commit-Queue: Jaroslav Sevcik <[email protected]>
    Auto-Submit: Andrey Kosyakov <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#89559}

Refs: v8/v8@182d9c0
PR-URL: nodejs#58342
Reviewed-By: Marco Ippolito <[email protected]>
Original commit message:

    Fix build issue, remove unneeded include uchar.h.

    Follow the conversation on:
    https://groups.google.com/g/v8-dev/c/nsbshwlmP3c.

    The `uchar.h` include is not necessary.
    It was added to get the definition of char16_t but that's an intrinsic
    type in C++.

    Change-Id: I0aaa11dba0be3ccad15b9e421f8bae71450d443b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4823404
    Reviewed-by: Omer Katz <[email protected]>
    Commit-Queue: Eric Leese <[email protected]>
    Reviewed-by: Eric Leese <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#89787}

Refs: v8/v8@1a3ecc2
PR-URL: nodejs#49639
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: nodejs#58342
Reviewed-By: Marco Ippolito <[email protected]>
Refs: nodejs#54572
Refs: nodejs#54468
PR-URL: nodejs#54593
Backport-PR-URL: nodejs#58589
Refs: nodejs#54572
Refs: nodejs#54468
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: nodejs#55866
Backport-PR-URL: nodejs#58589
Reviewed-By: Matthew Aitken <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Jason Zhang <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
PR-URL: nodejs#57365
Backport-PR-URL: nodejs#58589
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Jason Zhang <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: nodejs#58502
Refs: nodejs/build#4036
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@StefanStojanovic StefanStojanovic added windows Issues and PRs related to the Windows platform. build Issues and PRs related to build files or the CI. tools Issues and PRs related to the tools directory. labels Jun 10, 2025
@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. v20.x v20.x Issues that can be reproduced on v20.x or PRs targeting the v20.x-staging branch. labels Jun 10, 2025
@marco-ippolito
Copy link
Member

marco-ippolito commented Jun 10, 2025

Is this required for the upcoming release tomorrow? #58588

@marco-ippolito marco-ippolito added the request-ci Add this label to start a Jenkins CI on a PR. label Jun 10, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Jun 10, 2025
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@marco-ippolito
Copy link
Member

marco-ippolito commented Jun 10, 2025

woops CI is green but branch needs a rebase, I'm gonna try to rebase

marco-ippolito pushed a commit that referenced this pull request Jun 10, 2025
PR-URL: #58502
Backport-PR-URL: #58659
Refs: nodejs/build#4036
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@marco-ippolito
Copy link
Member

Landed in ed0cf8c

marco-ippolito pushed a commit that referenced this pull request Jun 11, 2025
PR-URL: #58502
Backport-PR-URL: #58659
Refs: nodejs/build#4036
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. tools Issues and PRs related to the tools directory. v20.x v20.x Issues that can be reproduced on v20.x or PRs targeting the v20.x-staging branch. windows Issues and PRs related to the Windows platform.
Projects
None yet
Development

Successfully merging this pull request may close these issues.