Skip to content

Move build and release to GitHub Actions, update packages - #46

Merged
newky2k merged 4 commits into
mainfrom
development
Oct 5, 2026
Merged

newky2k merged 4 commits into
mainfrom
development

Conversation

@newky2k

@newky2k newky2k commented Oct 5, 2026

Copy link
Copy Markdown
Owner

Summary

Moves the build and NuGet release from Azure Pipelines to GitHub Actions, mirroring the setup in MessageBus and DSoft.DataPrivacy, and updates the package references.

CI / release

  • .github/workflows/ci.yml: builds Release on pull requests into main or development. Publishes nothing.
  • .github/workflows/release.yml: runs on every push to main. Builds Release as 3.6.<yyMM>.<run number> (plus RELEASE_SUFFIX), uploads the packages as the drop artifact, pushes them to nuget.org with Trusted Publishing (OIDC, NUGET_USER secret, nuget environment), then tags v<version> and creates a GitHub release with the packages attached.
  • The Azure Pipelines definitions are removed; the solution's .ci folder now points at the workflows.
  • Directory.Build.props sets ContinuousIntegrationBuild under GitHub Actions too, and SourceLink moves to 10.0.401.

Versioning

  • The stale hard-coded 2.2.2102.142-prerelease version properties are removed from all library projects. The release workflow injects Version, AssemblyVersion and FileVersion. The first release will be 3.6.2610.x, above the current 3.6.2606.131 on nuget.org.

Package updates

  • Microsoft.Extensions.Hosting / Hosting.Abstractions / Logging.Debug → 10.0.12
  • Microsoft.Maui.Controls / Controls.Compatibility → 10.0.110
  • Microsoft.WindowsAppSDK → 2.5.1
  • Microsoft.Windows.SDK.BuildTools → 10.0.28000.2705
  • Nerdbank.Streams → 2.14.354
  • The source generator's pinned Roslyn packages are left alone, as they set the minimum supported Visual Studio version.

Docs and repo settings

  • CLAUDE.md becomes AGENTS.md (tool-neutral), with a one-line CLAUDE.md importing it. Adds a Branching section: features and bug fixes go to development; main is the release branch.
  • README gains a "Building and releasing" section.
  • .github/rulesets/protect-main.json holds the main ruleset definition (PR required, no deletion, no force push).

Test plan

  • Core, Ui, Hosting and SourceGenerators projects built and packed locally in Release with an injected version (3.6.2610.1); nuspec shows the version and SourceLink repository metadata.
  • CI workflow goes green on this PR (first Windows build of the WPF, WinUI, MAUI and VS Extensibility projects).
  • After merge, Release workflow publishes 3.6.2610.x to nuget.org and creates the GitHub release.

🤖 Generated with Claude Code

https://claude.ai/code/session_012tsggoGoEogfFmpET9YiqJ


Generated by Claude Code

claude added 4 commits October 5, 2026 19:09
Replace the Azure Pipelines definitions with GitHub Actions workflows that
mirror the MessageBus and DSoft.DataPrivacy repositories:

- ci.yml builds Release for pull requests into main or development.
- release.yml runs on pushes to main, builds Release as 3.6.yyMM.<run number>
  (plus RELEASE_SUFFIX), uploads the packages as the drop artifact, pushes
  them to nuget.org with Trusted Publishing (OIDC, NUGET_USER secret, nuget
  environment), then tags the commit and creates a GitHub release.

Remove the stale hard-coded 2.2.2102.142-prerelease versions from the
library projects; the release workflow injects the version. Set
ContinuousIntegrationBuild under GitHub Actions as well as Azure Pipelines.

Update packages: Microsoft.Extensions.* 10.0.12, Microsoft.Maui.Controls
10.0.110, Microsoft.WindowsAppSDK 2.5.1, Microsoft.Windows.SDK.BuildTools
10.0.28000.2705, Nerdbank.Streams 2.14.354, Microsoft.SourceLink.GitHub
10.0.401. Document the pipelines in README.md and CLAUDE.md.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_012tsggoGoEogfFmpET9YiqJ
Rename the agent guidance to the tool-neutral AGENTS.md, as in
DSoft.DataPrivacy, and keep a one-line CLAUDE.md that imports it so Claude
Code still loads it. Add a Branching section: features and bug fixes go to
development; main is the release branch and every push to it publishes.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_012tsggoGoEogfFmpET9YiqJ
Ruleset JSON for import into the repository's Rules settings: changes to
main must come through a pull request, and main cannot be deleted or
force-pushed. The session could not create the ruleset through the API, so
the definition is kept here for import.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_012tsggoGoEogfFmpET9YiqJ
The Mac Catalyst SDK picks different default runtime identifiers for an app
project in Debug and Release. Restoring with the default configuration and
then building Release with --no-restore left MauiSample without a
net10.0-maccatalyst/maccatalyst-arm64 target in its assets file
(NETSDK1047). Restore with Configuration=Release so both steps agree.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_012tsggoGoEogfFmpET9YiqJ
@newky2k
newky2k merged commit 2ec8616 into main Oct 5, 2026
1 check passed
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