Skip to content

fix: Automatic Dependency Submission workflow (global.json + Sample's local ProjectReferences) - #109

Merged
framinosona merged 2 commits into
mainfrom
framinosona/fix-global-json-sdk-version
Sep 8, 2026
Merged

fix: Automatic Dependency Submission workflow (global.json + Sample's local ProjectReferences)#109
framinosona merged 2 commits into
mainfrom
framinosona/fix-global-json-sdk-version

Conversation

@framinosona

@framinosona framinosona commented Sep 8, 2026

Copy link
Copy Markdown
Member

Summary

Two separate bugs were breaking the Automatic Dependency Submission workflow:

1. Invalid global.json SDK version

Error: Version '10.0.0' is not valid for the 'sdk.version' value in global.json.
When 'rollForward' is specified, a full SDK version is required.

"10.0.0" isn't a valid/published .NET SDK version. Changed to "10.0.100", matching the
sibling repos (Plugin.Bluetooth, Laerdal.Dfu.Bindings.Android, Laerdal.Dfu.Bindings.iOS),
which already use that value with the same rollForward: latestMinor setting.

2. Laerdal.Dfu.Sample.csproj referenced a local sibling folder

Skipping project "/home/runner/work/Laerdal.Dfu/Laerdal_Plugin.Bluetooth/Bluetooth.Maui/Bluetooth.Maui.csproj" because it was not found.

The sample app had ProjectReferences to ..\..\Laerdal_Plugin.Bluetooth\... — a path that only
exists on one machine's local clone layout, not in CI or any other contributor's checkout.

Root cause: Bluetooth.Abstractions/Bluetooth.Abstractions.Scanning aren't published as
separate NuGet packages at all — Plugin.Bluetooth bundles them into the single Bluetooth.Maui
package (PrivateAssets="all" on those ProjectReferences in Bluetooth.Maui.csproj), and the
Sample app's own code only ever references Bluetooth.Maui directly (AddBluetoothServices()).
So one PackageReference to Bluetooth.Maui 4.0.18 replaces all three ProjectReferences.
Also copied the two OpenSans font files (actually used, registered in MauiProgram.cs) into
this repo's own Resources/Fonts instead of reaching into the sibling folder for them.

Why

Runs that surfaced these:

Test plan

  • dotnet restore Laerdal.Dfu.sln verified locally — resolves cleanly, no missing projects
  • Re-run the Automatic Dependency Submission workflow after merge to confirm it passes end to end

…ard is set

"10.0.0" isn't a valid/published SDK version, which broke the new Automatic
Dependency Submission workflow (actions/setup-dotnet@v6 requires a full
version - major.minor.featureband+patch - when rollForward is specified).
Aligns with the sibling repos (Plugin.Bluetooth, Laerdal.Dfu.Bindings.Android/iOS),
which already use 10.0.100.
Copilot AI lite review requested due to automatic review settings September 8, 2026 13:58

Copilot AI 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.

🟢 Approval recommended

The change is a minimal, valid global.json update that directly addresses the documented workflow failure without impacting library runtime behavior.

Pull request overview

Updates the repository’s .NET SDK pin in global.json to a full SDK version so GitHub Actions (notably actions/setup-dotnet with rollForward configured) accepts it and the Automatic Dependency Submission workflow can run successfully.

Changes:

  • Change global.json sdk.version from 10.0.0 to 10.0.100 to satisfy the “full SDK version required when rollForward is set” constraint.
File summaries
File Description
global.json Pins sdk.version to a full SDK version (10.0.100) compatible with rollForward: latestMinor.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

…th with a NuGet PackageReference

Laerdal.Dfu.Sample.csproj referenced ../../Laerdal_Plugin.Bluetooth/... - a path
that only exists on one machine's local clone layout, not in CI or any other
contributor's checkout, which is why Automatic Dependency Submission failed at
restore ("Skipping project ... because it was not found").

Bluetooth.Abstractions and Bluetooth.Abstractions.Scanning aren't published as
separate NuGet packages - Plugin.Bluetooth bundles them into the single
Bluetooth.Maui package (PrivateAssets="all" on those ProjectReferences in
Bluetooth.Maui.csproj), and the Sample app's own code only ever references
Bluetooth.Maui directly (AddBluetoothServices()). So one PackageReference to
Bluetooth.Maui 4.0.18 replaces all three ProjectReferences.

Also copied the two OpenSans font files (actually used, registered in
MauiProgram.cs) into this repo's own Resources/Fonts instead of reaching into
the sibling folder for them.

Verified with `dotnet restore Laerdal.Dfu.sln` locally - resolves cleanly.
Copilot AI review requested due to automatic review settings September 8, 2026 14:03
@framinosona framinosona changed the title fix: global.json sdk.version must be a full SDK version when rollForward is set fix: Automatic Dependency Submission workflow (global.json + Sample's local ProjectReferences) Sep 8, 2026

Copilot AI 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.

🟡 Changes recommended

The PR description’s claim that the Sample only references Bluetooth.Maui conflicts with existing direct Bluetooth.Abstractions.Scanning usages, which must be confirmed to still resolve via the new PackageReference.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 2/4 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment thread Laerdal.Dfu.Sample/Laerdal.Dfu.Sample.csproj
@framinosona
framinosona merged commit af48b9a into main Sep 8, 2026
8 of 9 checks passed
@framinosona
framinosona deleted the framinosona/fix-global-json-sdk-version branch September 9, 2026 01:25
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.

2 participants