nuttyartist / notes

Fast and beautiful note-taking app written in C++. Write down your thoughts.
https://notes-foss.com
Mozilla Public License 2.0
3.78k stars 333 forks source link

Do something about flaky macOS builds #711

Closed guihkx closed 6 hours ago

guihkx commented 7 hours ago

Upstream issue: https://github.com/actions/runner-images/issues/7522

Despite the failure being technically random, our macOS CI/CD has been failing quite a lot recently, which requires us to manually trigger rebuilds until it passes, and that's quite annoying.

We trigger that failure because we use create-dmg to create DMGs for macOS, and they invoke hdiutil internally, which then might or might not trigger the error: hdiutil: create failed - Resource busy.

The suspicion is that a macOS 13+ service called "XProtectBehaviorService" is causing the failure.

People have been suggesting some workarounds on the issue I linked above:

What I gathered from the comments is that the first option does not work reliably. The second option I haven't seen any negative comments about, so I might try that first.

There's a third option, which is far more drastic, that would be stop distributing Notes as DMG, and simply distribute the bundle (i.e., the .app folder) compressed as a zip file.

But I'm not a macOS user, so it's not obvious to me if the average macOS user would know how to install Notes like that.

nuttyartist commented 6 hours ago

There's a third option, which is far more drastic, that would be stop distributing Notes as DMG, and simply distribute the bundle (i.e., the .app folder) compressed as a zip file.

Yeah, that's not the top of the line in terms of UX in macOS. The .dmg allows us to show the dragging behavior to users, so we should stick with that.

guihkx commented 6 hours ago

Yeah, that's what I thought too.

Let's at least hope the workaround fixes the issue...

guihkx commented 6 hours ago

Spoke too freaking soon:

https://github.com/nuttyartist/notes/actions/runs/11423877142/job/31783553788#step:13