Skip to content

Commit 44780a8

Browse files
Spruill-1Copilot
andcommitted
Bump version to 1.6.3 (CI bootstrap restore fix)
msbuild /t:Restore on a .slnx silently no-ops on packages.config- style references (it only handles PackageReference by default). Switch Bootstrap.ps1 to call nuget.exe restore <packages.config> directly when its on PATH (which it is in CI after Setup NuGet); falls back to msbuild RestorePackagesConfig=true otherwise. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 7c1dc3b commit 44780a8

4 files changed

Lines changed: 32 additions & 7 deletions

File tree

Bootstrap.ps1

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,34 @@ try {
3636
Write-Host "[2/4] Ensuring third_party/exprtk/exprtk.hpp..."
3737
& "$Repo\scripts\EnsureExprTk.ps1" -TargetDir "$Repo\third_party\exprtk"
3838

39-
# 3. NuGet restore (packages.config style).
39+
# 3. NuGet restore.
40+
# The repo uses packages.config (NOT PackageReference). MSBuild's
41+
# /t:Restore target on a .slnx silently no-ops on packages.config
42+
# style ("Nothing to do. None of the projects specified contain
43+
# packages to restore.") even though the manifest is right there.
44+
# Use nuget.exe directly against the root packages.config -- that
45+
# path explicitly supports packages.config and is what NuGet
46+
# documents for this scenario. Falls back to msbuild if nuget.exe
47+
# isn't on PATH.
4048
Write-Host "[3/4] Restoring NuGet packages..."
4149
$msbuild = "${env:ProgramFiles}\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe"
4250
if (-not (Test-Path $msbuild)) {
4351
$msbuild = 'msbuild' # fall back to PATH
4452
}
45-
& $msbuild ShaderLab.slnx /t:Restore /p:Configuration=$Configuration /p:Platform=$Platform /v:minimal /m /nologo
46-
if ($LASTEXITCODE -ne 0) {
47-
throw "NuGet restore failed (exit $LASTEXITCODE)"
53+
54+
$nuget = Get-Command nuget.exe -ErrorAction SilentlyContinue
55+
if ($nuget) {
56+
& $nuget.Source restore "$Repo\packages.config" -PackagesDirectory "$Repo\packages" -NonInteractive
57+
if ($LASTEXITCODE -ne 0) {
58+
throw "NuGet restore failed (exit $LASTEXITCODE)"
59+
}
60+
} else {
61+
# MSBuild fallback path. Requires VS to be configured with the
62+
# NuGet packages.config restore feature; not the default in CI.
63+
& $msbuild ShaderLab.slnx /t:Restore /p:RestorePackagesConfig=true /p:Configuration=$Configuration /p:Platform=$Platform /v:minimal /m /nologo
64+
if ($LASTEXITCODE -ne 0) {
65+
throw "NuGet restore failed (exit $LASTEXITCODE)"
66+
}
4867
}
4968

5069
# 4. Smoke build (optional, off by default).

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
55

66
## [Unreleased]
77

8+
## [1.6.3] - 2026-05-08
9+
10+
### Fixed
11+
12+
- **CI Bootstrap.ps1: package restore was a silent no-op on packages.config.** `msbuild /t:Restore` against `ShaderLab.slnx` reports "Nothing to do. None of the projects specified contain packages to restore." for packages.config-style references — it only handles PackageReference by default. The downstream build then failed because `Microsoft.Windows.CppWinRT.props` (from a missing package) couldn't be imported. Switched Bootstrap.ps1 to call `nuget.exe restore <packages.config> -PackagesDirectory packages` directly when nuget.exe is on PATH (which it is in the CI smoke job after `Setup NuGet`); falls back to `msbuild /t:Restore /p:RestorePackagesConfig=true` when not. Also fixes the same shape of bug on `EnsureExprTk.ps1`'s missing `TargetDir` arg (folded into 1.6.2 conceptually but only manifested after the cert fix unblocked CI past step 1).
13+
814
## [1.6.2] - 2026-05-08
915

1016
### Fixed

Package.appxmanifest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<Identity
1010
Name="ShaderLab"
1111
Publisher="CN=ShaderLab"
12-
Version="1.6.2.0" />
12+
Version="1.6.3.0" />
1313

1414
<mp:PhoneIdentity PhoneProductId="a1b2c3d4-e5f6-7890-abcd-ef1234567890" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
1515

Version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ namespace ShaderLab
1414
{
1515
constexpr uint32_t VersionMajor = 1;
1616
constexpr uint32_t VersionMinor = 6;
17-
constexpr uint32_t VersionPatch = 2;
17+
constexpr uint32_t VersionPatch = 3;
1818

1919
// Human-readable version string.
20-
constexpr const wchar_t* VersionString = L"1.6.2";
20+
constexpr const wchar_t* VersionString = L"1.6.3";
2121

2222
// Graph format version. Increment when serialization format changes.
2323
// Graphs saved with a higher format version cannot be loaded by older apps.

0 commit comments

Comments
 (0)