Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(win): implement Azure Trusted Signing #8458

Merged
merged 29 commits into from
Sep 13, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
bc6a0c5
initial work on migrating signtool.exe-related config to `signtoolOpt…
mmaietta Sep 9, 2024
0d24b78
cleanup
mmaietta Sep 9, 2024
bd899c3
Update to use `File` field for corresponding file path
mmaietta Sep 9, 2024
7d45cf7
moving `publisherName` and adding install for `Install-PackageProvide…
mmaietta Sep 9, 2024
832a064
move signtool to separate class logic to cleanup WindowsCodeSign.ts
mmaietta Sep 10, 2024
cd43b91
tmp save
mmaietta Sep 10, 2024
a1f1765
fix compilation issues
mmaietta Sep 10, 2024
4dfffd7
rename SignTool file to have Manager suffix
mmaietta Sep 10, 2024
7b1c7b7
migrate signtool and azure signing managers to Lazy so that `azureSig…
mmaietta Sep 10, 2024
a5b9d23
regen docs and prettier
mmaietta Sep 10, 2024
cbf08d0
update docs and follow camelcase var nomenclature
mmaietta Sep 10, 2024
615e0c6
move lazy vars out of constructor to top level
mmaietta Sep 10, 2024
950095f
verify correct env vars specified via https://learn.microsoft.com/en-…
mmaietta Sep 10, 2024
37229ba
update docs specifying env vars required
mmaietta Sep 10, 2024
3f1551b
Merge commit 'a5b2f483fc63dd2f4240f57c026a674c423abebb' into azure-si…
mmaietta Sep 10, 2024
3154489
update test and move CSC password logic into winPackager
mmaietta Sep 11, 2024
e3cc84a
small refactor
mmaietta Sep 11, 2024
e5f0cce
Merge commit 'c081df8e04494645028c4160bcc1376f029cbca5' into azure-si…
mmaietta Sep 11, 2024
52df060
fix destructuring of cmd line args
mmaietta Sep 11, 2024
9f62b8a
update docs conversion script to render WindowsSigntoolConfiguration …
mmaietta Sep 11, 2024
946d9ec
add additional doc rendering
mmaietta Sep 11, 2024
d1d2d2b
Merge branch 'master' into azure-signing
mmaietta Sep 12, 2024
a20b34b
pin versions to base range to prevent major semver bump
mmaietta Sep 12, 2024
f0504e1
update lockfile
mmaietta Sep 12, 2024
fd0d2a9
Merge branch 'master' into azure-signing
mmaietta Sep 13, 2024
f8daa77
reset workspace dependency versions
mmaietta Sep 13, 2024
99128d6
update docs with better description
mmaietta Sep 13, 2024
31eee78
use @link jsdoc syntax
mmaietta Sep 13, 2024
4f52977
allow retry for signtool when fails to find certificate (signtool.exe…
mmaietta Sep 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
add additional doc rendering
  • Loading branch information
mmaietta committed Sep 11, 2024
commit 946d9ec3c3afc0a5a4043a4e2162833c5c26f569
11 changes: 11 additions & 0 deletions docs/api/electron-builder.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ Developer API only. See [Configuration](../configuration/configuration.md) for u
<li><a href="#BeforeBuildContext"><code>.BeforeBuildContext</code></a></li>
<li><a href="#BuildResult"><code>.BuildResult</code></a></li>
<li><a href="#CertificateFromStoreInfo"><code>.CertificateFromStoreInfo</code></a></li>
<li><a href="#CustomNsisBinary"><code>.CustomNsisBinary</code></a></li>
<li><a href="#FileCodeSigningInfo"><code>.FileCodeSigningInfo</code></a></li>
<li><a href="#Framework"><code>.Framework</code></a>
<ul>
Expand Down Expand Up @@ -326,6 +327,16 @@ Developer API only. See [Configuration](../configuration/configuration.md) for u
<li><strong><code id="CertificateFromStoreInfo-store">store</code></strong> String</li>
<li><strong><code id="CertificateFromStoreInfo-isLocalMachineStore">isLocalMachineStore</code></strong> Boolean</li>
</ul>
<p><a name="CustomNsisBinary"></a></p>
<h2 id="customnsisbinary"><code>CustomNsisBinary</code></h2>
<p><strong>Kind</strong>: interface of <a href="#module_app-builder-lib"><code>app-builder-lib</code></a><br/>
<strong>Properties</strong></p>
<ul>
<li><strong><code id="CustomNsisBinary-url">url</code></strong> = <code>https://github.com/electron-userland/electron-builder-binaries/releases/download</code> String | “undefined”</li>
<li><code id="CustomNsisBinary-checksum">checksum</code> = <code>VKMiizYdmNdJOWpRGz4trl4lD++BvYP2irAXpMilheUP0pc93iKlWAoP843Vlraj8YG19CVn0j+dCo/hURz9+Q==</code> String | “undefined”</li>
<li><code id="CustomNsisBinary-version">version</code> = <code>3.0.4.1</code> String | “undefined”</li>
<li><code id="CustomNsisBinary-debugLogging">debugLogging</code> Boolean | “undefined” - Whether or not to enable NSIS logging for debugging. Note: Requires a debug-enabled NSIS build. electron-builder’s included <code>makensis</code> does not natively support debug-enabled NSIS installers currently, you must supply your own via <code>customNsisBinary?: CustomNsisBinary</code> In your custom nsis scripts, you can leverage this functionality via <code>LogSet</code> and <code>LogText</code></li>
</ul>
<p><a name="FileCodeSigningInfo"></a></p>
<h2 id="filecodesigninginfo"><code>FileCodeSigningInfo</code></h2>
<p><strong>Kind</strong>: interface of <a href="#module_app-builder-lib"><code>app-builder-lib</code></a><br/>
Expand Down
10 changes: 9 additions & 1 deletion docs/generated/NsisOptions.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
<li><code id="NsisOptions-unicode">unicode</code> = <code>true</code> Boolean - Whether to create <a href="http://nsis.sourceforge.net/Docs/Chapter1.html#intro-unicode">Unicode installer</a>.</li>
<li><code id="NsisOptions-guid">guid</code> String | “undefined” - See <a href="../configuration/nsis#guid-vs-application-name">GUID vs Application Name</a>.</li>
<li><code id="NsisOptions-warningsAsErrors">warningsAsErrors</code> = <code>true</code> Boolean - If <code>warningsAsErrors</code> is <code>true</code> (default): NSIS will treat warnings as errors. If <code>warningsAsErrors</code> is <code>false</code>: NSIS will allow warnings.</li>
<li><code id="NsisOptions-customNsisBinary">customNsisBinary</code> module:app-builder-lib/out/targets/nsis/nsisOptions.CustomNsisBinary | “undefined” - Allows you to provide your own <code>makensis</code>, such as one with support for debug logging via LogSet and LogText. (Logging also requires option <code>debugLogging = true</code>)</li>
<li><code id="NsisOptions-customNsisBinary">customNsisBinary</code> <a href="#CustomNsisBinary">CustomNsisBinary</a> | “undefined” - Allows you to provide your own <code>makensis</code>, such as one with support for debug logging via LogSet and LogText. (Logging also requires option <code>debugLogging = true</code>)</li>
<li><code id="NsisOptions-runAfterFinish">runAfterFinish</code> = <code>true</code> Boolean - Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.</li>
</ul>
<hr>
Expand All @@ -75,5 +75,13 @@
<li><code id="NsisOptions-menuCategory">menuCategory</code> = <code>false</code> Boolean | String - Whether to create submenu for start menu shortcut and program files directory. If <code>true</code>, company name will be used. Or string value.</li>
<li><code id="NsisOptions-shortcutName">shortcutName</code> String | “undefined” - The name that will be used for all shortcuts. Defaults to the application name.</li>
</ul>
<h2 id="customnsisbinary">CustomNsisBinary</h2>
<p>undefined</p>
<ul>
<li><strong><code id="CustomNsisBinary-url">url</code></strong> = <code>https://github.com/electron-userland/electron-builder-binaries/releases/download</code> String | “undefined”</li>
<li><code id="CustomNsisBinary-checksum">checksum</code> = <code>VKMiizYdmNdJOWpRGz4trl4lD++BvYP2irAXpMilheUP0pc93iKlWAoP843Vlraj8YG19CVn0j+dCo/hURz9+Q==</code> String | “undefined”</li>
<li><code id="CustomNsisBinary-version">version</code> = <code>3.0.4.1</code> String | “undefined”</li>
<li><code id="CustomNsisBinary-debugLogging">debugLogging</code> Boolean | “undefined” - Whether or not to enable NSIS logging for debugging. Note: Requires a debug-enabled NSIS build. electron-builder’s included <code>makensis</code> does not natively support debug-enabled NSIS installers currently, you must supply your own via <code>customNsisBinary?: CustomNsisBinary</code> In your custom nsis scripts, you can leverage this functionality via <code>LogSet</code> and <code>LogText</code></li>
</ul>

<!-- end of generated block -->
2 changes: 1 addition & 1 deletion packages/app-builder-lib/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export { AppXOptions } from "./options/AppXOptions"
export { MsiOptions } from "./options/MsiOptions"
export { MsiWrappedOptions } from "./options/MsiWrappedOptions"
export { CommonWindowsInstallerConfiguration } from "./options/CommonWindowsInstallerConfiguration"
export { NsisOptions, NsisWebOptions, PortableOptions, CommonNsisOptions } from "./targets/nsis/nsisOptions"
export { NsisOptions, NsisWebOptions, PortableOptions, CommonNsisOptions, CustomNsisBinary } from "./targets/nsis/nsisOptions"
export { LinuxConfiguration, DebOptions, CommonLinuxOptions, LinuxTargetSpecificOptions, AppImageOptions, FlatpakOptions } from "./options/linuxOptions"
export { SnapOptions, PlugDescriptor, SlotDescriptor } from "./options/SnapOptions"
export { Metadata, AuthorMetadata, RepositoryInfo } from "./options/metadata"
Expand Down
2 changes: 1 addition & 1 deletion packages/app-builder-lib/src/targets/nsis/nsisOptions.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { TargetSpecificOptions } from "../../core"
import { CommonWindowsInstallerConfiguration } from "../.."

interface CustomNsisBinary {
export interface CustomNsisBinary {
/**
* @default https://github.com/electron-userland/electron-builder-binaries/releases/download
*/
Expand Down
4 changes: 3 additions & 1 deletion scripts/jsdoc2md2html.js
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,9 @@ async function render2(files, jsdoc2MdOptions) {
new Page("generated/LinuxTargetSpecificOptions.md", "LinuxTargetSpecificOptions"),
new Page("generated/PlatformSpecificBuildOptions.md", "PlatformSpecificBuildOptions"),
new Page("generated/Metadata.md", "Metadata"),
new Page("generated/NsisOptions.md", "NsisOptions"),
new Page("generated/NsisOptions.md", "NsisOptions", {
"CustomNsisBinary": ""
}),
new Page("generated/TargetSpecificOptions.md", "TargetSpecificOptions"),
]

Expand Down