Skip to content

V0.5.2/service update#19

Merged
gimlichael merged 4 commits intomainfrom
v0.5.2/service-update
Feb 15, 2026
Merged

V0.5.2/service update#19
gimlichael merged 4 commits intomainfrom
v0.5.2/service-update

Conversation

@gimlichael
Copy link
Member

@gimlichael gimlichael commented Feb 15, 2026

This pull request introduces a service update focused on upgrading package dependencies and improving CI/CD pipeline support for multiple architectures. The changes ensure compatibility with the latest dependency versions and add ARM64 support across build and test jobs, as well as update related documentation and Docker images.

Dependency upgrades:

  • Updated several package versions in Directory.Packages.props, including Cuemon.Extensions.IO, Codebelt.Extensions.Xunit.App, Savvyio.Extensions.Newtonsoft.Json, Savvyio.Extensions.Text.Json, and coverlet packages, to their latest compatible releases.
  • Added release notes for version 0.5.2 in .nuget/Codebelt.SharedKernel/PackageReleaseNotes.txt, highlighting upgraded dependencies across all supported target frameworks.
  • Added a new changelog entry for version 0.5.2 in CHANGELOG.md describing the service update for package dependencies.

CI/CD pipeline enhancements:

  • Refactored .github/workflows/ci-pipeline.yml to add ARM64 support for build and test jobs, split tests into test_linux and test_windows, and updated artifact and job dependencies accordingly. [1] [2] [3]
  • Updated the CI badge in README.md to reference the new pipeline file (ci-pipeline.yml).

Environment and Docker image updates:

  • Updated the Docker image tag for the Ubuntu test environment in testenvironments.json to a newer version.
  • Bumped the NGINX base image version in .docfx/Dockerfile.docfx from 1.29.4-alpine to 1.29.5-alpine.

Summary by CodeRabbit

  • New Features

    • Added multi-architecture support for X64 and ARM64 platforms in the build pipeline.
  • Chores

    • Updated all NuGet package dependencies to latest compatible versions.
    • Upgraded CI/CD infrastructure and test environment tooling.
    • Enhanced artifact handling for cross-platform builds.

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

coderabbitai bot commented Feb 15, 2026

📝 Walkthrough

Walkthrough

This pull request performs routine maintenance across the project infrastructure and dependencies. It updates the nginx base image from 1.29.4 to 1.29.5 in the DocFX Dockerfile, adds multi-architecture support (X64 and ARM64) to the CI/CD pipeline with separate test stages, bumps six package versions in the central package manifest, updates the test environment Docker image, and documents a 0.5.2 service release.

Changes

Cohort / File(s) Summary
Container Images
.docfx/Dockerfile.docfx, testenvironments.json
Updated nginx base image from 1.29.4-alpine to 1.29.5-alpine; updated Docker Ubuntu test runner image from gimlichael to codebeltnet registry with newer toolchain versions.
CI/CD Pipeline
.github/workflows/ci-pipeline.yml, README.md
Added multi-architecture matrix (X64, ARM64) to build, pack, and test stages with ARM64-specific runners; split test phase into separate linux and windows jobs with dedicated matrices; updated pipeline badge URL reference.
Dependency Management
Directory.Packages.props
Bumped six package versions: Cuemon.Extensions.IO (10.1.2→10.2.1), Codebelt.Extensions.Xunit.App (11.0.4→11.0.5), Savvyio.Extensions.Newtonsoft.Json (5.0.1→5.0.2), Savvyio.Extensions.Text.Json (5.0.1→5.0.2), coverlet.collector (6.0.4→8.0.0), coverlet.msbuild (6.0.4→8.0.0).
Release Documentation
.nuget/Codebelt.SharedKernel/PackageReleaseNotes.txt, CHANGELOG.md
Added version 0.5.2 release entry documenting service update with dependency upgrades for .NET 10 and .NET 9 support.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~13 minutes

Possibly related PRs

Poem

🐰 A rabbit hops through versions with glee,
From 1.29.4 to 1.29.5, you see!
Multi-arch pipelines now split their way,
ARM64 and X64 dance the fray.
Dependencies bumped, release notes sing,
What a marvelous maintenance spring! ✨

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'V0.5.2/service update' clearly summarizes the main change: a service update release for version 0.5.2 that includes dependency upgrades, CI/CD enhancements, and documentation updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ 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 v0.5.2/service-update

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

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

Service update for v0.5.2 that upgrades centrally-managed package dependencies and refactors the GitHub Actions CI pipeline to better support multi-architecture (ARM64) builds/tests, with accompanying documentation and container image updates.

Changes:

  • Upgraded several NuGet package versions via Directory.Packages.props and documented the release in CHANGELOG.md and per-package release notes.
  • Refactored CI workflow to add ARM64 to build and split testing into Linux/Windows jobs, updating downstream job dependencies accordingly.
  • Updated supporting infrastructure references (CI badge, test runner image tag, DocFX/nginx base image).

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
testenvironments.json Updates the Ubuntu docker test runner image/tag used for local/CI test environments.
README.md Updates the CI badge to point at the renamed workflow file.
Directory.Packages.props Bumps centrally-managed package versions for the service release.
CHANGELOG.md Adds the 0.5.2 changelog entry.
.nuget/Codebelt.SharedKernel/PackageReleaseNotes.txt Adds 0.5.2 release notes for the SharedKernel package.
.github/workflows/ci-pipeline.yml Adds ARM64 support and splits tests into test_linux / test_windows; updates job dependencies.
.docfx/Dockerfile.docfx Updates the nginx base image version used for DocFX output hosting.

Copy link

@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 13-14: The PackageVersion entries for coverlet.collector and
coverlet.msbuild were bumped to 8.0.0 but Coverlet 8 requires .NET 8 and
specific SDK/test SDK versions; verify your CI/build agents and developer
machines are running .NET SDK 8.0.112+ and update Microsoft.NET.Test.Sdk to
17.12.0+ if needed, and confirm any projects depending on coverlet.core can
target net8.0 (or add a compatible coverlet.core) — if you cannot guarantee
those upgrades, revert the PackageVersion changes for
coverlet.collector/coverlet.msbuild to the previous compatible version instead
of 8.0.0.
🧹 Nitpick comments (1)
.docfx/Dockerfile.docfx (1)

13-17: Consider adding a non-root USER directive in the final stage.

Trivy flags that this Dockerfile runs as root (DS-0002). For an nginx container serving static docfx content, you could switch to the unprivileged nginx user in the final stage to reduce attack surface.

Suggested change
 FROM nginx:${NGINX_VERSION} AS final
 WORKDIR /usr/share/nginx/html
 COPY --from=build /build/docfx/wwwroot /usr/share/nginx/html
+USER nginx
 
 ENTRYPOINT ["nginx", "-g", "daemon off;"]

Note: Verify that the nginx user exists in the alpine-based image and that file permissions allow it to function correctly.

Comment on lines +13 to +14
<PackageVersion Include="coverlet.collector" Version="8.0.0" />
<PackageVersion Include="coverlet.msbuild" Version="8.0.0" />
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

coverlet 8.0.0 breaking changes from version 6.0

💡 Result:

Coverlet v8.0.0 introduces (relative to v6.0.x) these practical breaking changes:

  • Minimum .NET raised to .NET 8 (LTS): v8.0.0 “upgraded minimum required .NET SDK and runtime to .NET 8.0 LTS” (explicitly called out as a Breaking Change). If your build agents/dev machines are on .NET 6/7, you must upgrade to .NET 8.0+. [1]
  • If you consume Coverlet as components/tools, they now expect .NET 8-era tooling (per project docs):
    • coverlet.collector: requires .NET 8 SDK 8.0.112+ and Microsoft.NET.Test.Sdk 17.12.0+. [2]
    • coverlet.console (.NET global tool): requires .NET 8.0 or above. [2]
  • coverlet.core moved to net8.0 and dropped Newtonsoft.Json (can break you if you reference coverlet.core directly from a project targeting older TFMs, or relied on the transitive Newtonsoft dependency). [1]

Note: the repo tags/releases jump from 6.0.4 to 8.0.0 (no 7.x release line to account for). [1]


Verify .NET 8 SDK compatibility before upgrading coverlet to 8.0.0.

Coverlet 8.0.0 raises the minimum required .NET to 8.0 LTS and drops support for .NET 6/7. Additionally:

  • coverlet.collector requires .NET 8 SDK 8.0.112+ and Microsoft.NET.Test.Sdk 17.12.0+
  • coverlet.core now targets only net8.0 and no longer includes Newtonsoft.Json (transitive dependency removed)

Confirm your build agents and development environment run .NET 8.0+ before proceeding.

🤖 Prompt for AI Agents
In `@Directory.Packages.props` around lines 13 - 14, The PackageVersion entries
for coverlet.collector and coverlet.msbuild were bumped to 8.0.0 but Coverlet 8
requires .NET 8 and specific SDK/test SDK versions; verify your CI/build agents
and developer machines are running .NET SDK 8.0.112+ and update
Microsoft.NET.Test.Sdk to 17.12.0+ if needed, and confirm any projects depending
on coverlet.core can target net8.0 (or add a compatible coverlet.core) — if you
cannot guarantee those upgrades, revert the PackageVersion changes for
coverlet.collector/coverlet.msbuild to the previous compatible version instead
of 8.0.0.

@codecov
Copy link

codecov bot commented Feb 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.50%. Comparing base (4f1fc8c) to head (8cbc99e).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #19   +/-   ##
=======================================
  Coverage   88.50%   88.50%           
=======================================
  Files          11       11           
  Lines         200      200           
  Branches        8        8           
=======================================
  Hits          177      177           
  Misses         23       23           

☔ 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

@gimlichael gimlichael merged commit 0abc9a5 into main Feb 15, 2026
30 checks passed
@gimlichael gimlichael deleted the v0.5.2/service-update branch February 15, 2026 16:35
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.

1 participant