feat: updating win-codesign resources#9430
Conversation
🦋 Changeset detectedLatest commit: c265376 The changes in this PR will be included in the next version bump. This PR includes changesets to release 8 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
17a2c0d to
b2c0da6
Compare
There was a problem hiding this comment.
Pull request overview
This pull request updates the Windows code signing toolset (win-codesign) to resolve an issue where dylib symbolic links were failing to be created on Windows during the build process. The PR introduces a configurable winCodeSign option that allows users to choose between the legacy toolset ("0.0.0") and the new Windows Kits Bundle ("1.0.0").
Changes:
- Added
winCodeSignconfiguration option toWindowsConfigurationwith support for "0.0.0" (legacy) and "1.0.0" (new toolset) - Refactored tool path resolution logic into centralized functions in
targets/tools.ts - Parameterized Windows packaging tests to run against both toolset versions
- Updated import paths from
src/toout/in test files - Removed platform-specific test conditionals (
test.ifNotCiMac) to run tests on all platforms
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/app-builder-lib/src/options/winOptions.ts | Adds winCodeSign configuration option |
| packages/app-builder-lib/scheme.json | Updates JSON schema for winCodeSign option |
| packages/app-builder-lib/src/targets/tools.ts | Centralizes tool path resolution with version-specific logic |
| packages/app-builder-lib/src/codeSign/windowsSignToolManager.ts | Refactors signing logic, removes getSignVendorPath, improves code organization |
| packages/app-builder-lib/src/winPackager.ts | Updates rcedit path resolution to use new utility functions |
| packages/app-builder-lib/src/targets/AppxTarget.ts | Updates Windows Kits Bundle path resolution |
| packages/electron-builder/src/cli/create-self-signed-cert.ts | Updates to use new getWindowsKitsBundle function |
| test/src/windows/winPackagerTest.ts | Parameterizes tests to run with both winCodeSign versions |
| test/src/windows/winCodeSignTest.ts | Updates error message expectation for new osslsigncode version |
| test/src/windows/assistedInstallerTest.ts | Removes platform conditionals and unused imports |
| test/src/packageManagerTest.ts | Fixes import path from src/ to out/ |
| test/src/BuildTest.ts | Fixes import path from src/ to out/ |
| test/snapshots/windows/winPackagerTest.js.snap | Updates snapshots for parameterized tests |
| .github/workflows/test.yaml | Adds dmgTest and duplicate assistedInstallerTest to Mac test matrix |
| .changeset/wide-wolves-help.md | Documents the feature as a minor version change |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
No dependency changes detected. Learn more about Socket for GitHub. 👍 No dependency changes detected in pull request |
51d19a2 to
2d1e0d1
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 18 out of 18 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
d36f18f to
80da8bb
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 41 out of 42 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
packages/app-builder-lib/src/toolsets/linux.ts:4
- Typo in comment: "rather then" should be "rather than".
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
70b0d88 to
b294c9d
Compare
This pull request updates the Windows code signing toolset (win-codesign) to resolve an issue where dylib symbolic links were failing to be created on Windows during the build process. The PR introduces a configurable `winCodeSign` option that allows users to choose between the legacy toolset ("0.0.0") and the new Windows Kits Bundle ("1.0.0").
**Changes:**
- Added `winCodeSign` configuration option to `WindowsConfiguration` with support for "0.0.0" (legacy) and "1.0.0" (new toolset)
- Refactored tool path resolution logic into centralized functions in `targets/tools.ts`
- Parameterized Windows packaging tests to run against both toolset versions
…lsigncode # Conflicts: # .github/workflows/test.yaml
9a4ba81 to
4ac8011
Compare
…-codesign-osslsigncode # Conflicts: # test/vitest-scripts/vitest-smart-reporter.ts
Summary
This PR updates the Windows code signing tooling in electron-builder to use the latest version of
win-codesignfromelectron-builder-binaries. It introduces a backward-compatible configuration system that allows users to access both legacy and newer code signing utilities during the transition period.Resolves issue #8149 which reported failures creating dylib symbolic links on Windows during the code signing process. The issue lies in the "combo" winCodeSign toolset that has symlinks even though it's also supposed to be extracted on Windows.
Key Updates:
electron-builder-binarieshttps://github.com/electron-userland/electron-builder-binaries/releases?q=codesign&expanded=true0.0.0with option to opt-in to newer toolsets