aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yml15
-rw-r--r--directory.build.props22
-rw-r--r--packages.config12
3 files changed, 47 insertions, 2 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 9f8eca8..5205283 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -27,12 +27,12 @@ jobs:
build:
strategy:
matrix:
- # As of June '26, WDK doesn't seem to be included in VS 2026 (windows-2026) images.
- toolset: [vs2022]
+ toolset: [vs2022, vs2026]
platform: [x64]
configuration: [Debug, Release]
include:
- {toolset: vs2022, os: windows-2022}
+ - {toolset: vs2026, os: windows-2025}
runs-on: '${{ matrix.os }}'
name: 'Build: ${{ matrix.toolset }} / ${{ matrix.platform }} / ${{ matrix.configuration }}'
defaults:
@@ -43,8 +43,16 @@ jobs:
uses: actions/checkout@v6
with:
submodules: recursive
+
- name: Set up msbuild
uses: microsoft/setup-msbuild@v3
+
+ - name: Install NuGet packages
+ # As of June '26, WDK doesn't seem to be included in VS 2026 (windows-2025) images.
+ # The recommended way is to use NuGet: https://github.com/actions/runner-images/issues/13071#issuecomment-3361203846
+ run: nuget restore .\packages.config -PackagesDirectory .\packages\
+ if: matrix.toolset == 'vs2026'
+
- name: Build user-mode code
run: |
New-Item -Type Directory build\cmake | Out-Null
@@ -55,6 +63,7 @@ jobs:
'${{ github.workspace }}'
cmake --build . --target install --config '${{ matrix.configuration }}'
+
- name: Build kernel-mode code
run: |
.\km\build.ps1 `
@@ -62,9 +71,11 @@ jobs:
-Configuration '${{ matrix.configuration }}' `
-Platform '${{ matrix.platform }}' `
-WDK wdk10
+
- name: Run tests
run: |
.\km\test.ps1 -InstallDir build\install
+
- name: Publish artifact
uses: actions/upload-artifact@v7
with:
diff --git a/directory.build.props b/directory.build.props
new file mode 100644
index 0000000..75296a3
--- /dev/null
+++ b/directory.build.props
@@ -0,0 +1,22 @@
+<Project>
+
+<Import Project="packages\Microsoft.Windows.SDK.CPP.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.props"
+ Condition="Exists('packages\Microsoft.Windows.SDK.CPP.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.props')"/>
+
+<Import Project="packages\Microsoft.Windows.SDK.CPP.x64.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.x64.props"
+ Condition="Exists('packages\Microsoft.Windows.SDK.CPP.x64.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.x64.props') and '$(Platform)' == 'x64'"/>
+
+<!--
+<Import Project="packages\Microsoft.Windows.SDK.CPP.arm64.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.arm64.props"
+ Condition="Exists('packages\Microsoft.Windows.SDK.CPP.arm64.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.arm64.props') and '$(Platform)' == 'ARM64'"/>
+-->
+
+<Import Project="packages\Microsoft.Windows.WDK.x64.10.0.28000.1839\build\native\Microsoft.Windows.WDK.x64.props"
+ Condition="Exists('packages\Microsoft.Windows.WDK.x64.10.0.28000.1839\build\native\Microsoft.Windows.WDK.x64.props') and '$(Platform)' == 'x64'"/>
+
+<!--
+<Import Project="packages\Microsoft.Windows.WDK.arm64.10.0.28000.1839\build\native\Microsoft.Windows.WDK.arm64.props"
+ Condition="Exists('packages\Microsoft.Windows.WDK.arm64.10.0.28000.1839\build\native\Microsoft.Windows.WDK.arm64.props') and '$(Platform)' == 'ARM64'"/>
+-->
+
+</Project>
diff --git a/packages.config b/packages.config
new file mode 100644
index 0000000..99aa171
--- /dev/null
+++ b/packages.config
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="Microsoft.Windows.SDK.CPP" version="10.0.28000.1839" targetFramework="native" />
+ <package id="Microsoft.Windows.SDK.CPP.x64" version="10.0.28000.1839" targetFramework="native" />
+ <!--
+ <package id="Microsoft.Windows.SDK.CPP.arm64" version="10.0.28000.1839" targetFramework="native" />
+ -->
+ <package id="Microsoft.Windows.WDK.x64" version="10.0.28000.1839" targetFramework="native" />
+ <!--
+ <package id="Microsoft.Windows.WDK.arm64" version="10.0.28000.1839" targetFramework="native" />
+ -->
+</packages>