summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/CODEOWNERS37
-rw-r--r--.github/scripts/Install-Vsix.ps138
-rw-r--r--.github/workflows/Code-Scanning.yml50
-rw-r--r--.github/workflows/ci-pr.yml14
-rw-r--r--.github/workflows/ci.yml17
5 files changed, 117 insertions, 39 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 46d8e00a..903dccb3 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -7,6 +7,9 @@
# Root files
/* @microsoft/driver-samples-maintainers
+# Windows Implementation Library submodule
+/wil/ @microsoft/driver-samples-maintainers
+
# Audio
/audio/ @microsoft/windowsaudio
@@ -37,6 +40,7 @@
/pofx/PEP/ @microsoft/device-enumeration-and-interconnect
/prm/ @microsoft/device-enumeration-and-interconnect
/wmi/wmiacpi/ @microsoft/device-enumeration-and-interconnect
+/general/SystemDma/ @microsoft/device-enumeration-and-interconnect
# Display Kernel
/video/ @microsoft/display-kernel-devs
@@ -49,6 +53,7 @@
# Energy Efficiency
/pofx/WDF/ @microsoft/ee-devs
+/powerlimit/ @microsoft/ee-devs
/simbatt/ @microsoft/ee-devs
/thermal/ @microsoft/ee-devs
@@ -64,8 +69,15 @@
/filesys/miniFilter/ @microsoft/filter-manager
# Kernel Core
+/general/cancel/ @microsoft/kernel-core
+/general/event/ @microsoft/kernel-core
/general/registry/ @microsoft/kernel-core
+# Network Driver Platform
+/network/config/ @microsoft/network-driver-platform
+/network/modem/ @microsoft/network-driver-platform
+/network/ndis/ @microsoft/network-driver-platform
+
# Network Security
/network/trans/ @microsoft/netsec
@@ -73,11 +85,36 @@
/security/ @microsoft/platform-integrity
/TrEE/ @microsoft/platform-integrity
+# PnP
+/general/DCHU/ @microsoft/pnp
+/setup/ @microsoft/pnp
+
+# Print
+/print/ @microsoft/core-print
+/wia/ @microsoft/core-print
+
# Sensors Platform
/sensors/ @microsoft/sensors-platform
# Storage
/storage/ @microsoft/storage-core
+# Windows Driver Framework (WDF) samples
+/general/echo/ @microsoft/coreos-buses-and-wdf
+/general/ioctl/ @microsoft/coreos-buses-and-wdf
+/general/pcidrv/ @microsoft/coreos-buses-and-wdf
+/general/PLX9x5x/ @microsoft/coreos-buses-and-wdf
+/general/toaster/ @microsoft/coreos-buses-and-wdf
+/hid/ @microsoft/coreos-buses-and-wdf
+/input/ @microsoft/coreos-buses-and-wdf
+/pofx/UMDF2/ @microsoft/coreos-buses-and-wdf
+/serial/ @microsoft/coreos-buses-and-wdf
+/spb/ @microsoft/coreos-buses-and-wdf
+/usb/ @microsoft/coreos-buses-and-wdf
+/wmi/wmisamp/ @microsoft/coreos-buses-and-wdf
+
# Windows Internet of Things
/pos/ @microsoft/winiotdev
+
+# Wi-Fi Core
+/network/wlan/ @microsoft/wi-fi-core
diff --git a/.github/scripts/Install-Vsix.ps1 b/.github/scripts/Install-Vsix.ps1
new file mode 100644
index 00000000..50ef088b
--- /dev/null
+++ b/.github/scripts/Install-Vsix.ps1
@@ -0,0 +1,38 @@
+<#
+
+.SYNOPSIS
+Download and install the latest WDK VSIX.
+
+#>
+
+# set uri by resolving amd64 vsix
+$uri = "https://marketplace.visualstudio.com$((Invoke-WebRequest -Uri "https://marketplace.visualstudio.com/items?itemName=DriverDeveloperKits-WDK.WDKVsix").Links | Where-Object outerHTML -like '*(amd64)*' | select -expand href)"
+
+# set download version
+$uri_version = ([regex]'(\d+\.)(\d+\.)(\d+\.)(\d+)').Matches($uri).Value
+
+# set msbuild path
+$msbuild_path = (Resolve-Path "$env:ProgramFiles\Microsoft Visual Studio\2022\*\MSBuild\")
+
+# download vsix, expand, and store the downloaded version extracted from the extension manifest
+"Downloading WDK VSIX version: $uri_version..."
+Invoke-WebRequest -Uri "$uri" -OutFile wdk.zip
+"Expanding WDK VSIX archive..."
+Expand-Archive ".\wdk.zip" .\
+"Extracting version from manifest..."
+$downloaded_version = ([xml](Get-Content .\extension.vsixmanifest)).PackageManifest.Metadata.Identity.Version
+"Downloaded WDK VSIX version: $downloaded_version"
+
+# copy msbuild files, extension manifest, and check installed version from the extension manifest
+"Copying WDK extension files to build path..."
+cp (".\`$MSBuild\*", ".\extension.vsixmanifest") "$msbuild_path" -Recurse -Force
+"Extracting version from copied manifest..."
+$installed_version = ([xml](Get-Content ${msbuild_path}\extension.vsixmanifest)).PackageManifest.Metadata.Identity.Version
+"Installed WDK VSIX Version: $installed_version"
+if (-not ("$downloaded_version" -eq "$installed_version")) {
+ "WDK VSIX installation failed due to version mismatch"
+ exit 1
+}
+
+# set github environment variable for vsix version
+"SAMPLES_VSIX_VERSION=$installed_version" | Out-File -FilePath "$env:GITHUB_ENV" -Append
diff --git a/.github/workflows/Code-Scanning.yml b/.github/workflows/Code-Scanning.yml
index 6915addf..cd0d8abf 100644
--- a/.github/workflows/Code-Scanning.yml
+++ b/.github/workflows/Code-Scanning.yml
@@ -32,31 +32,31 @@ jobs:
language: [ 'cpp' ]
steps:
- - name: Checkout repository
- uses: actions/checkout@v3
- with:
- submodules: 'recursive'
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ with:
+ submodules: 'recursive'
- - name: Initialize CodeQL
- uses: github/codeql-action/init@v3
- with:
- languages: ${{ matrix.language }}
- packs: microsoft/windows-drivers
- - name: Add MSBuild to PATH
- uses: microsoft/[email protected]
+ - name: Install WDK VSIX
+ run: .\.github\scripts\Install-Vsix.ps1
- - name: Retrieve and build all available solutions
- run: |
- .\Build-AllSamples.ps1 -Verbose -ThrottleLimit 1
- env:
- WDS_Configuration: Debug
- WDS_Platform: x64
- WDS_WipeOutputs: ${{ true }}
+ - name: Install Nuget Packages
+ run: nuget restore .\packages.config -PackagesDirectory .\packages\
- - name: Perform CodeQL analysis
- uses: github/codeql-action/analyze@v3
- with:
- category: "/language:${{matrix.language}}"
-
-
-
+ - name: Initialize CodeQL
+ uses: github/codeql-action/init@v3
+ with:
+ languages: ${{ matrix.language }}
+ packs: microsoft/windows-drivers
+
+ - name: Retrieve and build all available solutions
+ run: .\Build-AllSamples.ps1 -Verbose -ThrottleLimit 1
+ env:
+ WDS_Configuration: Debug
+ WDS_Platform: x64
+ WDS_WipeOutputs: ${{ true }}
+
+ - name: Perform CodeQL analysis
+ uses: github/codeql-action/analyze@v3
+ with:
+ category: "/language:${{matrix.language}}"
diff --git a/.github/workflows/ci-pr.yml b/.github/workflows/ci-pr.yml
index fd2b78a6..c04f4adb 100644
--- a/.github/workflows/ci-pr.yml
+++ b/.github/workflows/ci-pr.yml
@@ -18,12 +18,15 @@ jobs:
runs-on: windows-2022
steps:
- name: Check out repository code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
submodules: 'recursive'
- - name: Add MSBuild to PATH
- uses: microsoft/[email protected]
+ - name: Install WDK VSIX
+ run: .\.github\scripts\Install-Vsix.ps1
+
+ - name: Install Nuget Packages
+ run: nuget restore .\packages.config -PackagesDirectory .\packages\
- name: Get changed files
id: get-changed-files
@@ -54,7 +57,7 @@ jobs:
if: always()
steps:
- name: Check out repository code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Retrieve overview reports
uses: actions/download-artifact@v3
@@ -63,8 +66,7 @@ jobs:
path: _logs
- name: Join and generate global reports
- run: |
- .\.github\scripts\Join-CsvReports.ps1
+ run: .\.github\scripts\Join-CsvReports.ps1
- name: Archive global overview build reports
uses: actions/upload-artifact@v3
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c4fd1a2a..c35a81ec 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -18,16 +18,18 @@ jobs:
runs-on: windows-2022
steps:
- name: Check out repository code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
submodules: 'recursive'
- - name: Add MSBuild to PATH
- uses: microsoft/[email protected]
+ - name: Install WDK VSIX
+ run: .\.github\scripts\Install-Vsix.ps1
+
+ - name: Install Nuget Packages
+ run: nuget restore .\packages.config -PackagesDirectory .\packages\
- name: Retrieve and build all available solutions
- run: |
- .\Build-AllSamples.ps1 -Verbose
+ run: .\Build-AllSamples.ps1 -Verbose
env:
WDS_Configuration: ${{ matrix.configuration }}
WDS_Platform: ${{ matrix.platform }}
@@ -47,7 +49,7 @@ jobs:
if: always()
steps:
- name: Check out repository code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Retrieve overview reports
uses: actions/download-artifact@v3
@@ -56,8 +58,7 @@ jobs:
path: _logs
- name: Join and generate global reports
- run: |
- .\.github\scripts\Join-CsvReports.ps1
+ run: .\.github\scripts\Join-CsvReports.ps1
- name: Archive global overview build reports
uses: actions/upload-artifact@v3