Skip to content

Removing Windows 10 and Windows Server 2016 machines from the CI. #4561

Open

Description

@StefanStojanovic

Opening this issue as a follow-up to a discussion with @sxa. Windows 10 has been EOL for over a year, while Windows Server 2016 reaches EOL in 2 months (on Jan 12, 2027). In addition, we have no coverage for Windows Server 2025 in our CI, and we'll get bandwidth for that once we remove the machines I suggest here.

In total, we'd remove 8 machines:

  • 4 Azure Windows 10 machines
  • 2 Azure Windows Server 2016 machines
  • 2 Rackspace Windows Server 2016 machines

I can take ownership of the removal. I'd like input from @nodejs/build on the timeline, as we might want the public to be aware of the upcoming changes before they happen (or not). Also, we could keep Windows Server 2016 active while it is still not EOL.

Once we remove all 8 machines, I will close this issue and open a new one for adding new Windows Server 2025 machines.

Activity

  1. MikeMcC399 commented on Nov 9, 2026

    @MikeMcC399

    From https://learn.microsoft.com/en-us/lifecycle/products/?products=windows

    Windows Server 2016 looks good for removal:

    Product Mainstream End Extended End Date
    Windows Server 2016 Jan 11, 2022 Jan 12, 2027

    I'm not sure about Windows 10, and whether Windows 10 Enterprise LTSC 2019 needs to be considered with:

    Product Mainstream End Extended End Date
    Windows 10 Enterprise LTSC 2019 Jan 9, 2024 Jan 9, 2029

    Certainly Window 10 Home and Pro already passed its retirement date more than one year ago on Oct 14, 2025.

    I would personally prefer not to have to deal with Windows 10 any more!

  2. StefanStojanovic commented on Nov 9, 2026

    @StefanStojanovic
    ContributorAuthor

    Our Windows 10 machines are running the Pro edition, so we don't even have access to the supported version. I'm also +1 for removing Windows 10 from the matrix, especially since we need Azure bandwidth to add Windows Server 2025 machines (Rackspace doesn't offer it).

  3. MikeMcC399 commented on Nov 9, 2026

    @MikeMcC399

    https://github.com/nodejs/node/blob/main/BUILDING.md should also be updated for Node.js 27 accordingly (semver-major is allowed during Alpha).

    Node.js 26 and below just apply the generic statement, without necessarily updating the Windows versions listed in the table:

    Node.js does not support a platform version if a vendor has expired support for it. In other words, Node.js does not support running on End-of-Life (EoL) platforms. This is true regardless of entries in the table below.

  4. MikeMcC399 commented on Nov 10, 2026

    @MikeMcC399

    Once we remove all 8 machines, I will close this issue and open a new one for adding new Windows Server 2025 machines.

    Separate, but related topic, Windows Server 2022 shows it has already transitioned out of mainstream support:

    Product Mainstream End Date Extended End Date
    Windows Server 2022 Oct 13, 2026 Oct 13, 2031
    Windows Server 2025 Nov 13, 2029 Nov 14, 2034

    Should Node.js move to building under Windows Server 2025?

    BUILDING > Official binary platforms and toolchains lists

    Windows Server 2022 (x64) with Visual Studio 2022

  5. MikeMcC399 commented on Nov 10, 2026

    @MikeMcC399

    @sxa / @StefanStojanovic

    If there's no objection, I would submit a PR to update the BUILDING > Platform list

    FROM TO
    Windows 10 Windows 11
    Windows Server 2016 Windows Server 2022

    This is independent of the machine changes, and it depends only on the Microsoft end-of-support dates.

  6. sxa commented on Nov 10, 2026

    @sxa
    Member

    Technically they could still be supported for people with extended support (albeit only til January for Server 2016) but feel free to create that PR and let it run through the regular review process.

  7. MikeMcC399 commented on Nov 10, 2026

    @MikeMcC399

    Technically they could still be supported for people with extended support (albeit only til January for Server 2016) but feel free to create that PR and let it run through the regular review process.

    I've opened nodejs/node#67383 I think it's a fair strategy to drop these old operating systems for the upcoming Node.js 27 release next year. Testing them during the 6 month Node.js 27 Alpha phase doesn't have much advantage if Microsoft won't be supporting them later.

    In any case this is a documentation-only change. It doesn't take away the ability to actually run Node.js on these older systems, even if it's not advised.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions