Skip to content

chore(deps): .NET SDK 10.0.401, CI actions and NuGet refresh - #237

Merged
YoungSx merged 11 commits into
mainfrom
chore/update-dependencies
Oct 8, 2026
Merged

YoungSx merged 11 commits into
mainfrom
chore/update-dependencies

Conversation

@YoungSx

@YoungSx YoungSx commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Toolchain: .NET SDK 10.0.302 → 10.0.401; all workflows read the root global.json via setup-dotnet global-json-file. Removed the duplicate SalmonEgg/global.json so every directory shares one SDK/Uno.Sdk pin.
  • Runners: iOS gates → xcode-27 (required by the 10.0.401 Apple workload; image is public preview), Windows → windows-2025-vs2026.
  • Actions (SHA-pinned): checkout v7.0.1, setup-dotnet v6.0.0, upload-artifact v7.0.2, download-artifact v8.0.2, codeql-action v4.38.2; published bridge gate on acpremote 1.10.0.
  • NuGet: Microsoft.Graph 6.8.0, MSAL 4.90.1, WindowsAppSDK 1.8.260921001 (WinUI stays 1.8.260803003, the nuspec-pinned exact version), Porta.Pty 2.2.3, Websocket.Client 5.5.1, coverlet.MTP 10.1.0, Moq 4.21.0.
  • Docs: README (zh/en), BUILD_GUIDE, release-guide updated to the new pins.

Windows App SDK 2.x is intentionally deferred: it needs Uno 6.7 + MSIX validation on Windows.

Tested (local Linux arm64, SDK 10.0.401)

  • Full test suite: 6315 passed / 0 failed / 7 skipped

  • Windows CI-form MSIX restore: resolves WindowsAppSDK 1.8.260921001 + WinUI 1.8.260803003

  • WASM smoke gates (Debug, as in CI): all passed

  • coverlet.MTP 10.1.0 emits cobertura reports

  • run-acp-published-bridge-gate.py with acpremote 1.10.0: passed

  • Clean SDK 10.0.401 install (no workloads): builds succeed; workloadVersion in global.json reproduces the MSB4242 seen in the first CI run, so it is not pinned

Not verified locally

  • MSIX packaging, iOS (Xcode 27 runner) and Android native builds — rely on CI gates.

🤖 Generated with Claude Code

YoungSx and others added 2 commits October 7, 2026 15:17
Pin the SDK to 10.0.401 with an explicit workloadVersion 10.0.401.1 so
the workload set no longer drifts independently of the SDK. Every
workflow now reads the same root global.json through setup-dotnet's
global-json-file input instead of repeating a 10.0.3xx channel.

SalmonEgg/global.json only duplicated the Uno.Sdk pin; MSBuild picks the
nearest file, so the two copies could silently split the GUI project and
src/tests onto different SDKs. It is removed and all directories share
the root file.

The stable Apple workload for 10.0.401 requires Xcode 27, so the iOS
gates move to the xcode-27 runner (public preview) and the Windows jobs
to windows-2025-vs2026 for Visual Studio 18.9.3+.

Actions are bumped to checkout v7.0.1, setup-dotnet v6.0.0,
upload-artifact v7.0.2, download-artifact v8.0.2 and codeql-action
v4.38.2, all pinned by SHA. The published bridge gate moves to
acpremote 1.10.0. Docs (README zh/en, BUILD_GUIDE, release-guide) and
the workflow guard tests follow the new pins.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Microsoft.Graph 6.7.0 -> 6.8.0
- Microsoft.Identity.Client(.Extensions.Msal) 4.90.0 -> 4.90.1
- Microsoft.WindowsAppSDK 1.8.260804001 -> 1.8.260921001; WinUI stays at
  1.8.260803003, the exact version this meta-package pins in its nuspec
- Porta.Pty 2.2.2 -> 2.2.3, Websocket.Client 5.5.0 -> 5.5.1
- coverlet.MTP 10.0.1 -> 10.1.0, Moq 4.20.72 -> 4.21.0

Windows App SDK 2.x is intentionally deferred until Uno 6.7 and MSIX
packaging are validated on it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
salmonegg Ready Ready Preview Oct 7, 2026 8:49pm UTC

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-07T19:36:03.293745Z 6c45879 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3bc66e9ce1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

run: |
python3 -m venv "$RUNNER_TEMP/acp-bridge-venv"
"$RUNNER_TEMP/acp-bridge-venv/bin/pip" install acpremote==1.9.0
"$RUNNER_TEMP/acp-bridge-venv/bin/pip" install acpremote==1.10.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Pin acpremote to an available release

acpremote==1.10.0 is not published on PyPI—the project's release history currently ends at 1.9.0—so this pip install fails before the published-bridge cancellation gate can run on every CI invocation. Pin this back to an existing release (or publish/configure the intended index) so the required transport validation remains executable. PyPI release history

Useful? React with 👍 / 👎.

sdk.workloadVersion makes the MSBuild workload resolver require that
exact workload set, so every project fails with MSB4242 on a fresh runner
that has not installed it, including jobs that need no workload at all.
It also rejects the --skip-manifest-update flag our workload install
steps use. Workload manifests follow the SDK feature band again, as on
main; BUILD_GUIDE records why the field is intentionally absent.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Uno.Sdk 6.7.30 still defaults SupportedOSPlatformVersion to 14.2 for iOS,
but the Xcode 27 Apple workload (Microsoft.iOS.Sdk 27.0) that ships with
the 10.0.401 SDK band fails the build below 15.0. iOS 15 runs on exactly
the devices iOS 14 did, so no supported hardware is dropped.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 63b291af17

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

# https://github.com/dotnet/macios/releases/tag/dotnet-10.0.1xx-xcode26.5-10284
dotnet workload install ios --version 10.0.300.3 --disable-parallel --no-http-cache
# https://github.com/dotnet/macios/releases/tag/dotnet-10.0.1xx-xcode27.0-10722
dotnet workload install ios --disable-parallel --no-http-cache

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Pin the installed-iOS workload selection

When this acceptance job runs after a newer iOS manifest is advertised, this bare install downloads that newer manifest by default; dotnet workload install only avoids manifest downloads with --skip-manifest-update. global.json pins only the SDK, while this workflow fixes Xcode at 27.0, so a later workload can become incompatible and make the installed-iOS gate fail independently of the PR. Add --skip-manifest-update as in the platform iOS gate (or explicitly install the matching workload set) to keep the SDK, workload, and Xcode as one toolchain contract.

AGENTS.md reference: AGENTS.md:L104-L104

Useful? React with 👍 / 👎.

YoungSx and others added 2 commits October 7, 2026 16:49
The xcode-27 runner image does not register Simulator with LaunchServices,
so 'open -a Simulator' fails before the iOS acceptance run can install the app.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Xcode 27 removed Developer/Applications/Simulator.app and ships
Contents/Applications/DeviceHub.app instead, so the path lookup from the
previous commit still found nothing. Accept either layout and list the
apps actually present when neither exists.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The Xcode 27 host is slower than macos-26, where installing the Debug
interpreter bundle already took about 130 seconds, so the default
180-second command timeout expired mid-install.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
On the Xcode 27 / iOS 27 simulator the product logs its startup marker and
then nothing else, while the same flow on iOS 26.5 logs the next startup
step within two seconds. The app log cannot say which thread or frame is
stuck. When the gate fails after install, take a host stack sample of the
product process, the device's unified log for it, and any crash report
before cleanup terminates it, and upload them.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
YoungSx and others added 2 commits October 7, 2026 20:11
The 10.0.401 feature band ships two workload sets. 10.0.401.0 carries the
Apple workload 26.5.10318, which requires Xcode 26.6; 10.0.401.1 moves to
27.0.10722, which requires Xcode 27. Installing without a version picked
the newest set and forced both iOS jobs onto the xcode-27 public-preview
image, where the iOS 27 simulator took over five minutes to install the
app and then wedged simctl and the product's own startup.

Pin --version 10.0.401 on the two iOS workload installs, the same
per-job pin main used with 10.0.300.3, and return to the GA macos-26
image with its Xcode 26.6. The guard test now requires the pin.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
That floor was only required by the Xcode 27 Apple workload (27.0), which
the iOS jobs no longer install; the pinned 26.5 workload accepts Uno.Sdk's
14.2 default, as on main.

This reverts commit 63b291a.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

On macos-26 with Xcode 26.6 the installed-product test passed, but
xcodebuild test-without-building took 458 s end to end (main on Xcode
26.5: 241 s), overrunning the 420 s wait. Raise it to 600 s and give the
reverse verification matching headroom.

Cleanup then crashed with EPERM from killpg: macOS reports that, not
ESRCH, when the process group holds only zombies. Treat it as gone.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@YoungSx
YoungSx merged commit c3123ed into main Oct 8, 2026
25 of 26 checks passed

This branch was successfully deployed

1 active deployment
Preview — b154f25e Deployed Oct 7, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant