setup-wdk7 prepares Windows Driver Kit 7.1 for legacy Windows driver and SDK
builds in CI. It finds an existing WDK7 install when available, restores a
cached copy when possible, or downloads and extracts the WDK7 ISO when the
runner starts clean.
- Detects WDK7 from an explicit input,
WDK7_ROOT,W7BASE, local cache, or the defaultC:\WinDDKinstallation path. - Downloads, extracts, and caches WDK7 automatically on Windows runners.
- Exposes a bundled CMake toolchain for
i386andamd64builds. - Supports user-mode binaries, kernel
.systargets, and legacyddkbuild.cmdprojects. - Optionally prepares the Debugging Tools SDK for DbgEng and WinDbg extension builds.
jobs:
build:
runs-on: windows-2025
steps:
- uses: actions/checkout@v4
- name: setup wdk7
id: wdk7
uses: tinysec/setup-wdk7@v1
- name: build with cmake
shell: cmd
run: |
cmake -S . -B build -G "${{ steps.wdk7.outputs.cmake-generator }}" ^
-DCMAKE_TOOLCHAIN_FILE="${{ steps.wdk7.outputs.toolchain-file }}" ^
-DWDK7_ARCH=amd64 ^
-DCMAKE_BUILD_TYPE=Release
cmake --build build --config ReleaseFor Debugging Tools and DbgEng headers/libraries:
- name: setup wdk7 with debugging tools
id: wdk7
uses: tinysec/setup-wdk7@v1
with:
debugger: trueFor legacy DDKBuild projects:
- name: build driver
shell: cmd
run: call ddkbuild.cmd -WIN7A64 free srcUse root to point at a preinstalled WDK7 tree, or download-url to provide
one or more custom ISO URLs before the built-in Microsoft URL is tried.