Hey everyone! I've been working as a DevOps engineer for a few years, but I've never really dealt with compiled code before. My team is currently developing a desktop application in C++, and our lead developer is suggesting that we set up a Windows VM, a Linux VM, and get a dedicated Mac to handle the builds for each operating system. We're using GitHub Actions, but I'm wondering if there's a more efficient way to manage this? It feels a bit cumbersome to juggle three separate VMs. Is this the common approach, or are there better alternatives?
4 Answers
You might want to consider using managed runners and platform builds. There are specific images available for all three operating systems, which could simplify things for you.
Another option is to combine the Windows and Linux VMs since Windows can run Linux Docker containers using WSL. This could reduce the total number of VMs you need.
Yep, that setup is pretty normal if you're developing native C++ applications. Keep in mind that for macOS builds, you'll need to legally use Apple hardware.
It totally depends on your application's requirements and build frequency. If the project isn't too heavy and you aren’t compiling constantly, a dedicated runner could save some costs—especially if you set up a cheap PC for this. But if you only need to compile a couple of times a week, the cloud options could definitely be more cost-effective in the long run.
Related Questions
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically
[Centos] Delete All Files And Folders That Contain a String