feat(api): public-api-analyzer als fail-closed gate aktivieren#126
feat(api): public-api-analyzer als fail-closed gate aktivieren#126tomtastisch merged 1 commit intomainfrom
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
This PR activates fail-closed public API auditability for the FileTypeDetectionLib project by integrating Microsoft.CodeAnalysis.PublicApiAnalyzers as a mandatory build gate. The change establishes a baseline of the current public API surface and enforces that any future API changes must be explicitly declared in baseline files, preventing unintentional API drift. Version convergence is updated to 6.1.16 across all project and documentation files.
Changes:
- Added and activated
Microsoft.CodeAnalysis.PublicApiAnalyzerswith fail-closed enforcement forFileTypeDetectionLib - Established public API baseline files (
PublicAPI.Shipped.txtwith 144 entries,PublicAPI.Unshipped.txtempty) - Updated version convergence to
6.1.16acrossDirectory.Build.props, project file, and all documentation - Extended governance policy documentation (DE/EN + mirrors) to define the mandatory API change workflow
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| Directory.Packages.props | Added Microsoft.CodeAnalysis.PublicApiAnalyzers 3.3.4 to centrally managed packages |
| Directory.Build.props | Activated PublicApiAnalyzers for FileTypeDetectionLib with fail-closed RS diagnostics as WarningsAsErrors; updated RepoVersion to 6.1.16 |
| src/FileTypeDetection/FileTypeDetectionLib.vbproj | Updated Version and PackageVersion to 6.1.16 |
| src/FileTypeDetection/PublicAPI.Shipped.txt | Created baseline with 144 public API entries representing the current shipped API surface |
| src/FileTypeDetection/PublicAPI.Unshipped.txt | Created empty baseline file for tracking not-yet-released API changes |
| src/FileTypeDetection/packages.lock.json | Regenerated lock file reflecting the new PublicApiAnalyzers package dependency across all target frameworks |
| docs/governance/045_CODE_QUALITY_POLICY_DE.MD | Added section 13 documenting the fail-closed Public API governance workflow (German) |
| docs/governance/145_CODE_QUALITY_POLICY_DE.MD | Added section 12 documenting the fail-closed Public API governance workflow (English) |
| docs/0_de/governance/045_CODE_QUALITY_POLICY_DE.MD | German mirror: Added section 13 for Public API governance |
| docs/1_en/governance/045_CODE_QUALITY_POLICY_DE.MD | English mirror: Added section 12 for Public API governance |
| docs/versioning/002_HISTORY_VERSIONS.MD | Added version 6.1.16 entry documenting API auditability activation (German) |
| docs/versioning/102_HISTORY_VERSIONS.MD | Added version 6.1.16 entry documenting API auditability activation (English) |
| docs/versioning/003_CHANGELOG_RELEASES.MD | Added 6.1.16 release notes in German format |
| docs/versioning/103_CHANGELOG_RELEASES.MD | Added 6.1.16 release notes in English format |
| docs/0_de/versioning/002_HISTORY_VERSIONS.MD | German mirror: Added 6.1.16 version entry |
| docs/0_de/versioning/003_CHANGELOG_RELEASES.MD | German mirror: Added 6.1.16 changelog |
| docs/1_en/versioning/002_HISTORY_VERSIONS.MD | English mirror: Added 6.1.16 version entry |
| docs/1_en/versioning/003_CHANGELOG_RELEASES.MD | English mirror: Added 6.1.16 changelog |
Ziel & Scope
FileTypeDetectionLibfail-closed aktivieren.6.1.16herstellen.Umgesetzte Aufgaben (abhaken)
Microsoft.CodeAnalysis.PublicApiAnalyzerszentral inDirectory.Packages.propsergänzt.Directory.Build.propsfürFileTypeDetectionLibaktiviert (PrivateAssets=all).RS0016/RS0017/RS0022/RS0023/RS0024/RS0025/RS0026/RS0027) alsWarningsAsErrorsfürFileTypeDetectionLibgesetzt.src/FileTypeDetection/PublicAPI.Shipped.txtundsrc/FileTypeDetection/PublicAPI.Unshipped.txt.Shippedbefüllt,Unshippedgeleert).6.1.16aktualisiert.RepoVersion,Version,PackageVersionauf6.1.16angehoben.Nachbesserungen aus Review (iterativ)
Security- und Merge-Gates
security/code-scanning/toolsmuss vor Merge0 offene Alertsliefern.Evidence (auditierbar)
dotnet restore --locked-mode FileClassifier.sln -v minimaldotnet build FileClassifier.sln -c Release --no-restore -warnaserror -v minimaldotnet test tests/FileTypeDetectionLib.Tests/FileTypeDetectionLib.Tests.csproj -c Release --no-build -v minimalbash tools/ci/bin/run.sh preflightdotnet format analyzers src/FileTypeDetection/FileTypeDetectionLib.vbproj --diagnostics RS0016 --severity info --no-restore -v minimalgh api 'repos/tomtastisch/FileClassifier/code-scanning/alerts?state=open&per_page=100' --jq 'length'DoD (mindestens 2 pro Punkt)
RS0016*)PublicAPI.Shipped.txt+PublicAPI.Unshipped.txtsind im Projektpfad vorhandenDirectory.Build.props+FileTypeDetectionLib.vbprojtragen6.1.166.1.16