Skip to content

V5.0.2/service update#47

Merged
gimlichael merged 6 commits intomainfrom
v5.0.2/service-update
Feb 15, 2026
Merged

V5.0.2/service update#47
gimlichael merged 6 commits intomainfrom
v5.0.2/service-update

Conversation

@gimlichael
Copy link
Copy Markdown
Member

@gimlichael gimlichael commented Feb 15, 2026

This pull request introduces improvements to the CI pipeline and updates release notes for multiple NuGet packages. The CI pipeline is now enhanced for multi-architecture support, and all package dependencies have been upgraded to their latest compatible versions.

CI pipeline enhancements:

  • Added multi-architecture build and test support (X64 and ARM64) for both Linux and Windows runners in .github/workflows/ci-pipeline.yml, including splitting test jobs by platform and updating artifact naming and download patterns. [1] [2]
  • Updated downstream jobs (sonarcloud, codecov, codeql, and deploy) to depend on the new architecture-specific test jobs. [1] [2]

Release notes and dependency upgrades:

Container base image update:

  • Updated the NGINX_VERSION in .docfx/Dockerfile.docfx from 1.29.4-alpine to 1.29.5-alpine.

Summary by CodeRabbit

Release Notes

  • New Features

    • Added support for .NET 10 alongside existing .NET 9 compatibility
  • Chores

    • Upgraded all package dependencies to latest compatible versions
    • Enhanced CI/CD pipeline with multi-architecture build and test support
    • Updated infrastructure and testing environment components

@gimlichael gimlichael self-assigned this Feb 15, 2026
Copilot AI review requested due to automatic review settings February 15, 2026 14:27
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 15, 2026

📝 Walkthrough

Walkthrough

This PR consolidates dependency updates for version 5.0.2, refactors the CI pipeline to support multi-architecture builds (X64/ARM64) with separate Linux/Windows test jobs, bumps infrastructure images (NGINX, LocalStack), and updates package release notes consistently across all NuGet packages.

Changes

Cohort / File(s) Summary
Package Release Notes
.nuget/Savvyio.*/PackageReleaseNotes.txt (35+ files)
Added identical Version 5.0.2 release entry with Availability (.NET 10 and .NET 9) and ALM note that dependencies were upgraded to latest compatible versions across all target frameworks (TFMs).
Central Dependency Management
Directory.Packages.props
Bumped multiple package versions: AWSSDK (SQS, SNS), Codebelt.Extensions.\, Cuemon.Extensions.\ (10.1.2→10.2.1), NATS.Client.\*, Microsoft.Data.Sqlite, coverlet tools (6.0.4→8.0.0); updated EntityFrameworkCore for net9 (9.0.12→9.0.13) and net10 (10.0.2→10.0.3).
CI/CD Pipeline
\\.github/workflows/ci-pipeline.yml
Introduced architecture-aware matrix (X64, ARM64) with platform-specific runners; split test job into test\_linux and test\_windows; updated artifact naming and download patterns per architecture; adjusted downstream job dependencies (sonarcloud, codecov, codeql, deploy) to reference both new test jobs.
Infrastructure & Configuration
\\.docfx/Dockerfile.docfx, Dockerfile.localstack, docker-compose.yml, testenvironments.json
Updated base images: NGINX 1.29.4→1.29.5-alpine, LocalStack 4.12.0→4.13.1, ubuntu-testrunner image reference (gimlichael→codebeltnet tag).
Documentation
CHANGELOG.md, README.md
Added [5.0.2] changelog entry dated 2026-02-15; updated Build Status badge URL from pipelines.yml to ci-pipeline.yml; removed explicit .NET 9/8 version references from About section.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Possibly related PRs

  • PR #45 — Modifies .docfx/Dockerfile.docfx (NGINX version bump) and .github/workflows/ci-pipeline.yml (CI architecture configuration).
  • PR #43 — Updates Directory.Packages.props and package release notes with similar version bump patterns and release documentation.
  • PR #23 — Updates Microsoft.EntityFrameworkCore and related NuGet package versions in dependency configuration files.

Poem

🐰 A springtime version bump so fine,
Dependencies aligned, all test jobs shine,
From ARM to X64 the pipelines dance,
New release notes sing—v5.0.2's glance!
With NGINX, LocalStack tuned just right,
The infrastructure gleams so bright! ✨

🚥 Pre-merge checks | ✅ 3 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Merge Conflict Detection ⚠️ Warning ❌ Merge conflicts detected (43 files):

