Skip to content

chore: publish to nuget.org via trusted publishing - #878

Merged
vbreuss merged 1 commit into
mainfrom
chore/nuget-trusted-publishing
Oct 8, 2026
Merged

vbreuss merged 1 commit into
mainfrom
chore/nuget-trusted-publishing

Conversation

@vbreuss

@vbreuss vbreuss commented Oct 8, 2026

Copy link
Copy Markdown
Member

Short-lived OIDC credentials replace the long-lived NuGet API key secret.

Short-lived OIDC credentials replace the long-lived NuGet API key secret.
Copilot AI balanced review requested due to automatic review settings October 8, 2026 19:25
@vbreuss
vbreuss enabled auto-merge (squash) October 8, 2026 19:25

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The workflow correctly configures and consumes NuGet’s short-lived OIDC credentials.

0 open findings

What changed in this PR

Replaces the long-lived NuGet API key with short-lived OIDC credentials for package publishing.

Changes:

  • Grants the publish job OIDC token permission.
  • Authenticates through NuGet/login@v1.
  • Uses the generated temporary API key when pushing packages.
File Description
.github/​workflows/​build.yml Configures trusted NuGet publishing via OIDC.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@sonarqubecloud

sonarqubecloud Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Quality Gate Passed Quality Gate passed

Issues
0 New issues
1 Accepted issue

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarQube Cloud

Comment thread .github/workflows/build.yml Dismissed
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown

Test Results

    24 files  ±0      24 suites  ±0   14m 10s ⏱️ + 1m 30s
 4 524 tests ±0   4 522 ✅ ±0  2 💤 ±0  0 ❌ ±0 
28 649 runs  ±0  28 645 ✅ ±0  4 💤 ±0  0 ❌ ±0 

Results for commit 42e7410. ± Comparison against base commit 987d70b.

@vbreuss
vbreuss merged commit be6f564 into main Oct 8, 2026
19 checks passed
@vbreuss
vbreuss deleted the chore/nuget-trusted-publishing branch October 8, 2026 19:40
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown

🚀 Benchmark Results

Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
[Host] : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Method N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 529.8 ns 12.44 ns 11.63 ns 1.37 1.93 KB 1.00
Mockolate 1 385.4 ns 8.03 ns 7.51 ns 1.00 1.93 KB 1.00
Imposter 1 594.3 ns 17.16 ns 16.05 ns 1.54 4.04 KB 2.09
TUnitMocks 1 542.3 ns 5.25 ns 4.91 ns 1.41 2.02 KB 1.05
Moq 1 137,470.5 ns 512.16 ns 479.07 ns 356.86 14.81 KB 7.67
NSubstitute 1 6,173.1 ns 31.67 ns 29.62 ns 16.02 9.12 KB 4.72
FakeItEasy 1 6,417.5 ns 47.54 ns 44.47 ns 16.66 8.06 KB 4.18
baseline* 10 1,140.9 ns 13.87 ns 12.98 ns 1.40 2.14 KB 1.00
Mockolate 10 812.3 ns 9.55 ns 8.93 ns 1.00 2.14 KB 1.00
Imposter 10 1,149.0 ns 13.44 ns 11.92 ns 1.41 5.52 KB 2.58
TUnitMocks 10 1,747.1 ns 33.48 ns 31.31 ns 2.15 3.73 KB 1.74
Moq 10 144,105.7 ns 519.71 ns 460.71 ns 177.43 18.7 KB 8.74
NSubstitute 10 9,057.4 ns 45.62 ns 40.44 ns 11.15 12.07 KB 5.64
FakeItEasy 10 9,732.0 ns 95.18 ns 89.04 ns 11.98 15.42 KB 7.20
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 3.23GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
[Host] : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Event Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 226.4 ns 2.01 ns 1.88 ns 0.70 1.7 KB 1.00
Mockolate 325.4 ns 7.89 ns 6.99 ns 1.00 1.7 KB 1.00
Imposter 1,566.1 ns 22.91 ns 20.31 ns 4.81 8.8 KB 5.17
TUnitMocks 203.2 ns 6.70 ns 6.27 ns 0.62 1.34 KB 0.79
Moq 16,166.2 ns 122.72 ns 114.79 ns 49.70 12.51 KB 7.35
NSubstitute 6,089.4 ns 48.15 ns 45.04 ns 18.72 9.05 KB 5.31
FakeItEasy 219,036.7 ns 2,487.51 ns 2,326.82 ns 673.36 15.26 KB 8.96
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 4.42GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
[Host] : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Callback Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 347.2 ns 11.89 ns 10.54 ns 1.86 1.57 KB 1.00
Mockolate 187.0 ns 2.24 ns 1.75 ns 1.00 1.57 KB 1.00
Imposter 223.0 ns 6.81 ns 6.37 ns 1.19 2.38 KB 1.52
TUnitMocks 313.5 ns 10.18 ns 9.53 ns 1.68 2 KB 1.27
Moq 29,048.8 ns 499.53 ns 442.82 ns 155.31 8.88 KB 5.66
NSubstitute 2,346.4 ns 54.44 ns 50.92 ns 12.55 7.71 KB 4.91
FakeItEasy 2,382.6 ns 114.24 ns 101.27 ns 12.74 6.81 KB 4.33
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.71GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
[Host] : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Indexer N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 784.0 ns 11.11 ns 10.39 ns 0.82 3.77 KB 1.00
Mockolate 1 952.2 ns 23.72 ns 21.03 ns 1.00 3.77 KB 1.00
Imposter 1 842.4 ns 30.83 ns 27.33 ns 0.89 5.16 KB 1.37
Moq 1 211,464.5 ns 1,190.75 ns 1,113.83 ns 222.17 20.37 KB 5.41
NSubstitute 1 10,098.5 ns 90.16 ns 75.29 ns 10.61 12.84 KB 3.41
FakeItEasy 1 11,977.5 ns 88.37 ns 82.66 ns 12.58 13.63 KB 3.62
baseline* 10 2,440.8 ns 30.35 ns 28.39 ns 1.01 4.82 KB 1.00
Mockolate 10 2,407.9 ns 17.67 ns 16.52 ns 1.00 4.82 KB 1.00
Imposter 10 2,116.2 ns 16.61 ns 15.53 ns 0.88 7.97 KB 1.65
Moq 10 224,492.7 ns 495.55 ns 413.81 ns 93.24 29.89 KB 6.20
NSubstitute 10 24,305.8 ns 133.97 ns 125.32 ns 10.09 25.63 KB 5.32
FakeItEasy 10 25,210.6 ns 187.37 ns 175.26 ns 10.47 32.97 KB 6.84
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
[Host] : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

