Skip to content

1.3 - Update to PluginBase 4.0 - #10

Merged
SakuraIsayeki merged 9 commits into
mainfrom
develop
Nov 21, 2025
Merged

1.3 - Update to PluginBase 4.0#10
SakuraIsayeki merged 9 commits into
mainfrom
develop

Conversation

@SakuraIsayeki

Copy link
Copy Markdown
Member

No description provided.

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.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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.

Comment thread IncomingUsersListener.cs
@SakuraIsayeki
SakuraIsayeki merged commit b7b427a into main Nov 21, 2025
2 checks 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