Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .docfx/Dockerfile.docfx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG NGINX_VERSION=1.29.4-alpine
ARG NGINX_VERSION=1.29.5-alpine

FROM --platform=$BUILDPLATFORM nginx:${NGINX_VERSION} AS base
RUN rm -rf /usr/share/nginx/html/*
Expand Down
2 changes: 1 addition & 1 deletion .docfx/docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
],
"globalMetadata": {
"_appTitle": "Extensions for BenchmarkDotNet by Codebelt",
"_appFooter": "<span>Generated by <strong>DocFX</strong>. Copyright 2025 Geekle. All rights reserved.</span>",
"_appFooter": "<span>Generated by <strong>DocFX</strong>. Copyright 2025-2026 Geekle. All rights reserved.</span>",
"_appLogoPath": "images/50x50.png",
"_appFaviconPath": "images/favicon.ico",
"_googleAnalyticsTagId": "G-K2NG2TXDWQ",
Expand Down
38 changes: 30 additions & 8 deletions .github/workflows/ci-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,14 @@ jobs:
name: call-build
strategy:
matrix:
arch: [X64, ARM64]
configuration: [Debug, Release]
uses: codebeltnet/jobs-dotnet-build/.github/workflows/default.yml@v3
with:
configuration: ${{ matrix.configuration }}
strong-name-key-filename: benchmarkdotnet.snk
runs-on: ${{ matrix.arch == 'ARM64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
upload-build-artifact-name: build-${{ matrix.configuration }}-${{ matrix.arch }}
secrets: inherit

pack:
Expand All @@ -38,26 +41,45 @@ jobs:
with:
configuration: ${{ matrix.configuration }}
version: ${{ needs.build.outputs.version }}
download-build-artifact-pattern: build-${{ matrix.configuration }}-X64
Comment on lines 41 to +44
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.

pack now downloads only the X64 build artifact (download-build-artifact-pattern: ...-X64), but it still needs: [build] where build runs a full X64+ARM64 matrix. This makes pack wait for ARM64 builds it never consumes, increasing pipeline duration. Consider restructuring so pack only depends on the specific build artifact it needs (e.g., a dedicated X64 build job used for packing/versioning), while keeping ARM64 builds for test validation.

Copilot uses AI. Check for mistakes.

test:
name: call-test
test_linux:
name: call-test-linux
needs: [build]
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, windows-2025, ubuntu-24.04-arm, windows-11-arm]
configuration: [Debug, Release]
arch: [X64, ARM64]
uses: codebeltnet/jobs-dotnet-test/.github/workflows/default.yml@v3
with:
runs-on: ${{ matrix.arch == 'ARM64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
configuration: ${{ matrix.configuration }}
runs-on: ${{ matrix.os }}
build-switches: -p:SkipSignAssembly=true
build: true # we need to build due to xUnitv3
restore: true # we need to restore due to xUnitv3
download-pattern: build-${{ matrix.configuration }}-${{ matrix.arch }}

test_windows:
name: call-test-windows
needs: [build]
strategy:
fail-fast: false
matrix:
configuration: [Debug, Release]
arch: [X64, ARM64]
uses: codebeltnet/jobs-dotnet-test/.github/workflows/default.yml@v3
with:
runs-on: ${{ matrix.arch == 'ARM64' && 'windows-11-arm' || 'windows-2025' }}
configuration: ${{ matrix.configuration }}
build-switches: -p:SkipSignAssembly=true
build: true # we need to build due to xUnitv3
restore: true # we need to restore due to xUnitv3
download-pattern: build-${{ matrix.configuration }}-${{ matrix.arch }}

sonarcloud:
name: call-sonarcloud
needs: [build, test]
needs: [build, test_linux, test_windows]
uses: codebeltnet/jobs-sonarcloud/.github/workflows/default.yml@v3
with:
organization: geekle
Expand All @@ -67,23 +89,23 @@ jobs:

codecov:
name: call-codecov
needs: [build, test]
needs: [build, test_linux, test_windows]
uses: codebeltnet/jobs-codecov/.github/workflows/default.yml@v1
with:
repository: codebeltnet/benchmarkdotnet
secrets: inherit

codeql:
name: call-codeql
needs: [build, test]
needs: [build, test_linux, test_windows]
uses: codebeltnet/jobs-codeql/.github/workflows/default.yml@v3
permissions:
security-events: write

deploy:
if: github.event_name != 'pull_request'
name: call-nuget
needs: [build, pack, test, sonarcloud, codecov, codeql]
needs: [build, pack, test_linux, test_windows, sonarcloud, codecov, codeql]
uses: codebeltnet/jobs-nuget-push/.github/workflows/default.yml@v2
with:
version: ${{ needs.build.outputs.version }}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 1.2.2
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 1.2.1
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 1.2.2
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 1.2.1
Availability: .NET 10 and .NET 9

Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),

For more details, please refer to `PackageReleaseNotes.txt` on a per assembly basis in the `.nuget` folder.

## [1.2.2] - 2026-02-15

This is a service update that focuses on package dependencies.

## [1.2.1] - 2026-01-20

This is a service update that focuses on package dependencies.
Expand Down
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

<PropertyGroup Condition="'$(IsSourceProject)' == 'true'">
<TargetFrameworks>net10.0;net9.0</TargetFrameworks>
<Copyright>Copyright © Geekle 2025. All rights reserved.</Copyright>
<Copyright>Copyright © Geekle 2025-2026. All rights reserved.</Copyright>
<Authors>gimlichael</Authors>
<Company>Geekle</Company>
<Product>Extensions for BenchmarkDotNet API by Codebelt</Product>
Expand Down
8 changes: 4 additions & 4 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
<PackageVersion Include="BenchmarkDotNet" Version="0.15.8" />
<PackageVersion Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.15.8" />
<PackageVersion Include="Codebelt.Bootstrapper.Console" Version="5.0.2" />
<PackageVersion Include="Codebelt.Extensions.Xunit.App" Version="11.0.4" />
<PackageVersion Include="Cuemon.Core" Version="10.1.1" />
<PackageVersion Include="Codebelt.Extensions.Xunit.App" Version="11.0.5" />
<PackageVersion Include="Cuemon.Core" Version="10.2.1" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
<PackageVersion Include="MinVer" Version="7.0.0" />
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
<PackageVersion Include="coverlet.msbuild" Version="6.0.4" />
<PackageVersion Include="coverlet.collector" Version="8.0.0" />
<PackageVersion Include="coverlet.msbuild" Version="8.0.0" />
Comment on lines +9 to +14
Copy link

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 breaking changes from 6.x migration guide

💡 Result:

As of Feb 2026, upstream coverlet has not released any 8.0.0 package/version—GitHub “Releases” shows the latest as v6.0.4 (Jan 19, 2025). [1] So there’s no official “6.x → 8.0.0” migration guide.

What you can migrate (6.x notes / breaking changes)

  • If you’re coming from <6.0.0 to 6.x:

    • InstrumentModulesWithoutLocalSources was removed. Use the new ExcludeAssembliesWithoutSources instead (e.g., set it to None to get the old “instrument even without local sources” behavior). [2]
    • The default instrumentation heuristic changed: previously, any missing source file could cause an assembly to be skipped; now, only assemblies where no source files are found are excluded. You can approximate the old behavior with ExcludeAssembliesWithoutSources=MissingAny (or use explicit assembly exclude filters). [2]
  • If you’re already on 6.x: there are no additional breaking changes documented after 6.0.0—6.0.1–6.0.4 are fixes/improvements in the changelog. [2]

Upcoming breaking change (not released yet)

  • The changelog “Unreleased” section notes a planned breaking change: minimum required .NET SDK/runtime will be raised to .NET 8 LTS. [2]

If you meant a different package named “coverlet 8.0.0” (fork/third-party), tell me the exact NuGet package ID (e.g., coverlet.collector, coverlet.msbuild, etc.) and where you saw 8.0.0, and I’ll map the migration to that artifact.


Fix invalid coverlet package version: 8.0.0 does not exist in official releases.

The Directory.Packages.props file specifies coverlet.collector and coverlet.msbuild at version 8.0.0, but this version has not been released. As of February 2026, the latest official coverlet release is 6.0.4 (Jan 19, 2025). Builds will fail when attempting to resolve these non-existent package versions. Update to the latest stable version (6.0.4) or verify if a specific version was intended.

🤖 Prompt for AI Agents
In `@Directory.Packages.props` around lines 9 - 14, The two PackageVersion entries
for coverlet.collector and coverlet.msbuild in Directory.Packages.props
reference a non-existent version (8.0.0); update those PackageVersion
Include="coverlet.collector" and PackageVersion Include="coverlet.msbuild"
entries to a valid released version (e.g., 6.0.4) or the intended stable
release, then restore/build to verify resolution.

<PackageVersion Include="xunit.v3" Version="3.2.2" />
<PackageVersion Include="xunit.v3.runner.console" Version="3.2.2" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2025 Geekle
Copyright (c) 2025-2026 Geekle

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion testenvironments.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
{
"name": "Docker-Ubuntu",
"type": "docker",
"dockerImage": "gimlichael/ubuntu-testrunner:net8.0.417-9.0.309-10.0.102"
"dockerImage": "codebeltnet/ubuntu-testrunner:net8.0.418-9.0.311-10.0.103"
}
]
}
Loading