dotnet-ci-benchmarking

Detect .NET performance regressions from BenchmarkDotNet JSON exports in GitHub Actions.

1|Updated Feb 22, 2026
One-click install
npx skills add https://github.com/rudironsoni/dotnet-agent-harness --skill dotnet-ci-benchmarking-rudironsoni
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-ci-benchmarking
Source: https://github.com/rudironsoni/dotnet-agent-harness/tree/main/.rulesync/skills/dotnet-ci-benchmarking
Command: npx skills add https://github.com/rudironsoni/dotnet-agent-harness --skill dotnet-ci-benchmarking-rudironsoni

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill automates the detection of performance regressions in Continuous Integration (CI) pipelines, preventing performance degradation from being merged into your codebase.

Core Features & Use Cases

  • Automated Baseline Tracking: Manages baseline performance metrics using BenchmarkDotNet JSON exports.
  • CI Integration: Provides GitHub Actions workflows for comparing current benchmarks against historical baselines stored as artifacts.
  • Regression Detection: Flags performance regressions based on configurable percentage thresholds for execution time and memory allocation.
  • Alerting: Generates reports and can fail builds or comment on Pull Requests when regressions are detected.
  • Use Case: Ensure that new code changes in your ASP.NET Core application do not negatively impact API response times by automatically running benchmarks on every pull request and failing the build if performance degrades by more than 10%.

Quick Start

Use the dotnet-ci-benchmarking skill to set up a GitHub Actions workflow that runs benchmarks and compares them against a baseline.

Frequently Asked Questions about dotnet-ci-benchmarking

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect .NET performance regressions in GitHub Actions CI pipelines?

Automated .NET performance regression detection compares BenchmarkDotNet JSON exports against historical baselines stored as GitHub Actions artifacts. It flags execution time and memory allocation degradation based on configurable percentage thresholds to prevent bad merges.

How do I set up a GitHub Actions workflow to fail builds on benchmark degradation?

Set up a GitHub Actions workflow to fail builds on benchmark degradation by running BenchmarkDotNet on every pull request, comparing the JSON output to a baseline artifact, and configuring the build to fail if timing or memory regressions exceed your threshold.

Does this CI benchmarking approach require a specific version of BenchmarkDotNet?

Yes, this CI benchmarking approach requires BenchmarkDotNet v0.14 or higher. It also requires a GitHub Actions runner environment to store baseline artifacts and execute the performance regression testing workflows.

Can I configure custom thresholds for memory allocation and execution time regressions?

Yes, you can configure custom percentage thresholds for both memory allocation and execution time regressions. The comparison logic evaluates BenchmarkDotNet JSON exports against these thresholds to determine if a performance regression occurred.

What is the best way to track baseline performance metrics for dotnet benchmarks?

The best way to track baseline performance metrics for dotnet benchmarks is to store BenchmarkDotNet JSON exports as GitHub Actions artifacts. This allows automated CI workflows to fetch and compare historical baselines against current runs.

How are developers alerted when a performance regression is detected in a pull request?

Developers are alerted of performance regressions through generated reports and automated GitHub Actions build failures. The system can also comment directly on pull requests when timing or memory allocation thresholds are breached.