<feed xmlns='http://www.w3.org/2005/Atom'>
<title>windows-driver-samples.git/Build-Samples.ps1, branch GerritsMSFTSimpleMediaPlayerCompilerUpdate</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/windows-driver-samples.git/atom/Build-Samples.ps1?h=GerritsMSFTSimpleMediaPlayerCompilerUpdate</id>
<link rel='self' href='http://cgit.235523.xyz/windows-driver-samples.git/atom/Build-Samples.ps1?h=GerritsMSFTSimpleMediaPlayerCompilerUpdate'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/'/>
<updated>2026-04-02T22:36:34Z</updated>
<entry>
<title>refactor: consolidate VS detection into Resolve-BuildEnvironment</title>
<updated>2026-04-02T22:36:34Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-04-02T22:36:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=1a672e37d6773fa8324d358d0191f4e6fce19d47'/>
<id>urn:sha1:1a672e37d6773fa8324d358d0191f4e6fce19d47</id>
<content type='text'>
- Remove Initialize-DevShell as a separate step; VS Dev Shell setup is
  now fully owned by Resolve-BuildEnvironment alongside mode detection.
  This eliminates the ordering problem where vswhere ran unconditionally
  before knowing whether the environment was EWDK (which needs no VS).

- Fix EWDK regression: EWDK mode now returns early before any vswhere
  or Dev Shell logic is invoked.

- Fix Auto+WDK from plain terminal: the old isWdk guard required
  UCRTVersion to be set before the Dev Shell was opened, making Auto
  detection fail on a clean terminal. Removed the guard; the code now
  falls through to Dev Shell setup and validates UCRTVersion afterward.

