@@ -44,13 +44,13 @@ jobs:
4444
4545 case "$profile" in
4646 windows-only)
47- matrix='{"include":[{"os":"windows-latest","platform":"windows","build_command":"npx electron-builder --config electron-builder.yml --win --publish never"}]}'
47+ matrix='{"include":[{"os":"windows-latest","platform":"windows","build_command":"npx --no-install electron-builder --config electron-builder.yml --win --publish never"}]}'
4848 ;;
4949 fast)
50- matrix='{"include":[{"os":"windows-latest","platform":"windows","build_command":"npx electron-builder --config electron-builder.yml --win --publish never"},{"os":"ubuntu-latest","platform":"linux","build_command":"npx electron-builder -- config electron-builder.yml --linux --publish never"}]}'
50+ matrix='{"include":[{"os":"windows-latest","platform":"windows","build_command":"npx --no-install electron-builder --config electron-builder.yml --win --publish never"}]}'
5151 ;;
5252 *)
53- matrix='{"include":[{"os":"windows-latest","platform":"windows","build_command":"npx electron-builder --config electron-builder.yml --win --publish never"},{"os":"macos-latest","platform":"macos","build_command":"npx electron-builder --config electron-builder.yml --mac --publish never"},{"os":"ubuntu-latest","platform":"linux","build_command":"npx electron-builder --config electron-builder.yml --linux --publish never"}]}'
53+ matrix='{"include":[{"os":"windows-latest","platform":"windows","build_command":"npx --no-install electron-builder --config electron-builder.yml --win --publish never"},{"os":"macos-latest","platform":"macos","build_command":"npx --no-install electron-builder --config electron-builder.yml --mac --publish never"},{"os":"ubuntu-latest","platform":"linux","build_command":"npx --no-install electron-builder --config electron-builder.yml --linux --publish never"}]}'
5454 ;;
5555 esac
5656
@@ -128,12 +128,28 @@ jobs:
128128
129129 - name : Install dependencies
130130 shell : bash
131- run : npm ci --prefer-offline --no-audit --ignore-scripts
131+ run : |
132+ install_ok=true
133+ if ! npm ci --include=dev --prefer-offline --no-audit --ignore-scripts; then
134+ install_ok=false
135+ fi
136+
137+ if [ "$install_ok" != "true" ] || [ ! -f node_modules/electron/package.json ] || [ ! -f node_modules/electron-builder/package.json ]; then
138+ echo "Build dependencies missing after npm ci, retrying once"
139+ rm -rf node_modules
140+ npm ci --include=dev --no-audit --ignore-scripts
141+ fi
132142 env :
133143 npm_config_fund : false
134144 npm_config_loglevel : warn
135145 npm_config_progress : false
136146
147+ - name : Verify build dependencies
148+ shell : bash
149+ run : |
150+ test -f node_modules/electron/package.json
151+ test -f node_modules/electron-builder/package.json
152+
137153 - name : Prepare bundled platform-tools
138154 run : npm run prepare:platform-tools
139155
0 commit comments