Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Windows Server 2025 is now available #11228

Open
2 of 14 tasks
shamil-mubarakshin opened this issue Dec 19, 2024 · 14 comments
Open
2 of 14 tasks

Windows Server 2025 is now available #11228

shamil-mubarakshin opened this issue Dec 19, 2024 · 14 comments

Comments

@shamil-mubarakshin
Copy link
Contributor

shamil-mubarakshin commented Dec 19, 2024

Breaking changes

Windows Server 2025 is now available for GitHub Actions users.
You can use the windows-2025 image label in your YAML to select this image.

GitHub Actions

jobs:
  jobName:
    runs-on: windows-2025

The image is marked as "beta" for now. It means some software can be unstable on the new platform. Also, there could be queueing issues as the capacity will be balanced only throughout the next weeks.
Please report any problems with the new image to this repository.

Platforms affected

  • Azure DevOps
  • GitHub Actions

Runner images affected

  • Ubuntu 20.04
  • Ubuntu 22.04
  • Ubuntu 24.04
  • macOS 11
  • macOS 12
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • Windows Server 2019
  • Windows Server 2022
  • Windows Server 2025

Software difference between Windows Server 2022 and Windows Server 2025

Tool name Windows Server 2022 Windows Server 2025 Notes
Go
  • 1.20.* (cached)
  • 1.21.* (default)
  • 1.22.* (cached)
  • 1.23.* (cached)
  • 1.21.* (cached)
  • 1.22.* (cached)
  • 1.23.* (default)
If your use-case requires using any of these versions, consider using tasks to install Go on-flight:
Node.js
  • 16.* (cached)
  • 18.* (default)
  • 20.* (cached)
  • 22.* (cached)
  • 18.* (cached)
  • 20.* (cached)
  • 22.* (default)
If your use-case requires using any of these versions, consider using tasks to install Node.js on-flight:
Ruby
  • 3.0.* (default)
  • 3.1.* (cached)
  • 3.2.* (cached)
  • 3.1.* (cached)
  • 3.2.* (cached)
  • 3.3.* (default)
Python
  • 3.7.* (cached)
  • 3.8.* (cached)
  • 3.9.* (default)
  • 3.10.* (cached)
  • 3.11.* (cached)
  • 3.12.* (cached)
  • 3.9.* (default)
  • 3.10.* (cached)
  • 3.11.* (cached)
  • 3.12.* (cached)
  • 3.13.* (cached)
On GitHub Actions, actions/setup-python can install any version on-flight so this change doesn't impact users
PyPy
  • 2.7.* (cached)
  • 3.7.* (cached)
  • 3.8.* (cached)
  • 3.9.* (cached)
  • 3.10.* (cached)
  • 3.9.* (cached)
  • 3.10.* (cached)
Deprecated all the versions besides the most recent ones
LLVM 18.* 19.* Updated to the recent version
strawberryperl 5.32.1 5.40.0 Updated to the recent version
maven 3.8.* 3.9.* Updated to the recent version
InnoSetup latest available - Removed from the Windows Server 2025 image due to maintenance reasons.
Mercurial 5.0.0 - Removed from the Windows Server 2025 image due to maintenance reasons.
mingw 12.2.0 14.2.0 Includes updates to
  • gcc
  • GNU gdb
  • GNU Binutils
NSIS 3.10 - Removed from the Windows Server 2025 image due to maintenance reasons.
openssl 1.1.1 3.4.0 Updated to the recent version
Azure Service Fabric runtime 9.1.1436.9590 10.1.2493.9590 Updated to the recent version
Azure Service Fabric SDK 6.1.1436 7.0.2712 Updated to the recent version
svn (tortoisesvn) latest available - Removed from the Windows Server 2025 image due to maintenance reasons.
Alibaba Cloud CLI latest available - Removed from the Windows Server 2025 image due to maintenance reasons.
bindgen latest available - Removed from the Windows Server 2025 image due to maintenance reasons.
cargo-audit latest available - Removed from the Windows Server 2025 image due to maintenance reasons.
cargo-outdated latest available - Removed from the Windows Server 2025 image due to maintenance reasons.
cbindgen latest available - Removed from the Windows Server 2025 image due to maintenance reasons.
Java
  • 8.* (default)
  • 11.*
  • 17.*
  • 21.*
  • 8.*
  • 11.*
  • 17.* (default)
  • 21.*
