diff options
| author | 5an7y <[email protected]> | 2026-06-22 17:31:47 -0700 |
|---|---|---|
| committer | 5an7y <[email protected]> | 2026-06-22 17:31:47 -0700 |
| commit | be91bbd2dc4478a57a4007fc32fe320da79f85e1 (patch) | |
| tree | ef9db4a561de4c3af23d70bbfb1570fdf5ef474b /.github/workflows | |
| parent | 6c6c308f1fe6ec1ce2ce7d0d7b3b455305a4a346 (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.yml | 14 | ||||
| -rw-r--r-- | .github/workflows/ci.yml | 14 |
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: |
