[No QA] Simplify electron-builder configs#7684
Conversation
…ing builds easier
…ironment variable from GitHub Actions
|
npm has a |
|
npm has a |
|
npm has a |
|
npm has a |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
|
I'm going to un-assign from this review because I've been swamped by PRs lately and this one is quite a bit over my head. |
tgolen
left a comment
There was a problem hiding this comment.
Looking really great! A few suggestions
|
npm has a |
|
Updated! |
|
npm has a |
|
npm has a |
|
Taking this off draft and marking it as ready for review, but I think we should keep it on hold until it's not DBSF. |
tgolen
left a comment
There was a problem hiding this comment.
Cool, this looks good to me. How come it's on HOLD?
|
Oh, because it was Friday, got it. You can self merge this when you are ready :D |
|
npm has a |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
kidroca
left a comment
There was a problem hiding this comment.
I'm working on reducing desktop size here: #7744 and noticed some merge conflicts.
I decided to leave some notes
Do we expect any more Desktop changes, because I'm having to change my code each time a change is made?
(managed to reduce the installer to ~90Mb)
| module.exports = { | ||
| ...baseElectronBuilderConfig, | ||
| publish: [{ | ||
| provider: 's3', | ||
| bucket: process.env.ELECTRON_ENV === 'staging' ? 'staging-expensify-cash' : 'expensify-cash', | ||
| channel: 'latest', | ||
| }], | ||
| afterSign: './desktop/notarize.js', |
There was a problem hiding this comment.
Were there any problems when this was part of the single config?
I have no problems building local builds without this change?
E.g. I don't use --publish and this just creates a local build for me, no need for desktop-build-local and desktop-build-local-staging scripts
Separate question: If notarize.js is something only used for config/build signing why keep it in desktop ? it gets packed to the electron app due to the desktop/*.js pattern
There was a problem hiding this comment.
Were there any problems when this was part of the single config?
I always run into issues with the notarizing step. You don't experience that?
Separate question: If notarize.js is something only used for config/build signing why keep it in desktop ?
Just because it's specific to the desktop application.
| "desktop": "export ELECTRON_ENV=development && node desktop/start.js", | ||
| "desktop-build": "export ELECTRON_ENV=production && webpack --config config/webpack/webpack.prod.js --platform desktop && electron-builder --config config/electronBuilder/electronBuilder.ghactions.config.js", | ||
| "desktop-build-staging": "export ELECTRON_ENV=staging && webpack --config config/webpack/webpack.staging.js --platform desktop && electron-builder --config config/electronBuilder/electronBuilder.ghactions.config.js", | ||
| "desktop-build-local": "export ELECTRON_ENV=production && webpack --config config/webpack/webpack.prod.js --platform desktop && electron-builder --config config/electronBuilder/electronBuilder.local.config.js", | ||
| "desktop-build-staging-local": "export ELECTRON_ENV=staging && webpack --config config/webpack/webpack.staging.js --platform desktop && electron-builder --config config/electronBuilder/electronBuilder.local.config.js", |
There was a problem hiding this comment.
This looks a bit odd - none of the other build scripts web/mobile have to set ENV vars in their package script.
It might be better to extract a script like desktop/start.js but perhaps desktop/build.js where the appropriate dotenv file can be loaded. The least it would hide these details and make the scripts shorter
I don't expect any more for now. |
|
🚀 Deployed to staging by @roryabraham in version: 1.1.39-0 🚀
|
Details
Following up on #7665 to do some cleanup.
Fixed Issues
n/a
Tests
npm run desktop, and verify that the app loads correctly.npm run desktop-build-local, install the app and make sure it works! It should have a production app icon, not a staging app icon.npm run desktop-build-staging-local, install the app and make sure it works! It should have a staging app icon, not a production app icon.QA Steps
None.
Tested On
Screenshots
Desktop (production build)
Desktop (staging build)