Skip to content

v2.1.0: modernize, fix BufferedRadnomProvider typo, upgrade test stack, add CI/CD#2

Merged
PFalkowski merged 4 commits into
masterfrom
refresh/modernize
Jun 16, 2026
Merged

v2.1.0: modernize, fix BufferedRadnomProvider typo, upgrade test stack, add CI/CD#2
PFalkowski merged 4 commits into
masterfrom
refresh/modernize

Conversation

@PFalkowski

Copy link
Copy Markdown
Owner

Summary

  • Phase 4 — naming bug fix: BufferedRadnomProvider had a persistent typo ("Radom") in both the filename and class name. Added BufferedRandomProvider (correct spelling) as the canonical class; kept BufferedRadnomProvider as an [Obsolete] subclass shim pointing to the new name. File and test class renamed to match.
  • Phase 3 — csproj modernization: removed dangling Resources.resx/Resources.Designer.cs references; added SourceLink 8.0.0, LangVersion latest, Nullable enable, GenerateDocumentationFile, PackageReadmeFile; removed deprecated PackageLicenseUrl/GeneratePackageOnBuild/stale PackageReleaseNotes; updated copyright; bumped to v2.1.0.
  • Test stack upgrade: netcoreapp2.0net8.0; NSubstitute 3.1.0 → 5.3.0; xunit 2.3.1 → 2.9.2; TestSdk 15.5.0 → 17.12.0; added coverlet.collector; fixed nullable warnings; fixed unused theory parameter.
  • Phase 6 — CI/CD: added ci.yml (build + test on every push/PR), publish.yml (tag-driven OIDC Trusted Publishing — no long-lived NuGet key), sonar.yml (SonarCloud with coverage via dotnet-coverage).
  • README: full rewrite — CI, SonarCloud quality gate + coverage, NuGet version + downloads, license, BMC badges; API reference table; usage examples; security note preserved.

Test plan

  • dotnet build — 0 errors, 0 warnings
  • dotnet test — 109/109 passed
  • Merge → verify CI green
  • One-time post-merge setup: set NUGET_USER repo variable; create NuGet Trusted Publishing policy; disable SonarCloud Automatic Analysis; add SONAR_TOKEN secret

🤖 Generated with Claude Code

PFalkowski and others added 4 commits June 15, 2026 09:27
…k, add CI/CD

- Phase 4: add BufferedRandomProvider (fixed spelling); keep BufferedRadnomProvider as
  [Obsolete] shim for backwards compatibility; rename file and test class to match
- Phase 3: remove stale Resources.resx/Designer.cs refs from csproj; add SourceLink
  8.0.0, LangVersion latest, Nullable enable, GenerateDocumentationFile,
  PackageReadmeFile; remove GeneratePackageOnBuild/PackageLicenseUrl/PackageReleaseNotes;
  update copyright 2018→2026; bump v2.0.0→2.1.0
- Test: netcoreapp2.0→net8.0; NSubstitute 3.1.0→5.3.0; xunit 2.3.1→2.9.2;
  TestSdk 15.5.0→17.12.0; add coverlet; fix nullable warnings; fix unused theory param
- Phase 6: add ci.yml, publish.yml (OIDC Trusted Publishing), sonar.yml (with coverage)
- README: full rewrite with CI/Sonar/NuGet/license/BMC badges, API table, usage examples
- .gitattributes: *.yml text eol=lf

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Avoids the SonarCloud 'Avoid expanding secrets in a run block' hotspot.
The secret is already mapped to the env var on each step.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Previously the sed replacement incorrectly changed the env mapping line
(SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}) to a bare var reference, or
the env block was missing entirely. The scanner received an empty/literal
token and authentication failed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@PFalkowski PFalkowski merged commit 81d91db into master Jun 16, 2026
3 checks passed
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