1.3 - Update to PluginBase 4.0 - #10
Merged
Merged
Conversation
Updates the project target framework to .NET 8 to leverage runtime and SDK improvements and ensure forward compatibility. Removes the explicit version metadata to defer package/version management to the build or release pipeline.
Update project version metadata from 1.2 to 1.3 to prepare for the next release. - Ensures release tooling and metadata reflect the new version - No functional or behavioral changes
Updates GitHub Actions used by CI (checkout, setup-dotnet, upload-artifact) to newer major releases to avoid deprecation and gain fixes/features. Updates the .NET SDK target in workflows from 6.0 to 8.0 to align builds with the supported runtime. Bumps the NuGet publish action to a newer version and clarifies the package project placeholder. Modernizes CI toolchain, reduces deprecation risk, and ensures builds run with current SDK/tooling.
Updates repository versioning package reference to a newer release and consolidates how it is referenced via private assets. Adds a reproducible-builds helper package for non-tool packages to produce deterministic outputs. Removes an old package-config conditional and simplifies condition handling for tool vs non-tool packing. Improves consistency of version metadata and enables more reproducible build artifacts across the repo.
Consolidates and reuses the build job for CI and publishing to remove duplication. Enables full git fetch so versioning can derive accurate versions from history. Adds a repository-aware versioning step to produce correct package versions. Builds and packs Release artifacts with symbols, then publishes to multiple NuGet endpoints via a matrix. Attests build provenance for the public NuGet provider to improve supply-chain security.
There was a problem hiding this comment.
Pull request overview
This PR updates the YumeChan.RoleDeck plugin to use PluginBase 4.0, upgrading from .NET 6.0 to .NET 8.0. The update includes modernizing the database access patterns, improving CI/CD workflows with Nerdbank.GitVersioning support, and adding JetBrains.Annotations for better API documentation.
- Upgraded target framework from .NET 6.0 to .NET 8.0
- Updated YumeChan.PluginBase from 3.0.1 to 4.0.41 with new MongoDB-specific database providers
- Modernized GitHub Actions workflows with versioned tooling and reproducible builds
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| version.json | Added Nerdbank.GitVersioning configuration for automated version management |
| YumeChan.RoleDeck.csproj | Updated target framework to .NET 8.0, upgraded all package references including PluginBase 4.0.41, added JetBrains.Annotations |
| Services/RoleMessageService.cs | Migrated from IDatabaseProvider to IMongoDatabaseProvider interface |
| Services/MassRoleService.cs | Removed unused database provider dependency, added filtering logic to avoid redundant role assignments/revocations |
| Services/InitialRolesService.cs | Updated to use IMongoDatabaseProvider, reformatted GetGuildRolesAsync for readability |
| IncomingUsersListener.cs | Simplified role assignment logic with modern pattern matching |
| Directory.Build.props | Added Nerdbank.GitVersioning and DotNet.ReproducibleBuilds package references |
| Commands/MassRolesCommandGroup.cs | Added PublicAPI attribute, made class sealed |
| Commands/InitialRolesCommandGroup.cs | Added PublicAPI attribute for API documentation |
| Commands/BaseCommandGroup.cs | Added PublicAPI attribute, made class sealed |
| .github/workflows/publish-artifact.yml | Updated action versions, added nbgv support for versioning |
| .github/workflows/nuget-publish.yml | Complete rewrite to use matrix strategy for multi-source publishing with build attestation |
| .github/workflows/dotnet-build.yml | Removed (replaced by build.yml) |
| .github/workflows/build.yml | New unified build workflow with nbgv integration |
| .config/dotnet-tools.json | Added nbgv tool configuration |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.