Skip to content

chore: align the IDE settings, sponsoring and release notes - #894

Merged
vbreuss merged 3 commits into
mainfrom
chore/align-ide-and-release-settings
Oct 18, 2026
Merged

vbreuss merged 3 commits into
mainfrom
chore/align-ide-and-release-settings

Conversation

@vbreuss

@vbreuss vbreuss commented Oct 18, 2026

Copy link
Copy Markdown
Member

The repositories tracked different sets of Rider files, among them the settings of the repository they were created from, a root .idea folder that Rider does not use for a solution, and the state of a Copilot plugin from a single machine. Every repository now tracks the same shared settings for its solution, and their .gitignore keeps the plugin state out. The sponsor link and the categories of the generated release notes are the same everywhere.

@vbreuss vbreuss self-assigned this Oct 18, 2026
@vbreuss
vbreuss added this pull request to stack #893 October 18, 2026 09:28
@vbreuss
vbreuss force-pushed the chore/align-ide-and-release-settings branch from 7c642cc to 7eb1afc Compare October 18, 2026 11:40
Copilot AI balanced review requested due to automatic review settings October 18, 2026 11:40

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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

CI-Analysis runs with repository secrets on artifacts that a pull request controls, and it trusted the pull request number, branch name and comment body in them. A pull request could therefore comment on any pull request, overwrite the mutation score of `main` or mention users. The pull request and the dashboard version now come from the `workflow_run` event alone, artifacts are checked for symbolic links, the report is validated before the upload, comment content is defused, and only comments of the pipeline are updated. The mutation job of CI-Analysis now also publishes pull request reports to the dashboard, which the comment's badge links to.

A release tag that is no valid version now fails the build instead of producing an odd package version. Stryker is pinned to 5.0.0 through the build project so that Dependabot updates it, GitVersion and ReportGenerator run on .NET 10 like in the other repositories, Sonar reads the generic coverage format, which keeps the lines of lambdas in generic classes, the mutation targets follow the names of aweXpect, and all actions are pinned to a commit. Dependabot no longer bumps Roslyn, because the analyzers and the source generator only load in compilers at least as new as the Roslyn they reference.
The tests use the latest aweXpect release, the line-ending rule for solutions targets `.slnx`, which replaced the `.sln` file it still named, and the team settings are renamed after the `.slnx` solution, because Rider only picks up a `.DotSettings` file named after the solution file it opens.
The repositories tracked different sets of Rider files, among them the settings of the repository they were created from, a root `.idea` folder that Rider does not use for a solution, and the state of a Copilot plugin from a single machine. Every repository now tracks the same shared settings for its solution, and their `.gitignore` keeps the plugin state out. The sponsor link and the categories of the generated release notes are the same everywhere.
@vbreuss
vbreuss force-pushed the chore/align-ide-and-release-settings branch from 7eb1afc to 2853155 Compare October 18, 2026 11:41
Base automatically changed from chore/align-repository to main October 18, 2026 11:42
@vbreuss
vbreuss merged commit 1f59b59 into main Oct 18, 2026
14 checks passed
@vbreuss
vbreuss deleted the chore/align-ide-and-release-settings branch October 18, 2026 11:42
@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

👽 Mutation Results

Mutation testing badge

Mockolate

Details
File Score Killed Survived Timeout No Coverage Ignored Compile Errors Runtime Errors Total Detected Total Undetected Total Mutants

The final mutation score is NaN%

Coverage Thresholds: high:80 low:60 break:0

@github-actions

Copy link
Copy Markdown

🚀 Benchmark Results

Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.13 (10.0.13, 10.0.1326.50504), 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 402.0 ns 16.89 ns 14.97 ns 1.45 1.93 KB 1.00
Mockolate 1 277.1 ns 6.08 ns 5.69 ns 1.00 1.93 KB 1.00
Imposter 1 407.2 ns 1.39 ns 1.23 ns 1.47 3.96 KB 2.05
TUnitMocks 1 382.5 ns 0.58 ns 0.45 ns 1.38 2.02 KB 1.05
Moq 1 106,068.9 ns 589.72 ns 522.77 ns 382.99 14.59 KB 7.56
NSubstitute 1 4,381.6 ns 14.02 ns 12.43 ns 15.82 9.12 KB 4.72
FakeItEasy 1 4,135.1 ns 9.89 ns 9.26 ns 14.93 8.05 KB 4.17
baseline* 10 704.6 ns 17.06 ns 15.96 ns 1.48 2.14 KB 1.00
Mockolate 10 476.8 ns 6.71 ns 6.27 ns 1.00 2.14 KB 1.00
Imposter 10 680.4 ns 3.36 ns 2.98 ns 1.43 4.8 KB 2.24
TUnitMocks 10 1,089.9 ns 4.32 ns 4.05 ns 2.29 3.73 KB 1.74
Moq 10 109,483.1 ns 271.34 ns 253.82 ns 229.64 18.49 KB 8.64
NSubstitute 10 6,422.4 ns 26.29 ns 21.95 ns 13.47 12.07 KB 5.64
FakeItEasy 10 6,591.9 ns 26.45 ns 24.74 ns 13.83 15.42 KB 7.20
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.79GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v4

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

Event Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 290.3 ns 11.71 ns 10.96 ns 0.79 1.7 KB 1.00
Mockolate 365.9 ns 17.25 ns 16.13 ns 1.00 1.7 KB 1.00
Imposter 1,093.7 ns 46.39 ns 43.40 ns 2.99 7.18 KB 4.22
TUnitMocks 258.8 ns 17.03 ns 15.93 ns 0.71 1.34 KB 0.79
Moq 12,926.4 ns 1,640.44 ns 1,534.47 ns 35.39 12.51 KB 7.34
NSubstitute 5,711.0 ns 184.82 ns 163.84 ns 15.64 9.05 KB 5.31
FakeItEasy 128,359.6 ns 4,347.75 ns 4,066.88 ns 351.41 15.22 KB 8.94
Details

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

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

Callback Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 309.4 ns 7.72 ns 7.22 ns 0.88 1.57 KB 1.00
Mockolate 350.8 ns 6.33 ns 5.92 ns 1.00 1.57 KB 1.00
Imposter 487.2 ns 12.13 ns 11.35 ns 1.39 2.37 KB 1.51
TUnitMocks 813.0 ns 5.43 ns 4.82 ns 2.32 2 KB 1.27
Moq 99,333.0 ns 372.68 ns 348.61 ns 283.25 9.02 KB 5.75
NSubstitute 4,900.9 ns 6.89 ns 5.75 ns 13.97 7.71 KB 4.91
FakeItEasy 5,223.7 ns 17.91 ns 15.88 ns 14.90 6.81 KB 4.33
Details

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

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

Indexer N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 999.5 ns 32.64 ns 27.25 ns 1.40 3.77 KB 1.00
Mockolate 1 713.7 ns 12.76 ns 11.93 ns 1.00 3.77 KB 1.00
Imposter 1 621.0 ns 9.09 ns 8.50 ns 0.87 4.99 KB 1.33
Moq 1 134,905.4 ns 846.52 ns 750.42 ns 189.07 20.39 KB 5.41
NSubstitute 1 7,221.7 ns 13.74 ns 12.18 ns 10.12 12.84 KB 3.41
FakeItEasy 1 7,682.0 ns 46.85 ns 43.83 ns 10.77 13.63 KB 3.62
baseline* 10 2,472.3 ns 27.65 ns 25.86 ns 1.29 4.82 KB 1.00
Mockolate 10 1,909.6 ns 13.06 ns 12.22 ns 1.00 4.82 KB 1.00
Imposter 10 1,105.2 ns 7.70 ns 7.20 ns 0.58 6.47 KB 1.34
Moq 10 141,866.2 ns 279.51 ns 247.78 ns 74.29 29.89 KB 6.20
NSubstitute 10 18,112.3 ns 64.68 ns 60.50 ns 9.49 25.63 KB 5.32
FakeItEasy 10 16,133.1 ns 78.29 ns 73.23 ns 8.45 32.97 KB 6.84
Details

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

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

CreateMock Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 20.55 ns 1.009 ns 0.944 ns 1.09 160 B 1.00
Mockolate 18.91 ns 0.428 ns 0.400 ns 1.00 160 B 1.00
Imposter 298.11 ns 3.685 ns 3.077 ns 15.77 2240 B 14.00
TUnitMocks 38.64 ns 0.283 ns 0.265 ns 2.04 200 B 1.25
Moq 1,411.09 ns 17.384 ns 16.261 ns 74.65 2096 B 13.10
NSubstitute 2,022.30 ns 8.908 ns 7.897 ns 106.98 5048 B 31.55
FakeItEasy 1,905.23 ns 28.073 ns 26.260 ns 100.79 2763 B 17.27
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.81GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.13 (10.0.13, 10.0.1326.50504), 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 492.0 ns 13.95 ns 13.05 ns 0.95 2.41 KB 1.00
Mockolate 1 516.4 ns 10.35 ns 8.64 ns 1.00 2.41 KB 1.00
Imposter 1 403.8 ns 3.83 ns 3.58 ns 0.78 2.98 KB 1.23
TUnitMocks 1 472.3 ns 9.84 ns 9.20 ns 0.91 1.64 KB 0.68
Moq 1 11,797.1 ns 75.09 ns 70.23 ns 22.85 10.27 KB 4.25
NSubstitute 1 7,647.6 ns 70.40 ns 65.85 ns 14.81 11.45 KB 4.74
FakeItEasy 1 8,408.9 ns 33.23 ns 29.46 ns 16.29 11.24 KB 4.66
baseline* 10 988.6 ns 12.13 ns 11.34 ns 0.97 2.91 KB 1.00
Mockolate 10 1,020.2 ns 9.96 ns 9.31 ns 1.00 2.91 KB 1.00
Imposter 10 637.3 ns 3.25 ns 3.04 ns 0.62 3.26 KB 1.12
TUnitMocks 10 1,568.2 ns 8.15 ns 6.80 ns 1.54 3.94 KB 1.35
Moq 10 18,760.3 ns 193.13 ns 171.21 ns 18.39 17.03 KB 5.86
NSubstitute 10 17,381.7 ns 221.15 ns 206.86 ns 17.04 21.08 KB 7.25
FakeItEasy 10 19,690.5 ns 151.96 ns 142.14 ns 19.30 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 18, 2026
github-actions Bot added a commit that referenced this pull request Oct 18, 2026
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