feat(release): add reproducible preview artifacts - #8
Merged
Conversation
Establish the Windows 0.1.0-preview.1 private artifact contract around Directory.Build.props. Keep TokenBar as the product identity, derive the App assembly, executable, and archive basename from TbProductName, and retain 0.1.0.0 as the numeric assembly, file, and manifest version. Pin .NET SDK 10.0.301, Rust 1.96.1, direct NuGet package versions, and commit the generated NuGet lock graphs. Make local and CI Cargo and NuGet entry points fail closed with --locked and --locked-mode while preserving the existing Platform and RID to Rust target mapping. Add scripts/build-app-artifact.ps1 for clean-checkout x64 and ARM64 self-contained publishing. The command validates toolchains, PE machines, WinUI PRI, XBF, assets, native byte equality, and version metadata, then emits a private unsigned ZIP, checksum, and sanitized evidence. CI uploads only the App checksum and evidence while retaining Smoke harness artifacts for three days. Add the opt-in --startup-smoke host gate. It requires a fresh sentinel parent, atomically records the PID, informational version, architecture, and tray-ready stage after tray and service construction, returns nonzero on every failure including a held single-instance mutex, and shuts down through the tray owner. Document the disposable-account, outbound-blocked runtime gate and keep Velopack, signing, installers, package-manager manifests, Syrtis renaming, and public release outside Phase 10. Verification: scripts/check.sh passed 309 FFI tests, 1,290 core tests with one ignored, 285 .NET tests, and the P/Invoke smoke. Windows locked x64 and ARM64 artifact, PE, and resource validation passed; ARM64 startup smoke preserved all production baselines; the x64 held-mutex startup-smoke E2E returned exit code 1 without a sentinel. actionlint, XML and JSON validation, git diff --check, and a fresh outcome verifier also passed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
0.1.0-preview.1version contract in one MSBuild property source--startup-smokeruntime gate and keep CI App uploads limited to sanitized evidence and checksumsVerification
scripts/check.sh: 309 FFI, 1,290 core with one ignored, 285 .NET, and P/Invoke smokegit diff --checkCONFIRMEDScope boundary
This is the Phase 10 private reproducible-artifact foundation only. It keeps the Windows product, executable, package, and artifact identity as TokenBar. It does not add Velopack, signing, installers, winget/Scoop manifests, a Syrtis rename, a public release, or an updater identity.