How do you handle your CI jobs when compiling several multiplatform targets? Our build just went from 40min to a whooping 1h20 when adding all the M1, ARM, etc targets...
mbonnin
11/03/2021, 2:23 PM
I'm tempted to just skip most of the native targets and just run one for darwin and one for linux. But that's slightly defeating the point of having the CI catch bugs in other platforms
j
Javier
11/03/2021, 2:34 PM
if money is not a problem, you can have more macos machines
Javier
11/03/2021, 2:34 PM
compiling and running test for each native target
Javier
11/03/2021, 2:34 PM
all in parallel
m
mbonnin
11/03/2021, 2:42 PM
💸
mbonnin
11/03/2021, 2:43 PM
Yep, I guess that's an option. It's underoptimal though because we have a Gradle plugin that is going to be compiled several times for each native target
a
ankushg
11/03/2021, 5:56 PM
It might also be worth getting some attention on this: https://youtrack.jetbrains.com/issue/KT-49385
Even if you're willing to pay for a beefy multi-core macOS machine, Kotlin/Native just doesn't use those extra cores to compile in parallel 😞