Compare commits

...

11 Commits

Author SHA1 Message Date
Michael Telatynski
427d57f5ee
Update entitlements.mac.plist 2025-02-24 10:54:27 +00:00
Michael Telatynski
4f911f4b99
Update entitlements-sandbox.mac.plist 2025-02-24 10:54:16 +00:00
Michael Telatynski
839653deac
Merge branch 'develop' into t3chguy/fix/d1728 2025-02-24 10:32:58 +00:00
Michael Telatynski
7dedd7c7ff
Stash
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-04 13:28:14 +00:00
Michael Telatynski
9bb4eb5f60
Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-04 13:01:39 +00:00
Michael Telatynski
a0cfd49bab
Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-04 12:48:45 +00:00
Michael Telatynski
4fade2453c
Merge branch 'develop' into t3chguy/fix/d1728 2024-11-04 12:16:28 +00:00
Michael Telatynski
bc83760883
Testing this requires signing the app
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-17 16:27:32 +01:00
Michael Telatynski
319914f9cc
Testing this requires signing the app
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-17 16:24:18 +01:00
Michael Telatynski
70ef8e1d36
Enable app sandbox entitlement
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-17 15:02:52 +01:00
Michael Telatynski
776a275fc3
Remove stale macos entitlement
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-17 15:02:43 +01:00
5 changed files with 62 additions and 10 deletions

View File

@ -43,6 +43,9 @@ jobs:
needs: fetch needs: fetch
name: macOS name: macOS
uses: ./.github/workflows/build_macos.yaml uses: ./.github/workflows/build_macos.yaml
secrets: inherit
with:
sign: true
test: test:
needs: needs:

View File

@ -86,6 +86,8 @@ jobs:
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
CSC_KEY_PASSWORD: ${{ secrets.APPLE_CSC_KEY_PASSWORD }} CSC_KEY_PASSWORD: ${{ secrets.APPLE_CSC_KEY_PASSWORD }}
CSC_LINK: ${{ secrets.APPLE_CSC_LINK }} CSC_LINK: ${{ secrets.APPLE_CSC_LINK }}
# TODO REMOVE
CSC_FOR_PULL_REQUEST: true
- name: Check app was signed & notarised successfully - name: Check app was signed & notarised successfully
if: inputs.sign != '' if: inputs.sign != ''

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- https://github.com/electron/electron-notarize#prerequisites -->
<key>com.apple.security.cs.allow-jit</key>
<true/>
<!-- https://github.com/electron-userland/electron-builder/issues/3940 -->
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<!-- Enable the app sandbox -->
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.inherit</key>
<true/>
<!-- Allow opening outgoing network connections -->
<key>com.apple.security.network.client</key>
<true/>
<!-- Allow opening & saving files for upload & download -->
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<!-- Access to camera & microphone for calls -->
<key>com.apple.security.device.camera</key>
<true/>
<key>com.apple.security.device.audio-input</key>
<true/>
</dict>
</plist>

View File

@ -2,14 +2,6 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<!-- Entitlements from electron-builder's defaults
(https://github.com/electron-userland/electron-builder/blob/master/packages/app-builder-lib/templates/entitlements.mac.plist)
nb. This does *not* include the app sandbox: at the time of adding this file,
we were using electron-builder 21.2.0 which does not have the sandbox entitlement.
Latest electron-builder does, but it appears to be causing issues:
(https://github.com/electron-userland/electron-builder/issues/4390)
-->
<!-- https://github.com/electron/electron-notarize#prerequisites --> <!-- https://github.com/electron/electron-notarize#prerequisites -->
<key>com.apple.security.cs.allow-jit</key> <key>com.apple.security.cs.allow-jit</key>
<true/> <true/>
@ -18,8 +10,15 @@
<key>com.apple.security.cs.disable-library-validation</key> <key>com.apple.security.cs.disable-library-validation</key>
<true/> <true/>
<!-- Our own additional entitlements (we need to access the camera and <!-- Allow opening outgoing network connections -->
mic for VoIP calls --> <key>com.apple.security.network.client</key>
<true/>
<!-- Allow opening & saving files for upload & download -->
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<!-- Access to camera & microphone for calls -->
<key>com.apple.security.device.camera</key> <key>com.apple.security.device.camera</key>
<true/> <true/>
<key>com.apple.security.device.audio-input</key> <key>com.apple.security.device.audio-input</key>

View File

@ -18,6 +18,9 @@ import { readFile, writeFile } from "node:fs/promises";
* Replaces spaces in the product name with dashes as spaces in paths can cause issues * Replaces spaces in the product name with dashes as spaces in paths can cause issues
* Removes libsqlcipher0 recommended dependency if env SQLCIPHER_BUNDLED is asserted. * Removes libsqlcipher0 recommended dependency if env SQLCIPHER_BUNDLED is asserted.
* Passes $ED_DEBIAN_CHANGELOG to build.deb.fpm if specified * Passes $ED_DEBIAN_CHANGELOG to build.deb.fpm if specified
*
* On macOS:
* Passes $APPLE_TEAM_ID to build.mac.extendInfo["ElectronTeamID"] if specified.
*/ */
const NIGHTLY_APP_ID = "im.riot.nightly"; const NIGHTLY_APP_ID = "im.riot.nightly";
@ -186,6 +189,18 @@ if (process.env.ED_SIGNTOOL_SUBJECT_NAME && process.env.ED_SIGNTOOL_THUMBPRINT)
config.win.signtoolOptions!.certificateSha1 = process.env.ED_SIGNTOOL_THUMBPRINT; config.win.signtoolOptions!.certificateSha1 = process.env.ED_SIGNTOOL_THUMBPRINT;
} }
/**
* Allow specifying ElectronTeamID via env vars
* @param {string} process.env.APPLE_TEAM_ID
* Workaround for https://github.com/electron-userland/electron-builder/issues/7995
*/
if (process.env.APPLE_TEAM_ID) {
config.mac.extendInfo = {
ElectronTeamID: process.env.APPLE_TEAM_ID,
};
config.mac.entitlements = "./build/entitlements-sandbox.mac.plist";
}
/** /**
* Allow specifying nightly version via env var * Allow specifying nightly version via env var
* @param {string} process.env.ED_NIGHTLY * @param {string} process.env.ED_NIGHTLY