-
-
Notifications
You must be signed in to change notification settings - Fork 523
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
Improve S3 publishing defaults #542
Comments
@starkos Making a change like that would be a breaking change 😢 You can make a file path like "{name}-{platform}-{arch}" using the |
|
I'm having nothing but issues trying to get v6 running with the react-typescript template. I'll go ahead and close this issue as "by design" and open new issues for v6 when I can. |
The templates haven't been ported to v6 yet (one of the reasons why it's still in beta). In fact, what's most likely going to happen is that the only first-party templates that will be provided will be to provide bundlers (webpack/parcel). |
Please describe your issue:
Using v5.x…out of the box, the defaults for publishing to S3 don't seem to be very useful, requiring customizations or workarounds. I might be missing something?
TL;DR: I think, unless I'm missing something, that the default value for
config.s3.folder
, which currently defaults to the application version, would be better as "{name}-{platform}-{arch}" e.g. "MyApp-win32-x64".In
package.json
, I set up the S3 configuration like:When I publish, say on Windows, the installer and the
RELEASES
file will get published into folder named for the current version, e.g.s3://my.bucket/name/v1.0.0
.When I initialize Electron's autoUpdater, I have to provide it the URL to check for updates, which for this example would be
https://s3-us-east-1.amazonaws.com/my.bucket.name/v1.0.0
.Using those defaults, when I publish the next version, it will get written to S3 at
s3://my.bucket/name/v1.0.1
. But autoUpdater will never see that update, because it is still looking athttps://s3-us-east-1.amazonaws.com/my.bucket.name/v1.0.0
, which doesn't have the newRELEASES
file. To fix it, I have to override the default folder name with something explicit, like the name of my application:Now, for Windows, I want to publish 32- and 64-bit builds so I run…
Which mostly works, except that the x64 installer overwrites the ia32 installer on S3, since they are both written to the same "MyApp" folder. To get around that, you really need to include the architecture in the folder name somewhere, e.g. "MyApp-ia32" or better yet "MyApp-win32-ia32", but there's no great way (that I know of) to do that.
Is did see #482, which adds
keyResolver
to v6.0 to address it (for issue #374). There doesn't seem to be any mention of it in the docs, though? I'm sure I can sort it out, but it feels like a fairly advanced feature just to get S3 publishing to not step on itself?I should be able to submit a PR to change the default for
s3.folder
to something more like "{name}-{platform}-{arch}", but I wanted to make sure that a) this was something that was actually desired, and b) that I wasn't missing something obvious (which happens all too often). Thanks!The text was updated successfully, but these errors were encountered: