Skip to content

Add Reactive and Avalonia routed samples with Nuke CI#2

Merged
Skymly merged 3 commits into
mainfrom
feature/samples/reactive-routed-nuke
Jun 3, 2026
Merged

Add Reactive and Avalonia routed samples with Nuke CI#2
Skymly merged 3 commits into
mainfrom
feature/samples/reactive-routed-nuke

Conversation

@Skymly
Copy link
Copy Markdown
Owner

@Skymly Skymly commented Jun 3, 2026

Summary

  • Events.Reactive and RestAPI.Reactive NuGet-based console samples
  • Events.Routed Avalonia AttachedRoutedEvent sample (local/desktop only)
  • Nuke build.cmd Ci skips Routed; CI runs four console samples

Test plan

  • ./build.cmd Ci --configuration Release
  • Local: dotnet run --project Observables.Samples.Events.Routed -p:UseLocalObservables=true (optional, GUI)

Note

Medium Risk
CI behavior changes materially (Nuke vs direct dotnet build/run), and the Nuke host targets net10.0 while the workflow only installs .NET 8, which may break Actions unless a 10 SDK is present globally.

Overview
Adds System.Reactive console samples for Observables.Events.Reactive and Observables.RestAPI.Reactive, plus an Avalonia desktop sample for AttachedRoutedEvent / <ObservableRoutedEvents>. Shared MSBuild wiring introduces EventsReactive and RestAPIReactive sample kinds (NuGet and local generator paths).

CI no longer builds the whole solution and runs two projects inline; it runs the Nuke Ci target via build/_build.csproj, which builds and executes the four console samples with UseLocalObservables=false and omits Observables.Samples.Events.Routed. Docs and the solution file list the new projects; build.cmd and .nuke schema/parameters support the Nuke entrypoint.

Reviewed by Cursor Bugbot for commit 310a77a. Bugbot is set up for automated code reviews on this repo. Configure here.

Skymly added 2 commits June 3, 2026 21:03
1、Add Observables.Samples.Events.Reactive and RestAPI.Reactive console projects

2、Add Observables.Samples.Events.Routed Avalonia AttachedRoutedEvent demo (excluded from Ci)

3、Introduce Nuke build.cmd Ci and update GitHub Actions workflow
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Autofix Details

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Batch bootstrap on Ubuntu runner
    • Updated the Ubuntu workflow to invoke the Nuke project directly with dotnet instead of executing the Windows-only build.cmd bootstrap.

Create PR

Or push these changes by commenting:

@cursor push 5364529374
Preview (5364529374)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -20,6 +20,6 @@
           dotnet-version: 8.0.x
 
       - name: Build and run CI samples via Nuke (skips Avalonia Routed)
-        run: ./build.cmd Ci --configuration Release
+        run: dotnet run --project build/_build.csproj -- Ci --configuration Release
         env:
           UseLocalObservables: "false"

You can send follow-ups to the cloud agent here.

Comment thread build.cmd
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: CI exclusion property unused
    • Nuke now reads each sample project's ObservablesExcludeFromCi property to decide CI exclusions instead of relying on the hard-coded Routed path substring.

Create PR

Or push these changes by commenting:

@cursor push feebdb1d6e

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 310a77a. Configure here.

Comment thread build/Program.cs
}

yield return (relativePath, runAfterBuild);
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

CI exclusion property unused

Medium Severity

ObservablesExcludeFromCi is documented and set on the Avalonia sample, but Nuke never reads it. CI skips Events.Routed only because GetProjectsForCi hard-codes a path substring, so other GUI projects would still be built on headless agents.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 310a77a. Configure here.

@Skymly Skymly merged commit 5de91e3 into main Jun 3, 2026
3 checks passed
@Skymly Skymly deleted the feature/samples/reactive-routed-nuke branch June 3, 2026 13:11
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