ci(github): migrate workflows to v8 templates and add .NET 11 support#44
Conversation
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>
There was a problem hiding this comment.
💡 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".
| release: | ||
| types: [published] |
There was a problem hiding this comment.
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 👍 / 👎.
Summary
Migrates all GitHub Actions workflows from the v7.3 devops templates to v8.0, replaces the monolithic
build.yamlwith split publish workflows, and adds .NET 11 preview support across the CI matrix and test project.Changes
CI/CD Workflows
build.yaml— replaced by dedicatedpublish-preview.yamlandpublish-release.yamlworkflowspr-title-check.yaml— validates PR titles follow conventional commit formatrelease-drafter.yaml— auto-drafts release notes from merged PRsrelease-drafter.ymlconfig — maps conventional commit labels to release categoriespr-build.yamltov8.0template, addnet11.0to build matrixglobal.json— pins .NET 11 preview SDK (11.0.100-preview.3) and sets MTP as test runnerTest Project
net11.0as a target framework inLayeredCraft.DecoWeaver.Generator.Tests.csprojBasic.Reference.Assemblies.Net110andMicrosoft.Extensions.DependencyInjection 11.0.0-preview.3for net11.0NET11_0_OR_GREATERbranch inGeneratorTestHelpers.csfor BCL reference resolutionNuGet Bumps
Polyfill: 9.23.0 → 10.3.0Scriban: 7.0.6 → 7.1.0Microsoft.SourceLink.GitHub: 10.0.201 → 10.0.202Basic.Reference.Assemblies.Net80/90/100: 1.8.4 → 1.8.5Microsoft.NET.Test.Sdk: 18.3.0 → 18.4.0Verify.XunitV3: 31.13.5 → 31.16.1Microsoft.Extensions.DependencyInjection(net9/net10): bumped to latest patchValidation
dotnet buildpassesnet8.0,net9.0,net10.0,net11.0via the updatedTargetFrameworksNotes for Reviewers
publish-preview.yamlandpublish-release.yamlin the staged snapshot had the wrongsolutionvalue (LayeredCraft.OptimizedEnums.slnx— copy-paste from another repo). Fixed toLayeredCraft.DecoWeaver.slnxin the follow-up unstaged changes, both are correct in this PR.