- Install .NET 10 SDK
- Clone this repository
dotnet restore IronTrace.sln && dotnet build IronTrace.sln -c Release && dotnet test IronTrace.sln -c Release
Or use the helper script:
.\scripts\build.ps1
.\scripts\build.ps1 -Publish # local win-x64 publishEvery pull request and push to main runs GitHub Actions:
| Workflow | Purpose |
|---|---|
| CI | Restore, build, test, NuGet vulnerability gate |
| Release | Publish IronTrace.exe + irontrace.exe, zip, upload artifact |
| Security | Gitleaks secret scan + dependency audit (weekly + PRs) |
Pull requests must pass CI and Security before merge.
Nightly builds: each push to main uploads IronTrace-nightly-win-x64 (7-day retention) from the Release workflow.
Stable releases: tag with semver and push:
git tag v0.7.1
git push origin v0.7.1This creates a GitHub Release with IronTrace-{version}-win-x64.zip.
IronTrace.Driver (WDK/KMDF) is not built in CI — lab-only, see src/IronTrace.Driver/README.md.
- Nullable enabled
- Async with cancellation tokens
- No business logic in WPF code-behind
- No silent
catch (Exception) - Unimplemented features stay Planned, Unsupported, or NotImplemented. No fake success paths.
- Keep PRs focused on one concern
- Include or adjust unit tests for parsers, risk mapping, and report serialization
- Update docs when architecture or privacy behavior changes
Do not vendor GPL or offensive DMA tooling. Write learnings under docs/research/ instead.