-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
fix(mac): Workaround for hdiutil randomly failing (#5431) #5464
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
fix(mac): Workaround for hdiutil randomly failing (#5431) #5464
Conversation
…5431) For unknown reasons hdiutil fails randomly when trying to create the dmg in the tmp location. This workaround simply retries until it works or throws the latest error if it fails ten times.
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 not sure on what could be the actual solution here, as the random failures seem to be more OS-related from what I've searched and my personal experience.
As an improvement here, I'd recommend using builder-util
retry<T>
function.
https://github.com/electron-userland/electron-builder/blob/master/packages/builder-util/src/util.ts#L384
Just need to export it and it simplifies all your usage to 2 lines.
Related notes: This may be misusing the logger's debug flag, but you could also conditionally add -debug
since the retry function doesn't have any explicit logging info. I also increased duration to 1s as sometimes I had to wait that long before a retry when I had my own hdiutil bash scripts
if (log.isDebugEnabled) {
imageArgs.push("-debug")
}
await retry(spawn("hdiutil", imageArgs), 5, 1000)
return tempDmg
It seems to be the problem caused by this line
When I commented it out, the dmg package was successfully built on Big Sur. |
Out of curiosity, can you try just omitting the
From the man:
|
Thank you for your comments! I really appreciate that you're helping out with this :) |
Trying to find ways to move this from "no idea why this is happening but a for loop might hide it" towards having a reliable repro, diagnosing the underlying issue and driving a fix. |
@lutzroeder I saw that you had already commented in the issue but for the record it's this one #5431 I'm running electron-builder 22.9.1 and macOS Catalina 10.15.17 In #5431 we've narrowed it down to hdiutil failing due to "resource busy" when hdiutil create tries to unmount the volume. |
I've tried it. At first it seemed to be working but it finally failed with the same
after ten or so tries. |
Instead of having a similar implementation in createStageDmg as the already existing "retry" function in builder-util it is now exported from that package and used to handle the rerun-on-failure in createStageDmg.
This should be fixed (from a PR revert) in the latest prerelease cut |
@mmaietta #5431 might be a different issue? The reverted PR was a recent regression in 22.10.3 which isn't broadly used and it repros reliably. This issue sounds like it succeeds on retry, shows a different error and also happened on previous versions? Next steps are probably either finding a reliable repro and tracking down why this is happening. |
If it is antivirus or something else maybe having something imitating that
behaviour? A script opening files on the volume as soon as it's mounted and
files are added could perhaps trigger the problem. I can try it out once
I'm back at my company laptop after the holidays.
|
@chokladmal, the goal is to root cause the issue, less how to recreate behavior that would require adding a retry approach to the build pipeline. Masking fragile behavior that isn't well understood tends to lead to more fragile and unpredictable behavior. For example, if this is caused by a virus scanner, the right fix is probably to suspend the scanner during build, add an exclusion or work with the vendor. If the issue is a bug in |
@lutzroeder can it be released as a workaround to fix current issue and then be replaced with real fix, when it ready? Because for now there is no workaround. I even can't install chokladmal's fork because it is monorepo. And since it is typescript it requires a lot of tooling to apply his patch to my own project. I see no problems with releasing it. It should not cause performance issues or bugs to other users. The only problem with it, it is not beautiful, but it works. |
@shrpne here's a script that @lutzroeder put together for compiling any branch and patching the results. Run from your current app directory (with electron-builder one dir up. You can adjust paths as needed)
|
@shrpne not my call to make. This is up to the maintainer. This is an open source project so the challenge isn't shipping workarounds. The question is more who would own getting to the bottom of this and drive the right fix. |
@mmaietta the script looks like it got merged from different sources. Why is |
@lutzroeder |
@mmaietta thank you for sharing this script, but it still looks pretty complicated, as I understand it is can't be used as a drop-in solution. @lutzroeder honestly I don't understand, why opensource project can't accept temporary workaround, while waiting for real fix, which then will replace this workaround. |
@shrpne sure, not arguing that and it’s not my call to make for this repo. You have to ask the maintainer for a release. Why not come up with the real fix now. Are you signing up to get to the bottom of this later. What is going to change to make this easier when folks are hitting the issue less often or in more random circumstances due to the workaround masking the real issue. I’m more asking why the problem isn’t better understood and what can be done about that. You are asking for the cheapest way to make it not your problem. |
Which version of electron will this be included in? |
Please update to latest electron-builder@22.10.5 |
Summary: allow-large-files Bumps [app-builder-lib](https://github.com/electron-userland/electron-builder) from 22.9.1 to 22.10.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/electron-userland/electron-builder/releases">app-builder-lib's releases</a>.</em></p> <blockquote> <h2>22.10.5</h2> <p>We have a new maintainer — welcome Mike Maietta (<a href="https://github.com/mmaietta"><code>@mmaietta</code></a>)!</p> <p><strong>electron-updater</strong> 4.3.8 contains fix for <a href="https://github.com/electron-userland/electron-builder/issues/5595">#5595</a>. This version is a pre-release.</p> <h3>Bug Fixes</h3> <ul> <li>Look for the Amazon cred header to remove auth header (<a href="https://github.com/electron-userland/electron-builder/issues/5594">#5594</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/46a8840bb4b3ed9b81ac65d3351debc4e34f30ce">46a8840</a>)</li> <li><strong>mac:</strong> fix "Contents/Info.plist" don't have identical SHAs when creating a universal build (<a href="https://github.com/electron-userland/electron-builder/issues/5550">#5550</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/0ba839b72b6a13178ad5bc4b03a47f9aca980650">0ba839b</a>)</li> <li>updating nsis script to properly identify arm64 vs x64 vs ia32 package files within universal installers. (<a href="https://github.com/electron-userland/electron-builder/issues/5558">#5558</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/60f7fe367c54f7c1274e2628534f43cb9a93fcf6">60f7fe3</a>)</li> <li><strong>mac:</strong> Allow arm64 macs to update to x64 version if no arm64 version available (<a href="https://github.com/electron-userland/electron-builder/issues/5524">#5524</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/dc5c2f8e772da4a9e6f1cf9578c70f60ddc36b37">dc5c2f8</a>)</li> <li><strong>mac:</strong> Pass platformName and options in doPack (<a href="https://github.com/electron-userland/electron-builder/issues/5511">#5511</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/f78e3f48d7cde71fd52fe1024c114bbe23f83562">f78e3f4</a>)</li> <li><strong>mac:</strong> Workaround for hdiutil randomly failing (<a href="https://github.com/electron-userland/electron-builder/issues/5431">#5431</a>) (<a href="https://github.com/electron-userland/electron-builder/issues/5464">#5464</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/53270cfe4eb2de1ac55e4b281c2c53483d4d1f2e">53270cf</a>)</li> <li>binary detection signing (<a href="https://github.com/electron-userland/electron-builder/issues/5493">#5493</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/a6e86b593048b4eb3047b7c3a54d02d0521b02d2">a6e86b5</a>), closes <a href="https://github.com/electron-userland/electron-builder/issues/5465">#5465</a></li> <li>ci-tests (<a href="https://github.com/electron-userland/electron-builder/issues/5523">#5523</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/ced6e50b93c621de5de07838205d739010e2526b">ced6e50</a>)</li> </ul> <h3>Features</h3> <ul> <li><strong>electron-updater:</strong> follow <code>autoInstallOnAppQuit = false</code> on macOS (<a href="https://github.com/electron-userland/electron-builder/issues/5271">#5271</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/1643d569600a197858585e895e3176948d3eec85">1643d56</a>)</li> <li>add support for executableName to non-Linux Platforms (<a href="https://github.com/electron-userland/electron-builder/issues/5409">#5409</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/106b68010f2daa0fb7d370c889b4a5494fa2887f">106b680</a>)</li> <li>Custom electronDist callback (<a href="https://github.com/electron-userland/electron-builder/issues/5527">#5527</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/4f4e0187715a57a358ab8ccfefef3fd0f8186584">4f4e018</a>)</li> <li>macOS default architecture (<a href="https://github.com/electron-userland/electron-builder/issues/5495">#5495</a>) (<a href="https://github.com/electron-userland/electron-builder/issues/5504">#5504</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/5203d7eb15726605e8987aeed7a5ccedc8152e04">5203d7e</a>)</li> </ul> <h2>22.10.4</h2> <h3>Bug Fixes</h3> <ul> <li>CI unit tests (<a href="https://github.com/electron-userland/electron-builder/issues/5489">#5489</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/637334ddbadebf503a45f79adf0b481fcba98679">637334d</a>)</li> </ul> <h3>Features</h3> <ul> <li>Apple Silicon Universal Support (<a href="https://github.com/electron-userland/electron-builder/issues/5481">#5481</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/ca20151c3416324d2413f451dea0c9e3853bab79">ca20151</a>)</li> <li><strong>mas:</strong> Apple Silicon support (<a href="https://github.com/electron-userland/electron-builder/issues/5484">#5484</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/6b7d30555d8f88a3a908a25adb3e8836ccdf5bc8">6b7d305</a>)</li> </ul> <h3>Reverts</h3> <ul> <li>Revert "fix: codesign all binary-like files (<a href="https://github.com/electron-userland/electron-builder/issues/5322">#5322</a>)" (<a href="https://github.com/electron-userland/electron-builder/issues/5488">#5488</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/026227888f8c537855abf6d6aa2141a692a6bc8e">0262278</a>), closes <a href="https://github.com/electron-userland/electron-builder/issues/5322">#5322</a> <a href="https://github.com/electron-userland/electron-builder/issues/5488">#5488</a></li> </ul> <h2>22.10.3</h2> <h3>Bug Fixes</h3> <ul> <li>signing of playwright (<a href="https://github.com/electron-userland/electron-builder/issues/5451">#5451</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/50750683b11d5670a182bd72f7cab14023e2b030">5075068</a>)</li> <li><strong>dmg:</strong> new version of mac_alias (<a href="https://github.com/electron-userland/electron-builder/issues/5460">#5460</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/a8acb583bc3c6fb1ff0dca2f07d1eefa26b1780a">a8acb58</a>)</li> <li>compiler error and test updates (<a href="https://github.com/electron-userland/electron-builder/issues/5449">#5449</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/0dec1b8c198f1f9ca0124649883945ba561d11d3">0dec1b8</a>)</li> <li><strong>AppImage:</strong> Add default argument --no-sandbox (<a href="https://github.com/electron-userland/electron-builder/issues/4496">#4496</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/ede6d50ddb6c23fe6bbb056bd80509c8f2ea0116">ede6d50</a>)</li> <li><strong>linux:</strong> Linux icon is not set if path is not explicitly defined in config (<a href="https://github.com/electron-userland/electron-builder/issues/5385">#5385</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/9fd950bc046ca1748950f63894993947da8185c5">9fd950b</a>)</li> <li><strong>nsis:</strong> cs locale typos in messages (<a href="https://github.com/electron-userland/electron-builder/issues/5358">#5358</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/0fb69b5d11e5c8aa707b7af709a0ab52f5019a9f">0fb69b5</a>)</li> <li>codesign all binary-like files (<a href="https://github.com/electron-userland/electron-builder/issues/5322">#5322</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/27ea1b2b9ce47a234e82772e09adf0bc7931e0df">27ea1b2</a>)</li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/electron-userland/electron-builder/commit/79940292bdd1a5de45b33453be492ea67529434b"><code>7994029</code></a> Cannot read property 'log' of undefined (<a href="https://github.com/electron-userland/electron-builder/issues/5622">#5622</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/1643d569600a197858585e895e3176948d3eec85"><code>1643d56</code></a> feat(electron-updater): follow <code>autoInstallOnAppQuit = false</code> on macOS (<a href="https://github.com/electron-userland/electron-builder/issues/5271">#5271</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/0360cd1705c7deab2e07f2a9abf8cdb652f945ff"><code>0360cd1</code></a> chore(build-utils): remove unreachable useless statement in createMessage (<a href="https://github.com/electron-userland/electron-builder/issues/5">https://github.com/facebook/flipper/issues/5</a>...</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/c348e318ce6e9a1d67febe40003aeb6badedea8f"><code>c348e31</code></a> Add "open" guard for AsarUtil to fix concurrent builds (<a href="https://github.com/electron-userland/electron-builder/issues/5567">#5567</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/11aa06c701a2ff091139a8bf8277151f7172efbb"><code>11aa06c</code></a> Detect CI tag for Bitbucket pipelines</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/8decc1867428ef532e81466e239a8b3ad04e4d9c"><code>8decc18</code></a> (fix) master branch depCheck + tests (<a href="https://github.com/electron-userland/electron-builder/issues/5630">#5630</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/46a8840bb4b3ed9b81ac65d3351debc4e34f30ce"><code>46a8840</code></a> fix: Look for the Amazon cred header to remove auth header (<a href="https://github.com/electron-userland/electron-builder/issues/5594">#5594</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/0ba839b72b6a13178ad5bc4b03a47f9aca980650"><code>0ba839b</code></a> fix(mac): fix "Contents/Info.plist" don't have identical SHAs when creating a...</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/60f7fe367c54f7c1274e2628534f43cb9a93fcf6"><code>60f7fe3</code></a> fix: updating nsis script to properly identify arm64 vs x64 vs ia32 package f...</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/5de0db981d069584933e88781a41a411e87ff1cd"><code>5de0db9</code></a> chore: lint</li> <li>Additional commits viewable in <a href="https://github.com/electron-userland/electron-builder/compare/v22.9.1...v22.10.5">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `dependabot rebase` will rebase this PR - `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `dependabot merge` will merge this PR after your CI passes on it - `dependabot squash and merge` will squash and merge this PR after your CI passes on it - `dependabot cancel merge` will cancel a previously requested merge and block automerging - `dependabot reopen` will reopen this PR if it is closed - `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Pull Request resolved: #2072 Reviewed By: passy Differential Revision: D27230105 Pulled By: priteshrnandgaonkar fbshipit-source-id: e53e942319a15d982797f7ce3af128a8b25b357f
Summary: Bumps [electron-builder](https://github.com/electron-userland/electron-builder) from 22.9.1 to 22.10.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/electron-userland/electron-builder/releases">electron-builder's releases</a>.</em></p> <blockquote> <h2>22.10.5</h2> <p>We have a new maintainer — welcome Mike Maietta (<a href="https://github.com/mmaietta"><code>@mmaietta</code></a>)!</p> <p><strong>electron-updater</strong> 4.3.8 contains fix for <a href="https://github.com/electron-userland/electron-builder/issues/5595">#5595</a>. This version is a pre-release.</p> <h3>Bug Fixes</h3> <ul> <li>Look for the Amazon cred header to remove auth header (<a href="https://github.com/electron-userland/electron-builder/issues/5594">#5594</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/46a8840bb4b3ed9b81ac65d3351debc4e34f30ce">46a8840</a>)</li> <li><strong>mac:</strong> fix "Contents/Info.plist" don't have identical SHAs when creating a universal build (<a href="https://github.com/electron-userland/electron-builder/issues/5550">#5550</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/0ba839b72b6a13178ad5bc4b03a47f9aca980650">0ba839b</a>)</li> <li>updating nsis script to properly identify arm64 vs x64 vs ia32 package files within universal installers. (<a href="https://github.com/electron-userland/electron-builder/issues/5558">#5558</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/60f7fe367c54f7c1274e2628534f43cb9a93fcf6">60f7fe3</a>)</li> <li><strong>mac:</strong> Allow arm64 macs to update to x64 version if no arm64 version available (<a href="https://github.com/electron-userland/electron-builder/issues/5524">#5524</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/dc5c2f8e772da4a9e6f1cf9578c70f60ddc36b37">dc5c2f8</a>)</li> <li><strong>mac:</strong> Pass platformName and options in doPack (<a href="https://github.com/electron-userland/electron-builder/issues/5511">#5511</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/f78e3f48d7cde71fd52fe1024c114bbe23f83562">f78e3f4</a>)</li> <li><strong>mac:</strong> Workaround for hdiutil randomly failing (<a href="https://github.com/electron-userland/electron-builder/issues/5431">#5431</a>) (<a href="https://github.com/electron-userland/electron-builder/issues/5464">#5464</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/53270cfe4eb2de1ac55e4b281c2c53483d4d1f2e">53270cf</a>)</li> <li>binary detection signing (<a href="https://github.com/electron-userland/electron-builder/issues/5493">#5493</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/a6e86b593048b4eb3047b7c3a54d02d0521b02d2">a6e86b5</a>), closes <a href="https://github.com/electron-userland/electron-builder/issues/5465">#5465</a></li> <li>ci-tests (<a href="https://github.com/electron-userland/electron-builder/issues/5523">#5523</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/ced6e50b93c621de5de07838205d739010e2526b">ced6e50</a>)</li> </ul> <h3>Features</h3> <ul> <li><strong>electron-updater:</strong> follow <code>autoInstallOnAppQuit = false</code> on macOS (<a href="https://github.com/electron-userland/electron-builder/issues/5271">#5271</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/1643d569600a197858585e895e3176948d3eec85">1643d56</a>)</li> <li>add support for executableName to non-Linux Platforms (<a href="https://github.com/electron-userland/electron-builder/issues/5409">#5409</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/106b68010f2daa0fb7d370c889b4a5494fa2887f">106b680</a>)</li> <li>Custom electronDist callback (<a href="https://github.com/electron-userland/electron-builder/issues/5527">#5527</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/4f4e0187715a57a358ab8ccfefef3fd0f8186584">4f4e018</a>)</li> <li>macOS default architecture (<a href="https://github.com/electron-userland/electron-builder/issues/5495">#5495</a>) (<a href="https://github.com/electron-userland/electron-builder/issues/5504">#5504</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/5203d7eb15726605e8987aeed7a5ccedc8152e04">5203d7e</a>)</li> </ul> <h2>22.10.4</h2> <h3>Bug Fixes</h3> <ul> <li>CI unit tests (<a href="https://github.com/electron-userland/electron-builder/issues/5489">#5489</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/637334ddbadebf503a45f79adf0b481fcba98679">637334d</a>)</li> </ul> <h3>Features</h3> <ul> <li>Apple Silicon Universal Support (<a href="https://github.com/electron-userland/electron-builder/issues/5481">#5481</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/ca20151c3416324d2413f451dea0c9e3853bab79">ca20151</a>)</li> <li><strong>mas:</strong> Apple Silicon support (<a href="https://github.com/electron-userland/electron-builder/issues/5484">#5484</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/6b7d30555d8f88a3a908a25adb3e8836ccdf5bc8">6b7d305</a>)</li> </ul> <h3>Reverts</h3> <ul> <li>Revert "fix: codesign all binary-like files (<a href="https://github.com/electron-userland/electron-builder/issues/5322">#5322</a>)" (<a href="https://github.com/electron-userland/electron-builder/issues/5488">#5488</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/026227888f8c537855abf6d6aa2141a692a6bc8e">0262278</a>), closes <a href="https://github.com/electron-userland/electron-builder/issues/5322">#5322</a> <a href="https://github.com/electron-userland/electron-builder/issues/5488">#5488</a></li> </ul> <h2>22.10.3</h2> <h3>Bug Fixes</h3> <ul> <li>signing of playwright (<a href="https://github.com/electron-userland/electron-builder/issues/5451">#5451</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/50750683b11d5670a182bd72f7cab14023e2b030">5075068</a>)</li> <li><strong>dmg:</strong> new version of mac_alias (<a href="https://github.com/electron-userland/electron-builder/issues/5460">#5460</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/a8acb583bc3c6fb1ff0dca2f07d1eefa26b1780a">a8acb58</a>)</li> <li>compiler error and test updates (<a href="https://github.com/electron-userland/electron-builder/issues/5449">#5449</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/0dec1b8c198f1f9ca0124649883945ba561d11d3">0dec1b8</a>)</li> <li><strong>AppImage:</strong> Add default argument --no-sandbox (<a href="https://github.com/electron-userland/electron-builder/issues/4496">#4496</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/ede6d50ddb6c23fe6bbb056bd80509c8f2ea0116">ede6d50</a>)</li> <li><strong>linux:</strong> Linux icon is not set if path is not explicitly defined in config (<a href="https://github.com/electron-userland/electron-builder/issues/5385">#5385</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/9fd950bc046ca1748950f63894993947da8185c5">9fd950b</a>)</li> <li><strong>nsis:</strong> cs locale typos in messages (<a href="https://github.com/electron-userland/electron-builder/issues/5358">#5358</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/0fb69b5d11e5c8aa707b7af709a0ab52f5019a9f">0fb69b5</a>)</li> <li>codesign all binary-like files (<a href="https://github.com/electron-userland/electron-builder/issues/5322">#5322</a>) (<a href="https://github.com/electron-userland/electron-builder/commit/27ea1b2b9ce47a234e82772e09adf0bc7931e0df">27ea1b2</a>)</li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/electron-userland/electron-builder/commit/79940292bdd1a5de45b33453be492ea67529434b"><code>7994029</code></a> Cannot read property 'log' of undefined (<a href="https://github.com/electron-userland/electron-builder/issues/5622">#5622</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/1643d569600a197858585e895e3176948d3eec85"><code>1643d56</code></a> feat(electron-updater): follow <code>autoInstallOnAppQuit = false</code> on macOS (<a href="https://github.com/electron-userland/electron-builder/issues/5271">#5271</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/0360cd1705c7deab2e07f2a9abf8cdb652f945ff"><code>0360cd1</code></a> chore(build-utils): remove unreachable useless statement in createMessage (<a href="https://github.com/electron-userland/electron-builder/issues/5">https://github.com/facebook/flipper/issues/5</a>...</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/c348e318ce6e9a1d67febe40003aeb6badedea8f"><code>c348e31</code></a> Add "open" guard for AsarUtil to fix concurrent builds (<a href="https://github.com/electron-userland/electron-builder/issues/5567">#5567</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/11aa06c701a2ff091139a8bf8277151f7172efbb"><code>11aa06c</code></a> Detect CI tag for Bitbucket pipelines</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/8decc1867428ef532e81466e239a8b3ad04e4d9c"><code>8decc18</code></a> (fix) master branch depCheck + tests (<a href="https://github.com/electron-userland/electron-builder/issues/5630">#5630</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/46a8840bb4b3ed9b81ac65d3351debc4e34f30ce"><code>46a8840</code></a> fix: Look for the Amazon cred header to remove auth header (<a href="https://github.com/electron-userland/electron-builder/issues/5594">#5594</a>)</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/0ba839b72b6a13178ad5bc4b03a47f9aca980650"><code>0ba839b</code></a> fix(mac): fix "Contents/Info.plist" don't have identical SHAs when creating a...</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/60f7fe367c54f7c1274e2628534f43cb9a93fcf6"><code>60f7fe3</code></a> fix: updating nsis script to properly identify arm64 vs x64 vs ia32 package f...</li> <li><a href="https://github.com/electron-userland/electron-builder/commit/5de0db981d069584933e88781a41a411e87ff1cd"><code>5de0db9</code></a> chore: lint</li> <li>Additional commits viewable in <a href="https://github.com/electron-userland/electron-builder/compare/v22.9.1...v22.10.5">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `dependabot rebase` will rebase this PR - `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `dependabot merge` will merge this PR after your CI passes on it - `dependabot squash and merge` will squash and merge this PR after your CI passes on it - `dependabot cancel merge` will cancel a previously requested merge and block automerging - `dependabot reopen` will reopen this PR if it is closed - `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Pull Request resolved: #2068 Reviewed By: passy Differential Revision: D27230125 Pulled By: priteshrnandgaonkar fbshipit-source-id: 775e8d532b0516bf485b95e7057544d1d5a91e59
For some but not all Mac users building dmg files often fails.
After some investigations the cause seems to be that
hdiutil create
(when being run to create a temporary dmg file in createStageDmg) fail when trying to unmount the created volume due to "resource busy". As this only affects some Macs it seems to be caused by something on those machines. Suggested is antivirus software but that's not confirmed.It turns out that after retrying the
hdiutil create
command a few times it usually succeeds and this workaround is based on that idea - to simply retry the command up to five times before throwing and failing the build. This does not fix the real issue!Tracking issue: #5431