-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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)