- Fix VSINSTALLDIR trailing-backslash mismatch: when the Dev Shell is
  already active, VSINSTALLDIR ends with '\' while vswhere installationPath
  does not. Added TrimEnd('\') on both sides before comparing.

- Renumber Build-Samples.ps1 step comments (old Step 5 'Detect Build
  Environment' merged into Step 1; remaining steps renumbered).

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>refactor: remove Github RunMode</title>
<updated>2026-03-31T23:22:25Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-03-31T23:02:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=8508ffaaf97a200fe6e8588333c6ab1383687d4f'/>
<id>urn:sha1:8508ffaaf97a200fe6e8588333c6ab1383687d4f</id>
<content type='text'>
NuGet mode works correctly for GitHub Actions (the HTML open is already
guarded by [Environment]::UserInteractive which is false on CI runners).
The Github mode was redundant and is removed to keep the interface clean.

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>fix: detect WDK component version from the selected VS installation</title>
<updated>2026-03-31T23:22:25Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-03-31T22:58:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=12f94c8573a5ef79abf7842d3ea0faf458c3f733'/>
<id>urn:sha1:12f94c8573a5ef79abf7842d3ea0faf458c3f733</id>
<content type='text'>
Previously, WdkVsComponentVersion was read from the global ProgramData
package cache, which is shared across all VS installations and could
return the wrong version when multiple installs are present.

- Add -include packages to the vswhere call in Get-VsInstallationsWithWdk
  so each returned installation includes its WdkVsComponentVersion
- Initialize-DevShell now returns the selected installation object
- Resolve-BuildEnvironment accepts an optional -VsInstallation parameter;
  when provided it reuses the already-selected install (no second prompt);
  when absent (Dev Shell was pre-active) it calls Select-VsInstallation once
- Build-Samples.ps1 threads the result of Initialize-DevShell through to
  Resolve-BuildEnvironment

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>Extract environment helper functions into BuildEnvironment.ps1</title>
<updated>2026-03-31T23:22:25Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-03-31T22:14:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=e021472d548bb26ff390b6b90b42caf21def7024'/>
<id>urn:sha1:e021472d548bb26ff390b6b90b42caf21def7024</id>
<content type='text'>
Move Get-VsInstallationsWithWdk, Select-VsInstallation, Initialize-DevShell,
Assert-MsBuildAvailable, and Resolve-BuildEnvironment out of Build-Samples.ps1
into a new BuildEnvironment.ps1 helper file. Build-Samples.ps1 dot-sources it
via PSScriptRoot, consistent with the existing ListAllSamples.ps1 pattern.

Reduces Build-Samples.ps1 from 733 to 565 lines with no behaviour change.

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>Add -RunMode flag, VS detection via vswhere, and multi-install selection</title>
<updated>2026-03-31T23:22:25Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-03-31T22:12:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=35d8855033e29e7025c3794c73093df24f506640'/>
<id>urn:sha1:35d8855033e29e7025c3794c73093df24f506640</id>
<content type='text'>
- Add -RunMode parameter (Auto/WDK/NuGet/EWDK/Github) defaulting to Auto
- Auto-detection priority order: NuGet -&gt; EWDK -&gt; WDK
- Github mode: same as NuGet but suppresses opening the HTML report
- Add Get-VsInstallationsWithWdk: uses vswhere.exe from its fixed ProgramFiles
  path to find VS installs with the Microsoft.Windows.DriverKit component
- Add Select-VsInstallation: errors if none found, verbose-logs if one found,
  presents a numbered interactive menu if multiple found
- Replace Initialize-DevShell glob-based blind pick with the new helpers
- Remove GITHUB_REPOSITORY auto-detect branch; replace HTML open guard with
  buildEnv.IsGithubMode
- Update comment-based help with -RunMode parameter docs and examples

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>Support wildcard patterns in -Samples parameter</title>
<updated>2026-03-30T22:43:16Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-03-30T22:43:16Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=83cfa72cc265ab052100563cfc2e8c9d9b6020ba'/>
<id>urn:sha1:83cfa72cc265ab052100563cfc2e8c9d9b6020ba</id>
<content type='text'>
- When -Samples contains wildcards (* or ?), discover all samples first
  then filter with -like (same pattern style as exclusions.csv)
- Exact sample names still work as before without discovery overhead
- Update parameter docs, examples, and Building-Locally.md
</content>
</entry>
<entry>
<title>Merge Build-Sample.ps1 into Build-Samples.ps1 as internal function</title>
<updated>2026-03-30T22:32:35Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-03-30T22:32:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=bc6b2708d9d762dde716a2af7c8fa08534c1afcc'/>
<id>urn:sha1:bc6b2708d9d762dde716a2af7c8fa08534c1afcc</id>
<content type='text'>
- Inline Build-Sample.ps1 logic as Build-SingleSample function in Build-Samples.ps1
- Pass function definition into parallel runspaces via $using: pattern
- Replace exit codes with return values for in-process execution
- Delete Build-Sample.ps1 (no longer needed as a separate script)
- Update Build-ChangedSamples.ps1 trigger file list
</content>
</entry>
<entry>
<title>Remove Samples.txt: discover samples dynamically via ListAllSamples</title>
<updated>2026-03-27T23:04:47Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-03-27T23:04:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=302d18984142a22d5195105fe0347eb5b145d859'/>
<id>urn:sha1:302d18984142a22d5195105fe0347eb5b145d859</id>
<content type='text'>
- ListAllSamples.ps1: output sorted sample names to stdout instead of
  writing Samples.txt. The file output is replaced with Write-Output
  so callers can capture results via pipeline or command substitution.
- Build-Samples.ps1: remove SampleListPath parameter. Default discovery
  now calls ListAllSamples.ps1 at runtime and consumes its stdout.
  Explicit -Samples array still works and is sorted alphabetically.
  Both paths guarantee a consistent alphabetical sample ordering.
- Samples.txt: deleted. No longer needed as a pre-generated artifact.

WDS_TestPass.cs is unaffected - it only passes -LogFilesDirectory and
-InfOptions, neither of which changed.

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>Refactor Build-Samples.ps1 and fix ListAllSamples NuGet filter</title>
<updated>2026-03-20T22:09:27Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-03-20T22:09:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=9cd8d031aa48669e9e3cc11886d856ce52d6ce20'/>
<id>urn:sha1:9cd8d031aa48669e9e3cc11886d856ce52d6ce20</id>
<content type='text'>
Build-Samples.ps1:
- Extract helper functions for readability (Resolve-BuildEnvironment,
  Import-SampleExclusions, Initialize-DevShell, Assert-MsBuildAvailable,
  Get-DiskFreeGB)
- Add #Requires -Version 7.0
- Fix build_number to explicit [int] cast (was string from regex)
- Fix multi-socket CPU handling (sum LogicalProcessors)
- Fix NuGet path detection to use absolute repo root path
- Support wildcard patterns in exclusion paths (-like vs ContainsKey)
- Guard Invoke-Item for CI/automation (skip in non-interactive sessions)
- Validate sample directories exist before building
- Wrap Get-Volume in try/catch for UNC/network drives
- Use Write-Host with carriage return for progress (Write-Progress
  unreliable in -Parallel runspaces)
- Clean up variable names and add section comments
- Use switch instead of if/elseif for exit codes

ListAllSamples.ps1:
- Fix NuGet packages filter regex to catch packages anywhere in path
  (was only matching paths starting with packages)

Samples.txt:
- Regenerated with fixed filter, remove BOM

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>Add Build-Samples.ps1, ListAllSamples.ps1, fix Build-Sample retry bug</title>
<updated>2026-03-19T22:36:29Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-03-19T22:36:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=1c9d80c06621274f3c3db9315678695de9c4514e'/>
<id>urn:sha1:1c9d80c06621274f3c3db9315678695de9c4514e</id>
<content type='text'>
- ListAllSamples.ps1: Enumerates .sln files and writes Samples.txt
- Build-Samples.ps1: Unified build script reading Samples.txt with
  exclusion support, parallel execution, and report generation
- Build-Sample.ps1: Fix retry bug where all-fail exits 0 instead of 1

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
</feed>
