Jens-G opened a new pull request, #3481: URL: https://github.com/apache/thrift/pull/3481
## Summary - Adds `lib/netstd/Tests/codegen/run-NetStd-Codegen-Tests.ps1`: a PowerShell script that tests the netstd code generator by compiling every `.thrift` file in the repository against the Thrift library for each target .NET version - Extends the script with optional parameters `-TargetVersions`, `-TargetFolder`, `-ExtraThriftFiles` (backward-compatible; default behaviour unchanged when called without arguments) - Adds `lib-netstd-codegen` job to `.github/workflows/build.yml` as a matrix over .NET 8, 9, 10 — uses the pre-built `thrift-compiler` artifact and `actions/setup-dotnet` ## How the test works For each `.thrift` file: 1. Run `thrift --gen netstd:<version>` to produce C# code 2. Generate a minimal solution (`.sln` for net8, `.slnx` for net9+) and `.csproj` referencing `lib/netstd/Thrift/Thrift.csproj` 3. Run `dotnet build` — any compile error is a codegen regression 4. Execute the compiled binary — any crash is a serious code quality issue Known-failure lists in the script handle files that are intentionally expected to fail. ## Test plan - [ ] CI passes for all three matrix jobs (net8, net9, net10) - [ ] Job names show as `lib-netstd-codegen (8)`, `lib-netstd-codegen (9)`, `lib-netstd-codegen (10)` in Actions UI - [ ] No existing jobs in `build.yml` are affected - [ ] Script called without arguments locally defaults to system temp dir and all three .NET versions ## Notes - Script uses `.slnx` format (XML solution file) for net9+ and classic `.sln` for net8, since SLNX support was introduced with .NET 9 SDK - `actions/setup-dotnet` pinned to SHA `67a3573c9a986a3f9c594539f4ab511d57bb3ce9` (v4.3.1) 🤖 Generated with [Claude Code](https://claude.ai/claude-code) Co-Authored-By: Claude Sonnet 4.6 <[email protected]> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
