![electron cross compile mac on linux electron cross compile mac on linux](https://d4.alternativeto.net/PnI005sSCSQDcOzJ0Iryc_ZJ28IXuw-RvOtvuoTpkb8/rs:fill:140:140:0/g:ce:0:0/YWJzOi8vZGlzdC9pY29ucy8yMDQ4LWJ5LWdhYnJpZWxlLWNpcnVsbGlfODEzMzEucG5n.png)
#Electron cross compile mac on linux how to
And to the best of my knowledge, there is no good tutorial showing how to perform cross-platform releases with GitHub Actions as of now. The second reason for this blog post is that a possible solution for the problem had just been launched by GitHub, where Zettlr’s source code is hosted: GitHub Actions. Long story short: there are a lot of reasons why even an Electron app should be built on separate machines. And if you build for Unix, use a Linux-distribution. That is: If you build for a Windows target, use a Windows machine. While the WINE developers already work on porting it to 64 bit, this situation highlighted once more that you should always try to build using the platforms you are targeting.
![electron cross compile mac on linux electron cross compile mac on linux](https://i0.wp.com/youprogrammer.com/wp-content/uploads/2018/11/clion-ide-for-mac-windows.png)
And, well, I updated, because I’m one of these “always update”-folks. To a lesser extent, Electron, upon which Zettlr is built, has begun experiencing similar problems: besides some native node-modules which need to be compiled for the target platforms (something Zettlr as of now does not use), the main problem for me arose when Apple dropped 32 bit support on macOS Catalina.
![electron cross compile mac on linux electron cross compile mac on linux](https://2.bp.blogspot.com/-589bxZERiMQ/Wk27oFy28rI/AAAAAAAAL7U/LWZT7STsr6odLjkP5PNlHNpSaJIqwCjdQCLcBGAs/s1600/The%2BPenTesters%2BFramework.png)
When developing a cross-platform application that should run on Windows, macOS, and ideally (most) Linux distributions, you face one major problem: How to build it for all platforms at once? While there are some cross-platform compilers, they don’t necessarily work well when run on platforms that don’t match the target platform. The first reason has to do with the never-ending problems I’ve experienced building Zettlr for multiple platforms, and the second is that a very good solution just arrived. There are two major reasons for both why this blog post exists and why especially now. Today’s blog post will be something rather technical not focusing on writing strategies, Zettelkasten insights, or how much carbon dioxide a server produces. Continuous Cross-Platform Deployment with GitHub Actions