microsoft / windows-drivers-rs

Platform that enables Windows driver development in Rust. Developed by Surface.
Apache License 2.0
1.49k stars 65 forks source link

feat: enable CI workflows to use NuGet WDK packages #236

Open svasista-ms opened 3 days ago

svasista-ms commented 3 days ago

Enables the CI pipeline to use NuGet WDK package 10.0.26100.1591 instead of WinGet WDK installation. These changes allow the workflows to use multiple WDK versions in the matrix.

NOTE: The latest WDK version is installed as a NuGet package. Older versions of WDK (before v10.0.26100) still rely on WinGet. On a local computer eWDK environement can be used.

Closes #214 partially. LLVM still uses WinGet at the moment.

Summary of changes,

  1. Added the script nuget-install-wdk.ps1 to
  1. Modified workflows to use NuGet to install latest WDK and WinGet for Ni WDK.

  2. Added the logic to check NugetWdkContentRoot ENV VAR in the detect_wdk_content_root function.

  3. Added packages.config that contains WDK packages and dependencies to be downloaded. All versions are latest.

NOTE: nuget-install-wdk.ps1 can be used for local setup.