Skip to content

Sign Windows release artifacts with Azure Artifact Signing - #70

Draft
cloud9c wants to merge 1 commit into
mainfrom
fix/windows-release-signing
Draft

cloud9c wants to merge 1 commit into
mainfrom
fix/windows-release-signing

Conversation

@cloud9c

@cloud9c cloud9c commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Windows release artifacts are currently unsigned. This draft adds Azure Artifact Signing for wavedash.exe before ZIP creation and for the PowerShell installer, then blocks publication unless the final artifacts have valid, timestamped signatures from the configured publisher and the ZIP matches its checksum.

Related to WVDSH-2364. The reported warning was not reproduced with CLI 0.1.98. Signing establishes publisher identity; this is not a confirmed fix for that report and does not guarantee immediate SmartScreen reputation.

The implementation upgrades cargo-dist to 0.33.0, uses GitHub OIDC and a protected release environment, and documents setup in docs/windows-signing.md. Missing signing configuration or failed verification stops the entire release.

Validation: five Python configuration tests, 15 Windows signature-gate checks, actionlint, release planning for all five configured targets, and git diff --check pass. Signature tests include real unsigned rejection and mocked publisher/timestamp/trust failures. Existing local validation also exercised the gate with Microsoft-signed fixtures; that does not validate Wavedash signing.

Keep this draft until Azure identity validation, the certificate profile, OIDC access, and GitHub environment configuration are complete. Production signing and a fresh Windows 11 installation with Smart App Control enabled have not been tested. No Azure resources have been created. This pipeline must not merge before setup because the next release would fail closed.

The installer-checksum change is a separate draft against main. When combining them, embed checksums after packaging the signed executable and before signing the installer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants