SBOM Service CI Runner Harness (DEVOPS-SBOM-23-001)
Purpose: deterministic, offline-friendly CI harness for SBOM Service. Produces warmed-cache restore, build binlog, TRX outputs, and a NuGet cache hash to unblock SBOM console/consumer sprints.
Usage
- From repo root run:
ops/devops/sbom-ci-runner/run-sbom-ci.sh - Outputs land in
ops/devops/artifacts/sbom-ci/<UTC timestamp>/:build.binlog(solution build)tests/sbom.trx(VSTest results)nuget-cache.hash(sha256 over file name+size listing for offline cache traceability)summary.json(paths + sources + cache hash)
Environment defaults
DOTNET_CLI_TELEMETRY_OPTOUT=1,DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1,DOTNET_RESTORE_DISABLE_PARALLEL=1NUGET_PACKAGES=$REPO/.nuget/packagesNUGET_SOURCES=$REPO/local-nugets;$REPO/.nuget/packagesTEST_FILTERempty (set to narrow tests)
What it does
- Warm NuGet cache from
local-nugets/into$NUGET_PACKAGESfor air-gap parity. dotnet restore+dotnet buildonsrc/SbomService/StellaOps.SbomService.slnwith/bl.- Run
StellaOps.SbomService.Testswith TRX output (honorsTEST_FILTER). - Produce
nuget-cache.hashusing sorted file name+size list hashed with sha256 (lightweight evidence of cache contents). - Emit
summary.jsonwith artefact paths and cache hash value.
Notes
- Offline-only; no external services required.
- Timestamped output folders keep ordering deterministic; consumers should sort lexicographically.
- Extend
test_projectin the script if additional SBOM test projects are added.