Hey guys, I'm currently a bit stuck in the process...
# multiplatform
s
Hey guys, I'm currently a bit stuck in the process of releasing a Multiplatform project with different native targets (Linux, macOS(x64 and arm64) and Windows). I want to support all of them, but I only have access to windows, macOSX64 and linux via GitHub Actions. Question: * Can I split up the publishing part (to an maven repo) on different machines? So on release, I spin up three different machines (linux, macOs, windows) and all of them publish their respective target to the same (single) repo? * How can I publish for macOSarm64? There are no GitHub runners yet with arm64 support... Is macOSX64 able to publish arm code as well? Or do I have to fallback to my personal machine in this case 😁 ? Thanks and a nice Friday, wherever you are in the world 🌍
👌 1
j
you will find individual tasks for publishing with individual sourcesets. Check the gradles tasks list in the publishing section
s
Thanks for the response. Maybe I didn't expressed my questions clearly. I know that there are individual publishing tasks available. And therefore it is technically possible to split the publishing part to different machines. But I'm not sure if this is going to work (honestly, I don't know why it should 😁 , but 🤷). But I also don't know if I can publish the
macOsrm64
on an
macOSx64
machines.
j
I haven't publish with parallel build. but you could sync gradle in a initial build and in separate build with appropriate machine name make sure everyone depends on the initial build then it will work. You'll find some tutorials by github for parallel build in the workflow
s
Okay, nice. I guess my plan works like I thought. Thanks for sharing the article and the help!
a
the GitHub macOS runners can build and publish all targets, I believe (I'm not sure about macOSX64...). So you can just have a single GitHub Action that builds and publishes everything. If your project is open source then this will be free. However, if you have to pay for GitHub Runners, then to reduce costs you can only use the macOS runners to build the macOS targets.