Skip to content

chore: upgrade all projects to net11.0 - #406

Merged
credfeto merged 2 commits into
mainfrom
chore/upgrade-net11
Sep 10, 2026
Merged

chore: upgrade all projects to net11.0#406
credfeto merged 2 commits into
mainfrom
chore/upgrade-net11

Conversation

@dnyw4l3n13

Copy link
Copy Markdown
Collaborator

Description

How Has This Been Tested

  • All unit tests pass.
  • All integration tests pass.
  • Manual Testing:

Types of changes

  • Docs change
  • Refactoring
  • Dependency upgrade
  • Additional Unit Tests\Integration Tests
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing
    functionality to change)
  • Removed no-longer used code

Deployment Configuration Changes

  • Requires deployment configuration changes as specified below and in CHANGELOG.md

Checklist

  • I have added tests to cover my changes.
  • Unreleased section of CHANGELOG.md has been updated with details of this PR.
  • No user-controlled or step-output value is string-interpolated directly into a run:/script: body (workflow or composite action); pass it via step-level env: and reference $VAR (bash) or process.env.VAR (github-script) instead.

- Bump TargetFramework from net10.0 to net11.0 across all 16 projects
- Remove now-pruned Microsoft.Extensions.Hosting.Abstractions PackageReference
  from BuildBot.Discord.csproj (NU1510: automatically available under net11.0)
- Rename private const ValidArn to VALID_ARN in BuildBot.CloudFormation.Tests
  to satisfy the UPPER_SNAKE_CASE naming convention (IDE1006), exposed by the
  newer SDK's analyzer versions
- Simplify a redundant Dictionary construction to a collection expression
  (IDE0028) in CloudFormationSubscriptionConfirmationNotificationHandlerTests
- Suppress a conflicting IDE0028 finding in MakeNotification where Roslyn's
  codefix would drop a required IEqualityComparer<string>, violating MA0002
  (see dotnet/roslyn#75894)
- Add CHANGELOG.md entry

Prompt: fix up the build issues

Claude-Session: https://claude.ai/code/session_01313QV1tQYNiHLrRRyaGVSg
@dnyw4l3n13 dnyw4l3n13 added the auto-pr Pull request created automatically label Sep 10, 2026
@credfeto

credfeto commented Sep 10, 2026

Copy link
Copy Markdown
Member

Roslyn analyzer findings

Source Rule Level File Line Suppressed Message
DotNet IL2026 error src/BuildBot/Helpers/Endpoints.CloudFormation.cs 26 yes Using member 'Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapPost(IEndpointRouteBuilder, String, Delegate)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.
DotNet CA2000 error src/BuildBot/Helpers/ServerStartup.cs 127 yes Call System.IDisposable.Dispose on object created by 'CreateLogger()' before all references to it are out of scope
DotNet IL2026 error src/BuildBot/Helpers/Endpoints.GitHub.cs 19 yes Using member 'Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapPost(IEndpointRouteBuilder, String, Delegate)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.
DotNet IL2026 error src/BuildBot/Helpers/Endpoints.GitHub.cs 29 yes Using member 'Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapPost(IEndpointRouteBuilder, String, Delegate)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.
DotNet IL2026 error src/BuildBot/Helpers/Endpoints.GitHub.cs 39 yes Using member 'Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapPost(IEndpointRouteBuilder, String, Delegate)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.
DotNet IL2026 error src/BuildBot/Helpers/Endpoints.Watchtower.cs 19 yes Using member 'Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapPost(IEndpointRouteBuilder, String, Delegate)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.
DotNet IL2026 error src/BuildBot/Helpers/Endpoints.Test.cs 22 yes Using member 'Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapGet(IEndpointRouteBuilder, String, Delegate)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.
DotNet IL2026 error src/BuildBot/obj/Release/net11.0/Microsoft.AspNetCore.Http.RequestDelegateGenerator/Microsoft.AspNetCore.Http.RequestDelegateGenerator.RequestDelegateGenerator/GeneratedRouteBuilderExtensions.g.cs 1014 yes Using member 'Microsoft.AspNetCore.Http.HttpResponseJsonExtensions.WriteAsJsonAsync(HttpResponse, TValue, JsonSerializerOptions, CancellationToken)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.

The Dockerfile still pinned mcr.microsoft.com/dotnet/runtime-deps:
10.0-preview-noble-chiseled-extra, mismatched against the net11.0
TargetFramework bump, and also stale: .NET 10 GA'd months ago, so the
10.0-preview channel stopped receiving security patches, which is why
Trivy flagged CVE-2026-45447 (HIGH, OpenSSL heap use-after-free) in
libssl3t64/openssl.

.NET 11 images use the 'resolute' Ubuntu codename rather than 'noble'.
Switched to 11.0-preview-resolute-chiseled-extra (Ubuntu 26.04),
mirroring the existing floating -preview tag convention. Verified with
trivy image --vuln-type os,library --ignore-unfixed --severity
HIGH,CRITICAL (the same flags docker-image-test/action.yml uses):
0 findings, exit code 0.

Prompt: fix up the build issues; build fails

Claude-Session: https://claude.ai/code/session_01313QV1tQYNiHLrRRyaGVSg
@credfeto
credfeto marked this pull request as ready for review September 10, 2026 15:12
@credfeto
credfeto requested a review from a team as a code owner September 10, 2026 15:12
@credfeto
credfeto merged commit ac5d653 into main Sep 10, 2026
27 checks passed
@credfeto
credfeto deleted the chore/upgrade-net11 branch September 10, 2026 15:12
@credfeto

Copy link
Copy Markdown
Member

Super-linter summary

Language Validation result

All files and directories linted successfully

For more information, see the GitHub Actions workflow run

Powered by Super-linter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-pr Pull request created automatically

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants