Skip to content

Commit 5a850c0

Browse files
faustbrianclaude
andauthored
feat: add Azure code signing configuration (#235)
* feat: add Azure code signing configuration Add support for Azure code signing in Electron builder configuration. Includes environment variables for publisher name, endpoint, certificate profile name, and code signing account name. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * feat: add Azure Trusted Signing environment variables Add support for Azure Trusted Signing by including necessary environment variables in the build process. This enables code signing for Windows applications using Azure's Trusted Signing service. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: Claude <[email protected]>
1 parent ef114f3 commit 5a850c0

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

resources/js/electron-builder.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { join } from 'path';
21
import { exec } from 'child_process';
2+
import { join } from 'path';
33

44
const appUrl = process.env.APP_URL;
55
const appId = process.env.NATIVEPHP_APP_ID;
@@ -11,6 +11,12 @@ const appVersion = process.env.NATIVEPHP_APP_VERSION;
1111
const appCopyright = process.env.NATIVEPHP_APP_COPYRIGHT;
1212
const deepLinkProtocol = process.env.NATIVEPHP_DEEPLINK_SCHEME;
1313

14+
// Azure signing configuration
15+
const azurePublisherName = process.env.NATIVEPHP_AZURE_PUBLISHER_NAME;
16+
const azureEndpoint = process.env.NATIVEPHP_AZURE_ENDPOINT;
17+
const azureCertificateProfileName = process.env.NATIVEPHP_AZURE_CERTIFICATE_PROFILE_NAME;
18+
const azureCodeSigningAccountName = process.env.NATIVEPHP_AZURE_CODE_SIGNING_ACCOUNT_NAME;
19+
1420
// Since we do not copy the php executable here, we only need these for building
1521
const isWindows = process.argv.includes('--win');
1622
const isLinux = process.argv.includes('--linux');
@@ -78,6 +84,14 @@ export default {
7884
afterSign: 'build/notarize.js',
7985
win: {
8086
executableName: fileName,
87+
...(azurePublisherName && azureEndpoint && azureCertificateProfileName && azureCodeSigningAccountName ? {
88+
azureSignOptions: {
89+
publisherName: azurePublisherName,
90+
endpoint: azureEndpoint,
91+
certificateProfileName: azureCertificateProfileName,
92+
codeSigningAccountName: azureCodeSigningAccountName
93+
}
94+
} : {}),
8195
},
8296
nsis: {
8397
artifactName: appName + '-${version}-setup.${ext}',

src/Commands/BuildCommand.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,14 @@ protected function getEnvironmentVariables(): array
154154
'NATIVEPHP_APPLE_ID' => config('nativephp-internal.notarization.apple_id'),
155155
'NATIVEPHP_APPLE_ID_PASS' => config('nativephp-internal.notarization.apple_id_pass'),
156156
'NATIVEPHP_APPLE_TEAM_ID' => config('nativephp-internal.notarization.apple_team_id'),
157+
// Azure Trusted Signing
158+
'AZURE_TENANT_ID' => config('nativephp-internal.azure_trusted_signing.tenant_id'),
159+
'AZURE_CLIENT_ID' => config('nativephp-internal.azure_trusted_signing.client_id'),
160+
'AZURE_CLIENT_SECRET' => config('nativephp-internal.azure_trusted_signing.client_secret'),
161+
'NATIVEPHP_AZURE_PUBLISHER_NAME' => config('nativephp-internal.azure_trusted_signing.publisher_name'),
162+
'NATIVEPHP_AZURE_ENDPOINT' => config('nativephp-internal.azure_trusted_signing.endpoint'),
163+
'NATIVEPHP_AZURE_CERTIFICATE_PROFILE_NAME' => config('nativephp-internal.azure_trusted_signing.certificate_profile_name'),
164+
'NATIVEPHP_AZURE_CODE_SIGNING_ACCOUNT_NAME' => config('nativephp-internal.azure_trusted_signing.code_signing_account_name'),
157165
],
158166
Updater::environmentVariables(),
159167
);

0 commit comments

Comments
 (0)