fix(windows): sign release binaries - #3437
Conversation
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe preview and release workflows remove Windows from their build matrices. Each workflow adds a dedicated Windows job for MSVC compilation, Azure OIDC signing, signature verification, packaging, and artifact upload. Preview publishing and release creation now wait for the Windows job. Non-Windows release builds use shared libghostty environment variables and continue to package artifacts from the matrix. Suggested reviewers: Merge Risk: 🟡 Moderate · up to Windows releases now depend on Azure signing infrastructure and a protected signing environment, but those prerequisites and a signed Windows artifact have not yet been live-validated. Merging now could cause release jobs to fail or leave signing behavior unverified. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.) Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
|
✅ Action performedReview finished.
|
Greptile SummaryThe PR moves Windows preview and stable builds into dedicated environment-gated jobs so the first-party executable can be signed and verified before ConPTY packaging.
Confidence Score: 5/5The workflow changes appear safe to merge after the explicitly documented external signing infrastructure and canonical Windows validation gates are completed. The signing, verification, packaging, artifact naming, checksum handling, and downstream job dependencies are internally consistent, with no concrete code-level failure identified.
|
| Filename | Overview |
|---|---|
| .github/workflows/preview.yml | Splits the Windows preview build into an OIDC-enabled signing job while retaining the existing ZIP, checksum, BUILD_INFO, and publishing contracts. |
| .github/workflows/release.yml | Adds a dedicated signed Windows release job and makes release publication wait for its packaged artifact. |
Sequence Diagram
sequenceDiagram
participant G as GitHub Actions
participant A as Azure Artifact Signing
participant P as ConPTY Packager
participant R as Release Publisher
G->>G: Build herdr.exe
G->>A: Authenticate with OIDC
A-->>G: Sign herdr.exe with timestamp
G->>G: Verify signature and timestamp
G->>P: Package signed executable
P-->>G: Windows ZIP
G->>R: Upload artifact and checksum
Reviews (1): Last reviewed commit: "fix(windows): sign release binaries" | Re-trigger Greptile
Summary
windows-signingenvironment jobsherdr.exewith SHA-256 plus an RFC3161 timestamp before ConPTY packagingValidation
actionlint .github/workflows/release.yml .github/workflows/preview.ymljust checkrvw_b2b412b6)Merge gate
Keep this pull request draft and do not merge it until all external signing infrastructure is provisioned and live-validated:
Artifact Signing Certificate Profile Signerrolewindows-signingenvironment withAZURE_CLIENT_ID,AZURE_TENANT_ID,AZURE_SUBSCRIPTION_ID,AZURE_ARTIFACT_SIGNING_ENDPOINT,AZURE_ARTIFACT_SIGNING_ACCOUNT_NAME, andAZURE_ARTIFACT_SIGNING_CERTIFICATE_PROFILE_NAMEThe Azure values and live signing path are not yet validated. This change does not claim that Smart App Control is fixed; that requires a canonical signed preview and Windows testing.