Conversation
…tery status checks
…driver pack conversion scripts feat(tests): add tests for OSDCloud driver pack conversion and compatibility catalog
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Undefined commands, inconsistent cache state, and compatibility regressions currently break key USB-cache and driver-pack workflows.
Review effort: Balanced
Findings: 2
Open (13)
Cache initializer populates the wrong global variable · New Appended marker can merge with the previous command · New Setup script failures are misreported as image failures · New Setup script failures are misreported as image failures · New Setup script failures are misreported as image failures · New Setup script failures are misreported as image failures · New Setup script failures are misreported as image failures · New Migration does not preserve legacy driver-pack GUIDs · New Setup script failures are misreported as image failures · New Setup script failures are misreported as image failures · New Missing required help metadata · New Help documentation omits Panasonic routing · New 26H2 sample uses outdated payload URL · New
What changed in this PR
Adds Windows 11 26H2 preview support while modernizing battery detection, driver-pack compatibility, setup scripts, downloads, and USB caching.
Changes:
- Updates deployment defaults, catalogs, documentation, and release metadata for 26H2.
- Consolidates download, battery, cache, and setup-script helpers.
- Migrates driver-pack discovery to bundled core catalogs with tests.
| File | Description |
|---|---|
README.md |
Updates preview version. |
Public/Start-OSDCloudGUIDev.ps1 |
Uses native battery detection. |
Public/Start-OSDCloudGUI.ps1 |
Uses native battery detection. |
Public/Start-OSDCloudCLI.ps1 |
Adds 26H2 CLI support. |
Public/Start-OSDCloud.ps1 |
Adds 26H2 deployment defaults. |
Public/OSDCloudIPU/New-OSDCloudOSWimFile.ps1 |
Adds 26H2 media targets. |
Public/OSDCloud/OSDCloudUSB.ps1 |
Adds 26H2 USB options. |
Public/OSDCloud/OSDCloudRE.ps1 |
Uses native battery detection. |
Public/OSDCloud/OSDCloudDriverPack.Tests.ps1 |
Tests public driver-pack behavior. |
Public/OSDCloud/OSDCloudDriverPack.ps1 |
Uses bundled compatibility catalog. |
Public/OSDCloud.ps1 |
Initializes setup scripts after image application. |
Public/Functions/Save-FeatureUpdate.ps1 |
Defaults feature updates to 26H2. |
Public/Functions/Get-FeatureUpdate.ps1 |
Adds 26H2 feature-update selection. |
Public/core-recast/Start-RecastOSDCloudCLI.ps1 |
Defaults Recast CLI to 26H2. |
Private/Test-OSDIsOnBattery.ps1 |
Adds native battery-state detection. |
Private/steps-osd/Step-OSDCloudSaveOperatingSystemCloudObject.ps1 |
Uses consolidated downloader. |
Private/steps-osd/Step-OSDCloudSaveDriverPackCloudObject.ps1 |
Uses consolidated downloader. |
Private/steps-osd/Step-OSDCloudExpandWindowsImage.ps1 |
Initializes setup command files. |
Private/steps-osd/Initialize-OSDCloudSetupScripts.Tests.ps1 |
Tests setup-script initialization. |
Private/steps-osd/Initialize-OSDCloudSetupScripts.ps1 |
Creates setup command files. |
Private/Invoke-OSDCloudGUIDev.ps1 |
Updates battery and setup handling. |
Private/Invoke-OSDCloudGUI.ps1 |
Updates battery and setup handling. |
Private/Invoke-OSDCloudCLI.ps1 |
Updates battery and setup handling. |
Private/Invoke-OSDCloudAzure.ps1 |
Updates battery and setup handling. |
Private/core/Invoke-RecastOSDDownloadFile.ps1 |
Renames and hardens downloader. |
Private/core-operatingsystem/Test-OSDCoreOperatingSystemCloudObject.ps1 |
Adds URL reachability validation. |
Private/core-operatingsystem/Set-OSDCoreOperatingSystemCloudObject.ps1 |
Updates 26H2 example. |
Private/core-operatingsystem/Get-OSDCoreOperatingSystemCacheObject.ps1 |
Adds OS cache lookup. |
Private/core-operatingsystem/dev/Get-OSDCloudDefaultOS.ps1 |
Updates sample 26H2 metadata. |
Private/core-driverpack/Test-OSDCoreDriverPackCloudObject.ps1 |
Adds driver URL validation. |
Private/core-driverpack/Initialize-ModuleCoreDriverPacks.ps1 |
Adds Panasonic catalog routing. |
Private/core-driverpack/Get-OSDCoreDriverPackCatalogSurface.ps1 |
Corrects local-only catalog behavior. |
Private/core-driverpack/Get-OSDCoreDriverPackCacheObject.ps1 |
Adds driver cache lookup. |
Private/core-driverpack/Get-OSDCloudDriverPackCompatibilityCatalog.Tests.ps1 |
Tests catalog aggregation. |
Private/core-driverpack/Get-OSDCloudDriverPackCompatibilityCatalog.ps1 |
Aggregates bundled catalogs. |
Private/core-driverpack/ConvertTo-OSDCloudDriverPack.Tests.ps1 |
Tests compatibility conversion. |
Private/core-driverpack/ConvertTo-OSDCloudDriverPack.ps1 |
Projects core driver metadata. |
Private/core-dev/Start-RecastOSDCloudGUI.ps1 |
Defaults Recast GUI to 26H2. |
Private/core-dev/Invoke-RecastOSDCloud.ps1 |
Initializes setup scripts. |
Private/core-cache/Update-RecastOSDCloudUSBCache.ps1 |
Expands USB cache workflow. |
Private/core-cache/Test-OSDCoreCacheUSB.ps1 |
Detects USB-backed caches. |
Private/core-cache/Initialize-OSDCoreCache.ps1 |
Adds cache initialization. |
Private/core-cache/Get-OSDCoreCacheUSBPath.ps1 |
Locates eligible USB caches. |
Private/core-cache/Get-OSDCoreCacheDrive.ps1 |
Enumerates cache-drive metadata. |
Private/core-cache/Get-OSDCoreCacheContent.ps1 |
Renames exported cache inventory. |
OSD.psm1 |
Excludes tests during module loading. |
OSD.psd1 |
Sets preview release metadata. |
OSD.json |
Updates default selections to 26H2. |
docs/Start-RecastOSDCloudCLI.md |
Documents 26H2 default. |
docs/Start-OSDCloudCLI.md |
Updates CLI examples. |
docs/Start-OSDCloud.md |
Updates deployment examples. |
docs/Save-FeatureUpdate.md |
Documents 26H2 defaults. |
docs/New-OSDCloudOSWimFile.md |
Documents 26H2 media creation. |
docs/Get-FeatureUpdate.md |
Documents 26H2 defaults. |
CHANGELOG.md |
Records preview release changes. |
catalogs/driverpack/panasonic.json |
Removes legacy Panasonic catalog. |
catalogs/driverpack/microsoft.xml |
Removes legacy Surface XML catalog. |
catalogs/driverpack/microsoft.json |
Removes legacy Surface JSON catalog. |
catalogs/driverpack/default.json |
Removes legacy generic catalog. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+30
to
+31
| $global:OSDCoreCache = @() | ||
| $global:OSDCoreCache = Get-OSDCoreCacheContent |
| $marker = ":: OSDCloud $(Get-Date -format s)" | ||
| foreach ($fileName in @('SetupComplete.cmd', 'OOBE.cmd')) { | ||
| $filePath = Join-Path -Path $scriptsPath -ChildPath $fileName | ||
| $marker | Out-File -FilePath $filePath -Append -Encoding ascii -Width 2000 -Force -ErrorAction Stop |
| Initialize-OSDCloudSetupScripts | ||
| } | ||
| catch { | ||
| Write-Warning "[$(Get-Date -format s)] Expand-WindowsImage failed." |
| Initialize-OSDCloudSetupScripts | ||
| } | ||
| catch { | ||
| Write-Warning "[$(Get-Date -format s)] Expand-WindowsImage failed." |
| Initialize-OSDCloudSetupScripts | ||
| } | ||
| catch { | ||
| Write-Warning "[$(Get-Date -format s)] Expand-WindowsImage failed." |
| Initialize-OSDCloudSetupScripts | ||
| } | ||
| catch { | ||
| throw "[$(Get-Date -format s)] Expand-WindowsImage failed. $_" |
| Initialize-OSDCloudSetupScripts | ||
| } | ||
| catch { | ||
| Write-Warning "[$(Get-Date -format s)] Expand-WindowsImage failed." |
Comment on lines
+22
to
+24
| .NOTES | ||
| Depends on Get-OSDCoreCacheContent being available in the session. | ||
| #> |
| The device manufacturer name. Defaults to the value from $global:OSDCoreDevice.OSDManufacturer. | ||
| Supported values: Dell, HP, Lenovo, Microsoft, or any other value will use the Default catalog. | ||
|
|
||
| .PARAMETER GenericDriverPackJson |
| FileName : 26200.7462.251207-0044.25h2_ge_release_svc_refresh_CLIENTCONSUMER_RET_x64FRE_en-gb.esd | ||
| Sha256 : 6c5d2f9a2916b3c580bf0f7b510535abfa3f192bdf638910661e343c3c9dd226 | ||
| FileName : 26300.9457.260913-1737.26h2_ge_release_svc_refresh_CLIENTCONSUMER_RET_x64FRE_en-gb.esd | ||
| FilePath : http://dl.delivery.mp.microsoft.com/filestreamingservice/files/79a3f5e0-d04d-4689-a5d4-3ea35f8b189a/26200.7462.251207-0044.25h2_ge_release_svc_refresh_CLIENTCONSUMER_RET_x64FRE_en-gb.esd |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
26.9.30-previewreleaseValidation
git diff --checkpasses