Harden and validate C# workflow - #144
Conversation
Adding CLAUDE.md with task information for AI processing. This file will be removed when the task is complete. Issue: #143
- Fixed CS8600 null warnings in InterfacesTests.cs by making interface variables nullable - Fixed deprecated set-output command warning by using GITHUB_OUTPUT environment file - Fixed NU5048 PackageIconUrl deprecation warning by switching to modern PackageIcon with local icon file - Updated all actions/checkout from v1/v3 to v4 for consistency - Fixed typos in workflow job names (pusnToNuget -> pushToNuget, publiseRelease -> publishRelease) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
|
We also should fix all errors, warnings, false positives and false negatives. And use https://github.com/link-foundation/charp-ai-driven-development-pipeline-template as example of best practices. If the similar issue is also present there we should report issue to that repository. |
|
🤖 AI Work Session Started Starting automated work session at 2026-09-20T05:50:10.619Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait for the session to finish, and provide your feedback. Runtime: solve |
# Conflicts: # .github/workflows/csharp.yml # csharp/Platform.Interfaces.Tests/InterfacesTests.cs # csharp/Platform.Interfaces/Platform.Interfaces.csproj
|
Maintainer action is required before the next C# release: please rotate the repository The fresh This PR adds a presence preflight and keeps GitHub release creation gated on successful publication. NuGet.org has no read-only API-key validation endpoint, so the workflow cannot safely prove expiry or package scope without performing the real push. |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (505.2K + 7.8M cached) input tokens, 54.1K output tokens, $11.869662 cost 🤖 Models used:
📎 Log file uploaded as Gist (4098KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
🎉 Auto-mergedThis pull request has been automatically merged by hive-mind.
Auto-merged by hive-mind with --auto-merge flag |
Summary
Fixes every reproducible C# workflow warning and failure from #143 and makes hidden/skipped failures visible.
mainchanges that fixed compiler and NuGet package warningslinksplatform/Scriptswith reviewed, repository-owned release, PDF, DocFX, and deployment logicnugetand Python 2python-pygments) with supported toolingubuntu-latestmigration and replaces the warning-producing artifact download action withgh run downloadThe review comment linked
link-foundation/charp-ai-driven-development-pipeline-template; that repository does not exist. I used the intendedcsharp-ai-driven-development-pipeline-templateas the best-practices reference. It already implements the relevant default-branch, credential, timeout, and aggregate-status protections. Its workflows do share the newly surfacedubuntu-latestwarning, which is now reported in template issue #63. The NodeBuffer()warning is an upstream action defect already tracked inactions/download-artifact#484.Reproduction and root causes
The latest
mainC# run 35130869182 reproduced the remaining failures:NUGET_TOKENwith HTTP 403nugetUbuntu packagepython-pygmentspackageThe repository secret must be rotated by a maintainer before the next release. The workflow can detect a missing key, but only a real NuGet push can detect expiry or incorrect package scope.
Automated verification
node --test .github/scripts/*.test.mjs— 25 passed.github/scripts/validate-csharp-package.sh— strict build, 2 tests, package-content validation, 0 warningsactionlint— passedshellcheck .github/scripts/*.sh— passeddocfx docfx.json --warningsAsErrorswith DocFX 2.80.1 — 0 warnings, 0 errors.github/scripts/generate-csharp-pdf.sh— generated an 8-page PDF locallyThe new workflow-policy and aggregate-status tests reproduce the former false negatives and protect the corrected behavior.
Resolves #143