add x64 target in electron build

This commit is contained in:
Ramnique Singh 2026-01-20 09:08:05 +05:30
parent 8bd6c9f254
commit 0d9dac8344
4 changed files with 23 additions and 55 deletions

View file

@ -97,41 +97,6 @@ jobs:
run: npm run publish
working-directory: apps/x/apps/main
- name: Diagnose built app
run: |
echo "=== Architecture Check ==="
APP_PATH=$(find apps/x/apps/main/out -name "Rowboat.app" -type d | head -1)
if [ -n "$APP_PATH" ]; then
EXECUTABLE="$APP_PATH/Contents/MacOS/rowboat"
if [ -f "$EXECUTABLE" ]; then
echo "App executable found at: $EXECUTABLE"
echo "Architecture:"
lipo -info "$EXECUTABLE" || file "$EXECUTABLE"
echo ""
echo "=== Code Signing Check ==="
codesign --verify --deep --strict --verbose=2 "$APP_PATH" || echo "App is not signed (this is OK if code signing secrets are not configured)"
echo ""
echo "=== _CodeSignature Check ==="
if [ -d "$APP_PATH/Contents/_CodeSignature" ]; then
echo "WARNING: _CodeSignature directory still exists!"
ls -la "$APP_PATH/Contents/_CodeSignature" || true
else
echo "✓ No _CodeSignature directory (expected for unsigned app)"
fi
echo ""
echo "=== Extended Attributes Check ==="
xattr -l "$APP_PATH" | head -5 || echo "No extended attributes (or not on macOS)"
echo ""
echo "=== Gatekeeper Check ==="
spctl --assess --type execute --verbose "$APP_PATH" || echo "Gatekeeper assessment failed (expected for unsigned apps)"
else
echo "Executable not found at: $EXECUTABLE"
fi
else
echo "App bundle not found"
fi
continue-on-error: true
- name: Upload workflow artifacts
uses: actions/upload-artifact@v4
with:

View file

@ -11,7 +11,9 @@ module.exports = {
icon: './icons/icon', // .icns extension added automatically
appBundleId: 'com.rowboat.app',
appCategoryType: 'public.app-category.productivity',
osxSign: {},
osxSign: {
batchCodesignCalls: true,
},
osxNotarize: {
appleId: process.env.APPLE_ID,
appleIdPassword: process.env.APPLE_PASSWORD,
@ -39,10 +41,10 @@ module.exports = {
makers: [
{
name: '@electron-forge/maker-dmg',
config: {
config: (arch) => ({
format: 'ULFO',
name: 'Rowboat',
}
name: `Rowboat-${arch}`, // Architecture-specific name to avoid conflicts
})
},
{
name: '@electron-forge/maker-zip',
@ -61,7 +63,7 @@ module.exports = {
bucket: 'rowboat-desktop-app-releases',
region: 'us-east-1',
public: true,
folder: 'releases' // Creates structure: releases/darwin/arm64/files
folder: 'releases' // Creates structure: releases/darwin/{arch}/files (separate builds for arm64 and x64)
}
}
],

View file

@ -6,9 +6,9 @@
"scripts": {
"start": "electron .",
"build": "rm -rf dist && tsc",
"package": "electron-forge package",
"make": "electron-forge make",
"publish": "electron-forge publish"
"package": "electron-forge package --arch=arm64,x64 --platform=darwin",
"make": "electron-forge make --arch=arm64,x64 --platform=darwin",
"publish": "electron-forge publish --arch=arm64,x64 --platform=darwin"
},
"dependencies": {
"@x/core": "workspace:*",
@ -21,11 +21,11 @@
"@types/node": "^25.0.3",
"electron": "^39.2.7",
"esbuild": "^0.24.2",
"@electron-forge/cli": "^7.11.1",
"@electron-forge/maker-deb": "^7.11.1",
"@electron-forge/maker-dmg": "^7.11.1",
"@electron-forge/maker-squirrel": "^7.11.1",
"@electron-forge/maker-zip": "^7.11.1",
"@electron-forge/publisher-s3": "^7.11.1"
"@electron-forge/cli": "^7.10.2",
"@electron-forge/maker-deb": "^7.10.2",
"@electron-forge/maker-dmg": "^7.10.2",
"@electron-forge/maker-squirrel": "^7.10.2",
"@electron-forge/maker-zip": "^7.10.2",
"@electron-forge/publisher-s3": "^7.10.2"
}
}

13
apps/x/pnpm-lock.yaml generated
View file

@ -58,22 +58,22 @@ importers:
version: 4.2.1
devDependencies:
'@electron-forge/cli':
specifier: ^7.11.1
specifier: ^7.10.2
version: 7.11.1(encoding@0.1.13)(esbuild@0.24.2)
'@electron-forge/maker-deb':
specifier: ^7.11.1
specifier: ^7.10.2
version: 7.11.1
'@electron-forge/maker-dmg':
specifier: ^7.11.1
specifier: ^7.10.2
version: 7.11.1
'@electron-forge/maker-squirrel':
specifier: ^7.11.1
specifier: ^7.10.2
version: 7.11.1
'@electron-forge/maker-zip':
specifier: ^7.11.1
specifier: ^7.10.2
version: 7.11.1
'@electron-forge/publisher-s3':
specifier: ^7.11.1
specifier: ^7.10.2
version: 7.11.1
'@types/node':
specifier: ^25.0.3
@ -5901,6 +5901,7 @@ packages:
tar@6.2.1:
resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
engines: {node: '>=10'}
deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exhorbitant rates) by contacting i@izs.me
temp@0.9.4:
resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==}