Default Java switched to 17.* for Windows Server 2025 image.
PostgreSQL 14.12 17.* Updated to the recent version
MongoDB 5.0.* 7.0.* Updated to the recent version
Visual Studio components * Excluded
  • Component.Unreal.Android
  • Component.Xamarin
  • Microsoft.VisualStudio.Component.Windows10SDK.19041
  • Microsoft.VisualStudio.Component.Windows10SDK.20348
  • Microsoft.VisualStudio.Component.Windows11SDK.22000
Removed from the Windows Server 2025 image due to maintenance reasons.
.NET Core SDK
  • 6.*
  • 7.*
  • 8.*
  • 9*
  • 8.*
  • 9.*
Please consider using tasks to install any version on-flight:
PowerShell modules * Excluded
  • AzureRM
  • Azure
Removed from the Windows Server 2025 image due to maintenance reasons.
Android Command Line Tools 8.0 16.0 Updated to the recent version
Android SDK Build-tools
  • 34.0.0
  • 33.0.0
  • 33.0.1
  • 33.0.2
  • 33.0.3
  • 32.0.0
  • 31.0.0
  • 35.0.0
Updated to the recent version
Android cmake
    • 3.18.1
    • 3.22.1
    • 3.22.1
    • 3.30.5
Updated to the recent version
Cached Docker images
  • mcr.microsoft.com/windows/servercore:ltsc2022
  • mcr.microsoft.com/windows/nanoserver:ltsc2022
  • mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2022
  • mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2022
  • mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2022
- Removed from the Windows Server 2025 image due to maintenance reasons.

Miscellaneous:

  • Standalone WDK installation was deprecated. Starting with Visual Studio 17.12, the recommended way to install the WDK is via nuget
  • Only the latest version of Haskell will be installed on the image
  • Temporary user installer and its profile were removed from the image
  • mongo.exe shell has been removed from MongoDB since version 6
  • The following directories were compressed:
    • C:\Windows\assembly
    • C:\Windows\WinSxS
    • C:\Program Files\dotnet
    • C:\Program Files (x86)\Android
@dongle-the-gadget
Copy link

Is Windows SDK 10.0.22621 included in the Windows Server 2025 image? This issue says it is not but the README says it does.

@vedantmgoyal9
Copy link

WSLv2 on GitHub Actions is now supported. vedantmgoyal9/setup-wsl2#3

Is there any possibility WSLv2 can be enabled by default, instead of WSLv1?

@Kichura Kichura mentioned this issue Dec 19, 2024
16 tasks
@MikeMcC399
Copy link

MikeMcC399 commented Dec 19, 2024

Will you consider adding WMIC Feature on Demand to the windows-2025 runner?

