Skip to content

ci(github): migrate workflows to v8 templates and add .NET 11 support#44

Merged
ncipollina merged 2 commits into
mainfrom
ci/migrate-workflows-to-v8-add-net11
Apr 19, 2026
Merged

ci(github): migrate workflows to v8 templates and add .NET 11 support#44
ncipollina merged 2 commits into
mainfrom
ci/migrate-workflows-to-v8-add-net11

Conversation

@ncipollina
Copy link
Copy Markdown
Contributor

Summary

Migrates all GitHub Actions workflows from the v7.3 devops templates to v8.0, replaces the monolithic build.yaml with split publish workflows, and adds .NET 11 preview support across the CI matrix and test project.

Changes

CI/CD Workflows

  • Delete build.yaml — replaced by dedicated publish-preview.yaml and publish-release.yaml workflows
  • Add pr-title-check.yaml — validates PR titles follow conventional commit format
  • Add release-drafter.yaml — auto-drafts release notes from merged PRs
  • Add release-drafter.yml config — maps conventional commit labels to release categories
  • Update pr-build.yaml to v8.0 template, add net11.0 to build matrix
  • Add global.json — pins .NET 11 preview SDK (11.0.100-preview.3) and sets MTP as test runner

Test Project

  • Add net11.0 as a target framework in LayeredCraft.DecoWeaver.Generator.Tests.csproj
  • Add Basic.Reference.Assemblies.Net110 and Microsoft.Extensions.DependencyInjection 11.0.0-preview.3 for net11.0
  • Add NET11_0_OR_GREATER branch in GeneratorTestHelpers.cs for BCL reference resolution

NuGet Bumps

  • Polyfill: 9.23.0 → 10.3.0
  • Scriban: 7.0.6 → 7.1.0
  • Microsoft.SourceLink.GitHub: 10.0.201 → 10.0.202
  • Basic.Reference.Assemblies.Net80/90/100: 1.8.4 → 1.8.5
  • Microsoft.NET.Test.Sdk: 18.3.0 → 18.4.0
  • Verify.XunitV3: 31.13.5 → 31.16.1
  • Microsoft.Extensions.DependencyInjection (net9/net10): bumped to latest patch

Validation

  • Build: dotnet build passes
  • Tests target net8.0, net9.0, net10.0, net11.0 via the updated TargetFrameworks

Notes for Reviewers

publish-preview.yaml and publish-release.yaml in the staged snapshot had the wrong solution value (LayeredCraft.OptimizedEnums.slnx — copy-paste from another repo). Fixed to LayeredCraft.DecoWeaver.slnx in the follow-up unstaged changes, both are correct in this PR.

ncipollina and others added 2 commits April 19, 2026 08:48
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace build.yaml with split publish-preview/publish-release workflows
- Add pr-title-check and release-drafter workflows using v8 devops templates
- Bump pr-build workflow to v8.0, add net11.0 to build matrix
- Add global.json pinning .NET 11 preview SDK with MTP runner
- Add net11.0 target framework to test project with BCL references
- Bump NuGet packages: Polyfill 10.3.0, Scriban 7.1.0, SourceLink 10.0.202

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot added the ci label Apr 19, 2026
@ncipollina ncipollina merged commit 77d1a53 into main Apr 19, 2026
4 checks passed
@ncipollina ncipollina deleted the ci/migrate-workflows-to-v8-add-net11 branch April 19, 2026 23:04
Copy link
Copy Markdown

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

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: afa4eb2b3f

ℹ️ 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".

Comment on lines +4 to +5
release:
types: [published]
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 Restore tag trigger for release publishing

This workflow now runs only on release.published, so a plain Git tag push no longer starts a publish job. The existing release flow still documents Create Git tag then Push to GitHub as the trigger (see docs/contributing.md), and the removed build.yaml used push.tags: v*; with this change, that established path produces no NuGet publish unless maintainers also create a GitHub Release manually.

Useful? React with 👍 / 👎.

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