⚔️ .docfx/Dockerfile.docfx (content)
⚔️ .github/workflows/ci-pipeline.yml (content)
⚔️ .nuget/Savvyio.App/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Commands.Messaging/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Commands/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Core/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Domain.EventSourcing/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Domain/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.EventDriven.Messaging/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.EventDriven/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.Dapper/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DapperExtensions/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DependencyInjection.Dapper/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DependencyInjection.DapperExtensions/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DependencyInjection.Domain/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DependencyInjection.EFCore.Domain/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DependencyInjection.EFCore/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DependencyInjection.NATS/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DependencyInjection.Newtonsoft.Json/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DependencyInjection.QueueStorage/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DependencyInjection.RabbitMQ/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DependencyInjection.SimpleQueueService/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DependencyInjection.Text.Json/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.DependencyInjection/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.Dispatchers/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.EFCore.Domain.EventSourcing/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.EFCore.Domain/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.EFCore/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.NATS/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.Newtonsoft.Json/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.QueueStorage/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.RabbitMQ/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.SimpleQueueService/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Extensions.Text.Json/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Messaging/PackageReleaseNotes.txt (content)
⚔️ .nuget/Savvyio.Queries/PackageReleaseNotes.txt (content)
⚔️ CHANGELOG.md (content)
⚔️ Directory.Packages.props (content)
⚔️ Dockerfile.localstack (content)
⚔️ README.md (content)
⚔️ docker-compose.yml (content)
⚔️ testenvironments.json (content)

These conflicts must be resolved before merging into main.
Resolve conflicts locally and push changes to this branch.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'V5.0.2/service update' is partially related to the changeset; it references the version number but lacks specificity about the main changes (multi-architecture CI support, dependency upgrades, release notes).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch v5.0.2/service-update
⚔️ Resolve merge conflicts (beta)
  • Auto-commit resolved conflicts to branch v5.0.2/service-update
  • Create stacked PR with resolved conflicts
  • Post resolved changes as copyable diffs in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request is a service update (version 5.0.2) that primarily focuses on upgrading package dependencies to their latest compatible versions and enhancing the CI pipeline with multi-architecture support. The changes ensure the project stays current with external dependencies while expanding build and test coverage across X64 and ARM64 architectures on both Linux and Windows platforms.

Changes:

  • Enhanced CI pipeline with multi-architecture build and test support for X64 and ARM64 on Linux and Windows runners
  • Upgraded all package dependencies to their latest compatible versions across multiple frameworks (AWS SDK, Azure SDK, Cuemon, NATS, Entity Framework Core, coverlet, etc.)
  • Updated Docker images (LocalStack 4.12.0→4.13.1, Nginx 1.29.4→1.29.5, Ubuntu test runner) to latest versions
  • Added consistent release notes for version 5.0.2 across all 33 NuGet packages

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/workflows/ci-pipeline.yml Added multi-architecture matrix (X64/ARM64), split test jobs by platform (test_linux, test_windows), updated artifact naming patterns, and updated job dependencies
Directory.Packages.props Upgraded package versions: AWS SDKs, Codebelt extensions, Cuemon libraries, NATS clients, Entity Framework Core, coverlet, and Microsoft.Data.Sqlite
testenvironments.json Updated Ubuntu test runner image from gimlichael to codebeltnet organization with newer SDK versions
docker-compose.yml Updated LocalStack image from 4.12.0 to 4.13.1
Dockerfile.localstack Updated LocalStack base image from 4.12.0 to 4.13.1
.docfx/Dockerfile.docfx Updated Nginx version from 1.29.4-alpine to 1.29.5-alpine
README.md Updated build status badge to reference ci-pipeline.yml workflow and simplified project description
CHANGELOG.md Added version 5.0.2 entry dated 2026-02-15 noting package dependency updates
.nuget/*/PackageReleaseNotes.txt (33 files) Added identical version 5.0.2 release notes documenting dependency upgrades for all NuGet packages

with:
configuration: ${{ matrix.configuration }}
version: ${{ needs.build.outputs.version }}
download-build-artifact-pattern: build-${{ matrix.configuration }}-X64
Copy link

Copilot AI Feb 15, 2026

Choose a reason for hiding this comment

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

The pack job only downloads X64 build artifacts using the pattern build-${{ matrix.configuration }}-X64. However, the build job now produces artifacts for both X64 and ARM64 architectures. Consider whether ARM64 build artifacts should also be included in the packing process, or if this is intentionally architecture-agnostic since .NET packages typically contain platform-neutral IL code. If packing is intentionally architecture-agnostic and only requires one architecture's output, this is acceptable. Otherwise, the download pattern should be adjusted to include both architectures or clarified with a comment.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@Directory.Packages.props`:
- Around line 34-35: Replace the coverlet package versions to a NuGet-available
release by changing the PackageVersion entries for "coverlet.collector" and
"coverlet.msbuild" (the PackageVersion Include="coverlet.collector" and
PackageVersion Include="coverlet.msbuild" elements) from 8.0.0 back to 6.0.4 so
package restore succeeds; if you intend to keep 8.x, instead ensure your project
TFMs target .NET 8.0 LTS and that 8.0.0 is published to NuGet before updating.
🧹 Nitpick comments (2)
.nuget/Savvyio.Extensions.QueueStorage/PackageReleaseNotes.txt (1)

5-5: Consider adding specific dependency details in future releases.

While the current message follows the established pattern across many releases, users might benefit from knowing which specific dependencies were upgraded (e.g., "nats.client to 2.7.2" as mentioned in the commit messages). This would make the release notes more actionable for assessing upgrade impact.

.docfx/Dockerfile.docfx (1)

1-1: NGINX base image updated to 1.29.5-alpine — valid version.

The version bump is straightforward and the tag exists on Docker Hub.

Trivy flags the absence of a non-root USER directive (DS-0002). This is pre-existing and not introduced by this change. Consider addressing it in a follow-up to harden the container.

🛡️ Optional: Add a non-root user for the final stage
 FROM nginx:${NGINX_VERSION} AS final
 WORKDIR /usr/share/nginx/html
 COPY --from=build /build/docfx/wwwroot /usr/share/nginx/html
+
+RUN addgroup -S nginx-app && adduser -S -G nginx-app nginx-app
+USER nginx-app
 
 ENTRYPOINT ["nginx", "-g", "daemon off;"]

Note: NGINX on Alpine may need additional configuration (e.g., writable paths for temp/pid files) to run as non-root.

Comment thread Directory.Packages.props
Comment on lines +34 to +35
<PackageVersion Include="coverlet.collector" Version="8.0.0" />
<PackageVersion Include="coverlet.msbuild" Version="8.0.0" />
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

coverlet 8.0.0 NuGet release

💡 Result:

Coverlet v8.0.0 was released on GitHub on February 15, 2026 (same-day listing via NewReleases) and includes (highlights): breaking change upgrading the minimum required SDK/runtime to .NET 8.0 LTS, plus fixes around System.CommandLine 2.0, branchpoint exclusion for SDK 8.0.407, NuGet copyright info, and improvements like generating an SBOM and multi-targeting updates for some packages. [1]

As of the most recently crawlable NuGet Gallery pages, the latest published versions shown for the main NuGet packages are still 6.0.4 (for both coverlet.collector and coverlet.msbuild), i.e., 8.0.0 is not yet visible on NuGet Gallery from these pages. [2] [3]

Sources: [1] [2] [3]


Revert coverlet to 6.0.4 (v8.0.0 is not yet available on NuGet).

Coverlet v8.0.0 was released on GitHub on February 15, 2026, but is not yet published to the NuGet Gallery. Package restoration will fail. Additionally, v8.0.0 introduces a breaking change requiring .NET 8.0 LTS as the minimum SDK/runtime; verify this aligns with your TFM requirements before upgrading.

🤖 Prompt for AI Agents
In `@Directory.Packages.props` around lines 34 - 35, Replace the coverlet package
versions to a NuGet-available release by changing the PackageVersion entries for
"coverlet.collector" and "coverlet.msbuild" (the PackageVersion
Include="coverlet.collector" and PackageVersion Include="coverlet.msbuild"
elements) from 8.0.0 back to 6.0.4 so package restore succeeds; if you intend to
keep 8.x, instead ensure your project TFMs target .NET 8.0 LTS and that 8.0.0 is
published to NuGet before updating.

@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.11%. Comparing base (38af9f4) to head (c04ce54).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #47   +/-   ##
=======================================
  Coverage   79.11%   79.11%           
=======================================
  Files         177      177           
  Lines        3711     3711           
  Branches      365      365           
=======================================
  Hits         2936     2936           
  Misses        774      774           
  Partials        1        1           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sonarqubecloud
Copy link
Copy Markdown

@gimlichael gimlichael merged commit 54d4374 into main Feb 15, 2026
273 checks passed
@gimlichael gimlichael deleted the v5.0.2/service-update branch February 15, 2026 15:25
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