CreateMock Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 16.81 ns 0.252 ns 0.210 ns 1.11 160 B 1.00
Mockolate 15.19 ns 0.209 ns 0.185 ns 1.00 160 B 1.00
Imposter 224.89 ns 2.794 ns 2.614 ns 14.81 2248 B 14.05
TUnitMocks 31.24 ns 0.407 ns 0.381 ns 2.06 200 B 1.25
Moq 1,074.62 ns 12.583 ns 11.770 ns 70.77 2096 B 13.10
NSubstitute 1,511.80 ns 16.740 ns 14.839 ns 99.55 5048 B 31.55
FakeItEasy 1,435.28 ns 16.980 ns 15.883 ns 94.52 2763 B 17.27
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.85GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
[Host] : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Property N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 517.9 ns 14.06 ns 13.16 ns 0.98 2.41 KB 1.00
Mockolate 1 530.3 ns 18.87 ns 17.65 ns 1.00 2.41 KB 1.00
Imposter 1 428.1 ns 2.17 ns 1.81 ns 0.81 3.13 KB 1.29
TUnitMocks 1 456.8 ns 2.67 ns 2.23 ns 0.86 1.64 KB 0.68
Moq 1 11,730.8 ns 104.90 ns 92.99 ns 22.14 10.27 KB 4.25
NSubstitute 1 7,419.8 ns 25.37 ns 21.19 ns 14.01 11.45 KB 4.74
FakeItEasy 1 8,807.4 ns 178.16 ns 166.65 ns 16.63 11.24 KB 4.66
baseline* 10 1,060.1 ns 6.75 ns 6.32 ns 1.04 2.91 KB 1.00
Mockolate 10 1,022.0 ns 18.16 ns 16.09 ns 1.00 2.91 KB 1.00
Imposter 10 1,138.7 ns 41.39 ns 38.72 ns 1.11 4.67 KB 1.61
TUnitMocks 10 1,637.7 ns 29.25 ns 27.36 ns 1.60 3.94 KB 1.35
Moq 10 18,846.1 ns 94.90 ns 88.77 ns 18.44 17.03 KB 5.86
NSubstitute 10 17,329.3 ns 112.38 ns 93.84 ns 16.96 21.08 KB 7.25
FakeItEasy 10 20,379.2 ns 166.65 ns 155.88 ns 19.94 30.81 KB 10.60

baseline* rows show the corresponding Mockolate benchmark from the most recent successful main branch build with results, for regression comparison.

github-actions Bot added a commit that referenced this pull request Oct 8, 2026
github-actions Bot added a commit that referenced this pull request Oct 8, 2026
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

This is addressed in release v3.6.0.

@github-actions github-actions Bot added the state: released The issue is released label Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state: released The issue is released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants