Release Candidate Gate
Current Baseline
As of 2026-06-12 the release candidate gate starts from a zero-missing interface baseline:
- TensorRT interface coverage:
0missing rows. - CUDA runtime interface coverage:
0missing rows. - Manifest inventory:
3271API records across102manifests. - Deferred APIs are explicit manifest/native boundaries and must not be treated as safe public wrappers.
The release candidate gate is split into two paths:
- Hosted gate: source build, runtime manifest validation, binding generator determinism, workflow contracts, DocFX, managed package content, project quality tests, and report exports.
- Self-hosted runtime gate: native build, runtime asset collection, runtime nupkg, package consumer validation, optional GPU smoke, and publish readiness for the selected runtime key.
Current primary Windows runtime keys:
win-x64-trt8.6-cuda11.8-cudnn8.9win-x64-trt8.6-cuda12.1-cudnn8.9win-x64-trt10.11-cuda11.8-cudnn8.9win-x64-trt10.11-cuda12.9-cudnn9.22win-x64-trt11.0-cuda12.9-cudnn9.22win-x64-trt11.0-cuda13.2-cudnn9.22
At least one locally validated runtime key should pass consumer smoke before a release candidate is considered usable. CUDA 12.9 and TensorRT 11 Windows keys are now eligible only when their exact CUDA/TensorRT/cuDNN dependency chain and package consumer smoke evidence are present.
Current package-consumer evidence on 2026-06-12:
win-x64-trt10.11-cuda11.8-cudnn8.9: restore/build/native-copy/smoke passed with16/16native assets; probe output TensorRT10.11.0, CUDA11.8.win-x64-trt10.11-cuda12.9-cudnn9.22: restore/build/native-copy/smoke passed with19/19native asset patterns; probe output TensorRT10.11.0, CUDA12.9.win-x64-trt11.0-cuda12.9-cudnn9.22: restore/build/native-copy/smoke passed with19/19native asset patterns; probe output TensorRT11.0.0, CUDA12.9.win-x64-trt11.0-cuda13.2-cudnn9.22: 2026-06-14 full split package set and collection package packed locally; restore/build/native-copy passed with19/19native asset patterns, but package consumer smoke remains pending and publish readiness is blocked until CUDA 13 runtime/builder validation is available.
Required Local Quality Gate
Run this gate before considering any release-candidate tag:
powershell -ExecutionPolicy Bypass -File .\eng\Export-InterfaceCoverageMatrix.ps1
dotnet restore .\TensorRtSharp.sln
dotnet build .\TensorRtSharp.sln -c Debug --no-restore
powershell -ExecutionPolicy Bypass -File .\eng\Test-PublicApiBilingualDocumentation.ps1
dotnet test .\tests\JYPPX.ProjectQuality.Tests\JYPPX.ProjectQuality.Tests.csproj -c Debug --no-build
dotnet docfx .\docs\docfx.json
If native, manifest, or generated binding files changed, also run:
powershell -ExecutionPolicy Bypass -File .\eng\Generate-Bindings.ps1
powershell -ExecutionPolicy Bypass -File .\eng\Test-BindingGeneratorOutputs.ps1
cmake --preset win-x64-trt11-cuda13-release
cmake --build --preset win-x64-trt11-cuda13-release --parallel
Expected local gate result:
- TensorRT missing rows remain
0. - CUDA runtime missing rows remain
0. dotnet buildreports0warnings and0errors.- Public API XML comments contain both English and Chinese text.
JYPPX.ProjectQuality.Testspasses.- DocFX reports
0warnings and0errors.
Recommended Smoke Order
After the local quality gate, run validation-oriented smoke runners from smoke/README.md in this order:
CudaSmokeRunnerMultiStreamTensorRtSmokeRunnerLifecycleSmokeRunnerOnnxToEngineSmokeRunnerDynamicShapeInferenceBindingsNetworkBuilderSmokeRunner- Layer-specific network runners
Asset-dependent sample projects are executable but require user-provided model metadata:
ClassificationYoloDet
Those projects are not release blockers by themselves as long as their README files describe required external assets and runnable substitutes. CUDA custom-kernel preprocessing remains a documentation roadmap item until safe public CudaModule / CudaKernel wrappers are available.
Runtime Package Gate
For any runtime package selected for release:
- Validate explicit TensorRT, CUDA, and cuDNN roots before asset collection.
- Collect runtime assets from the matching CMake preset output.
- Pack the managed package and matching runtime package.
- Run package consumer validation for restore/build/native asset copy.
- Run package consumer smoke when the machine has a compatible driver/GPU/runtime stack.
- Require
local-validatedbefore private-feed or split-delivery readiness can be treated as ready. - Record WDAC/application-control blockers separately from package layout failures.
Remote Publication Prerequisites
Before using the remote publication lanes:
package-managed.ymlwithpublish_to_nuget=truerequiresNUGET_API_KEYto be a plain-text ASCII nuget.org API key. Encrypted local credential blobs and machine-generated exports are not valid substitutes.runtime-windows.ymlrequires the Windows self-hosted runner to stay online with the labelsself-hosted,windows, andx64.runtime-linux.ymlrequires a separate Linux x64 self-hosted runner. If no Linux runner is available yet, leavelinux_runtime_keysempty inrelease-bundle.ymlso the Linux module cleanly no-ops.