summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
author5an7y <[email protected]>2026-06-22 17:31:47 -0700
committer5an7y <[email protected]>2026-06-22 17:31:47 -0700
commitbe91bbd2dc4478a57a4007fc32fe320da79f85e1 (patch)
treeef9db4a561de4c3af23d70bbfb1570fdf5ef474b /.github/workflows
parent6c6c308f1fe6ec1ce2ce7d0d7b3b455305a4a346 (diff)
Add NT-version-scoped exclusions and a parallel multi-version CI matrix
Exclusions: - Add MinNtTargetVersion/MaxNtTargetVersion columns to exclusions.csv so a row can apply only within an _NT_TARGET_VERSION build-number range (parsed from -NtTargetVersion, e.g. 22000 from 10.0.22000). Import-SampleExclusions filters this range at load time alongside the existing build-number range; blank = unbounded. - Exclude the samples that fail only when linking against older library sets, with the reason taken from the build logs: audio.sysvad (<=22000, KSJACK_DESCRIPTION3); network.netadaptercx.netvadapter and network.wlan.wificx (<=22621, NDIS/DDI version); powerlimit.plclient/plpolicy (<=22621, POWER_LIMIT_ATTRIBUTES); storage classpnp/storahci (<=22621, STOR_ADDRESS_TYPE_NVME, Debug-only) and storage.msdsm (Debug|x64). usb.usbview is intentionally NOT excluded: it fails on every version for a known host reason (missing .NET 4.7.2/4.8.1 targeting packs). CI: - ci.yml and ci-pr.yml: add _NT_TARGET_VERSION as a manual matrix axis (4 newest versions, latest-first) so each version x configuration x platform runs on its own parallel runner. - Build-Samples.ps1 and Join-CsvReports.ps1 now write an easy-to-scan Markdown summary to GITHUB_STEP_SUMMARY: each build job shows counts and a failures table with the first error; the report job shows per-version totals and a consolidated failures list, plus the colour-coded sample x version HTML/CSV overview. Co-authored-by: Copilot <[email protected]>
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/ci-pr.yml14
-rw-r--r--.github/workflows/ci.yml14
2 files changed, 22 insertions, 6 deletions
diff --git a/.github/workflows/ci-pr.yml b/.github/workflows/ci-pr.yml
index 6719270e..7983c8dd 100644
--- a/.github/workflows/ci-pr.yml
+++ b/.github/workflows/ci-pr.yml
@@ -9,12 +9,19 @@ on:
- 'LICENSE'
jobs:
build:
- name: Build driver samples
+ name: build ${{ matrix.nt.tag }} ${{ matrix.configuration }} ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
configuration: [Debug, Release]
platform: [x64, arm64]
+ # _NT_TARGET_VERSION = the WDK library version drivers link against (newest first).
+ # Each { version, tag } runs as its own parallel job; trim this list to reduce CI load.
+ nt:
+ - { version: '10.0.28000', tag: '28000' }
+ - { version: '10.0.26100', tag: '26100' }
+ - { version: '10.0.22621', tag: '22621' }
+ - { version: '10.0.22000', tag: '22000' }
runs-on: windows-2025-vs2026
steps:
- name: Check out repository code
@@ -38,13 +45,14 @@ jobs:
env:
WDS_Configuration: ${{ matrix.configuration }}
WDS_Platform: ${{ matrix.platform }}
- WDS_ReportFileName: _overview.${{ matrix.configuration }}.${{ matrix.platform }}
+ WDS_NtTargetVersion: ${{ matrix.nt.version }}
+ WDS_ReportFileName: _overview.${{ matrix.nt.tag }}.${{ matrix.configuration }}.${{ matrix.platform }}
- name: Archive build logs and overview build reports
uses: actions/upload-artifact@v4
if: always()
with:
- name: logs-${{ matrix.configuration }}-${{ matrix.platform }}
+ name: logs-${{ matrix.nt.tag }}-${{ matrix.configuration }}-${{ matrix.platform }}
path: _logs
report:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ca2696d8..022ae4f6 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -12,12 +12,19 @@ on:
- cron: '0 8 * * 6'
jobs:
build:
- name: Build driver samples
+ name: build ${{ matrix.nt.tag }} ${{ matrix.configuration }} ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
configuration: [Debug, Release]
platform: [x64, arm64]
+ # _NT_TARGET_VERSION = the WDK library version drivers link against (newest first).
+ # Each { version, tag } runs as its own parallel job; trim this list to reduce CI load.
+ nt:
+ - { version: '10.0.28000', tag: '28000' }
+ - { version: '10.0.26100', tag: '26100' }
+ - { version: '10.0.22621', tag: '22621' }
+ - { version: '10.0.22000', tag: '22000' }
runs-on: windows-2025-vs2026
steps:
- name: Check out repository code
@@ -33,13 +40,14 @@ jobs:
env:
WDS_Configuration: ${{ matrix.configuration }}
WDS_Platform: ${{ matrix.platform }}
- WDS_ReportFileName: _overview.${{ matrix.configuration }}.${{ matrix.platform }}
+ WDS_NtTargetVersion: ${{ matrix.nt.version }}
+ WDS_ReportFileName: _overview.${{ matrix.nt.tag }}.${{ matrix.configuration }}.${{ matrix.platform }}
- name: Archive build logs and overview build reports
uses: actions/upload-artifact@v4
if: always()
with:
- name: logs-${{ matrix.configuration }}-${{ matrix.platform }}
+ name: logs-${{ matrix.nt.tag }}-${{ matrix.configuration }}-${{ matrix.platform }}
path: _logs
report: