Symptom
A clean install of the released DisplayXRBundle-2.1.0.exe (sha256 verified against the release digest) ships a Leia SR plug-in that self-reports its version as v2.3.0-dirty (DLL FileVersion 2.3.0.0). The previous bundle's plug-in showed the same pattern (v2.2.0-dirty).
So the -dirty suffix is being produced by the release build itself — the release pipeline is stamping the version from a git tree that git describe --dirty considers modified at build time (generated files, vcpkg artifacts, or a pre-build step touching tracked files).
Why it matters
- Published/partner-facing measurements record the plug-in version for provenance; a
-dirty string on a bit-exact released binary is indistinguishable from an actual local hack build, defeating the point of the stamp.
- "Reinstall the released plug-in" can no longer be used to clear a dirty-provenance concern.
Ask
Make the release CI stamp cleanly: either build the version string before anything dirties the tree, git stash/clean checkout for the describe step, or exclude known build-generated paths. A released DLL should report v2.3.0, reserving -dirty for genuinely modified trees.
Found during the Odyssey weave-latency campaign (tmp-odyssey-win-box), where run provenance is recorded as DLL sha256 + bundle version as a workaround.
Symptom
A clean install of the released DisplayXRBundle-2.1.0.exe (sha256 verified against the release digest) ships a Leia SR plug-in that self-reports its version as
v2.3.0-dirty(DLL FileVersion 2.3.0.0). The previous bundle's plug-in showed the same pattern (v2.2.0-dirty).So the
-dirtysuffix is being produced by the release build itself — the release pipeline is stamping the version from a git tree thatgit describe --dirtyconsiders modified at build time (generated files, vcpkg artifacts, or a pre-build step touching tracked files).Why it matters
-dirtystring on a bit-exact released binary is indistinguishable from an actual local hack build, defeating the point of the stamp.Ask
Make the release CI stamp cleanly: either build the version string before anything dirties the tree,
git stash/clean checkout for the describe step, or exclude known build-generated paths. A released DLL should reportv2.3.0, reserving-dirtyfor genuinely modified trees.Found during the Odyssey weave-latency campaign (tmp-odyssey-win-box), where run provenance is recorded as DLL sha256 + bundle version as a workaround.