For Microsoft Windows Servers, wmic has been deprecated since 2016 and it is not installed by default on Windows Server 2025 (see Features we're no longer developing).

Unfortunately there are some npm packages which rely on this deprecated facility and which have so far not followed migration advice from Microsoft.

The following issues have been raised for the respective npm modules:

Although it is theoretically possible to execute the following, it is a massively sized package that would be installed, so it is not really a practical workaround:

DISM /Online /Add-Capability /CapabilityName:WMIC~~~~

@ifarbod
Copy link

ifarbod commented Dec 20, 2024

Is there any possibility of having the ARM64 version in a separate image? (just like macos-15 / macos-15-arm64)

@janbrasna
Copy link

I believe there should be only one default Python, not two, right?

3.9.* (default)
3.10.* (cached)
3.11.* (cached)
3.12.* (default)
3.13.* (cached)

cclauss added a commit to nodejs/node-gyp that referenced this issue Jan 6, 2025
cclauss added a commit to cclauss/node-gyp that referenced this issue Jan 7, 2025
@shamil-mubarakshin
Copy link
Contributor Author

Is Windows SDK 10.0.22621 included in the Windows Server 2025 image?

I believe there should be only one default Python, not two, right?

@dongle-the-gadget, @janbrasna, thanks for highlighting the typos, updated software difference

Is there any possibility WSLv2 can be enabled by default, instead of WSLv1?

@vedantmgoyal9, image rollout with WSLv2 starts this week and will take a few days to complete.

Will you consider adding WMIC Feature on Demand to the windows-2025 runner?

@MikeMcC399, we have no plans on adding this particular deprecated feature to the image. The workaround you mentioned works in runtime via run: step (~8mins) or you could stick to the windows-2022, while package owners update the code.

Is there any possibility of having the ARM64 version in a separate image?

@ifarbod, there are no current plans on introducing Windows Server ARM64 images.

@vedantmgoyal9
Copy link

Any possibility of enabling WSLv2 on Windows 2022 runners as well?

@MikeMcC399
Copy link

@shamil-mubarakshin

Will you consider adding WMIC Feature on Demand to the windows-2025 runner?

@MikeMcC399, we have no plans on adding this particular deprecated feature to the image. The workaround you mentioned works in runtime via run: step (~8mins) or you could stick to the windows-2022, while package owners update the code.

Many thanks for your response. 🙂 I think this is the right decision not to support this deprecated feature, however I needed to ask you guys before going back to the owners of the packages which need updating.

legendecas pushed a commit to legendecas/node-gyp that referenced this issue Jan 13, 2025
legendecas pushed a commit to legendecas/node-gyp that referenced this issue Jan 13, 2025
cclauss added a commit to nodejs/node-gyp that referenced this issue Jan 13, 2025
* DRAFT: Test on GitHub Actions windows-2025 image

* actions/runner-images#11228

* Windows 2025 currently ships with Visual Studio 2022

* Revert changes to lib/find-visualstudio.js

* Revert changes to lib/find-visualstudio.js

* Revert ALL changes to lib/find-visualstudio.js
@HotCakeX
Copy link

HotCakeX commented Feb 9, 2025

One of the best things about Windows Server 2025 is that it has Winget by default.

@DavidXanatos
Copy link

May I piggyback a question on this issue regarding Runner Availability, I recall that i was tolled that you usually provide the latest and second to latest version, which as not 2025 is out makes me worried that 2019 may be discontinued soonisch.
Which would be bad, VS 2022 can no Longer compile drivers for Windows 7 and well 5% of Sandboxie's user bases still uses windows 7 and i would not want to be forced to discontinue this.

So what are the plans for the 2019 runner and can we maybe keep it for many more years?

@paradoxicallist
Copy link

So what are the plans for the 2019 runner and can we maybe keep it for many more years?

Sandboxie on Windows 7 user here. Please keep 2019 runner running.

@HotCakeX
Copy link

HotCakeX commented Feb 11, 2025

@DavidXanatos @paradoxicallist

Using an out of support and deprecated OS version with some sort of security focused product like sandboxie doesn't provide the security/isolation you're looking for. (i'm not talking about incompatible hardware, user choice etc., i'm just stating some general facts)

Security goes from lower layer to higher ones, not the other way around. You can never be secure on the higher layer if your underlaying layer isn't secure. Windows 7 is far from secure even with all extended updates when compared to latest Windows 11 build. You can read more about what i'm talking about in here, Clean Source Principle: https://learn.microsoft.com/en-us/security/privileged-access-workstations/privileged-access-success-criteria#clean-source-principle

Another thing is the fact that resources (humans, storage, time etc.) are limited. So the more GitHub staff spend on old obsolete stuff, the less resource they can spend on modern and newer things.

@DavidXanatos
Copy link

DavidXanatos commented Feb 11, 2025

@HotCakeX

Well people will not stop using windows 7 I think the past few years without updates made that clear enough.
And with Sandboxie its at least somewhat less secure, if an application can only do a hand full of allowed hand picked syscalls its inherently more secure than if it can do all of them without restrictions.

Besides Sandboxie is not only for security, its also for compartmentalization, why junk your OS full of crappy software that will leave garbage behind, if you can instead install it in a sandbox and dispose of it in its entirety once you no longer want to use it.

PS: Just leave the old obsolete stuff in as is no updates no nothing, no work, and HDD space costs virtually nothing.
Better then being Violent and forcing People to upgrade against their will. IMHO

@sharpjs
Copy link

sharpjs commented Feb 11, 2025

When can we expect windows-2025 in Azure DevOps?

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

10 participants