New watchos targets that are available in kotlin coroutines#72
New watchos targets that are available in kotlin coroutines#72nathanfallet wants to merge 5 commits intoHim188:masterfrom
Conversation
5de8926 to
63215c7
Compare
|
Build failed on macos, can you please check? @nathanfallet |
|
It fails for a weird reason, and I'm unable to even build the previous version: |
|
You need to bump the Kotlin version to 1.9.20+ because Xcode 15 (updated regularly due macOS-latest), isn't compatible with Kotlin 1.8.0 |
|
@hfhbd okay I'll have a look on that, I hope it won't break other things |
|
Here are my changes explained to upgrade to Kotlin
I also moved a few files because package names were sometimes in a folder named with |
|
The runner fails because |
GitHub runners have only 7GB memory. It's easy for clang + lld + kotlin daemon + gradle daemon to run out of it. So just retry it. |
|
@Him188 I fixed it by increasing the memory allocated to Gradle, otherwise it fails each time it is building on a clean state (relaunching locally works but on the runner it's always a clean state so that's the only solution I found) |
|
@nathanfallet It's strange - it timed out. Try to remove --info from gralde agumengs? It might increase memory usage causing tests to run slower. |
whyoleg
left a comment
There was a problem hiding this comment.
Hey!
Would be nice to somehow resolve this and do a release. I do understand that there are some strange issues happening.
I do have several theories (ordered by complexity):
- could you try to disable debugging in all tests - sometimes, if there is a lot of output, JS can be flaky
- May be it's a good idea to update Gradle/GitHub Actions versions - sometimes it could help :)
- The timeout is coming from
karma, so it's possible to increase timeout. For this you need to configurejstarget like this:
js {
browser {
testTask {
useKarma {
useConfigDirectory(rootDir.resolve("karma"))
}
}
}
}Then in karma folder create file config.js with content:
config.client = config.client || {}
config.client.mocha = config.client.mocha || {}
config.client.mocha.timeout = '30s'
config.browserNoActivityTimeout = 30000
config.browserDisconnectTimeout = 30000This will increase timeout to 30 seconds, instead of 2 by default
Hope this will help somehow stabilise the build!
| kotlin.code.style=official | ||
| kotlin.incremental.multiplatform=true | ||
| kotlin.js.compiler=both | ||
| kotlin.js.compiler=ir |
| id("me.champeau.jmh") | ||
| } | ||
| apply(plugin = "me.champeau.gradle.jmh") | ||
| apply(plugin = "me.champeau.jmh") |
| }*/ | ||
| jvmToolchain(8) | ||
| jvm() | ||
| js { |
There was a problem hiding this comment.
would be nice to add wasmJs and wasmWasi targets as well
As far as I can see, js or native could be used there
| iosArm64() | ||
|
|
||
| // Tier 3: | ||
| //androidNativeArm32() |
| mingwX64() | ||
| watchosDeviceArm64() | ||
|
|
||
| applyDefaultHierarchyTemplate() |
There was a problem hiding this comment.
this is not needed, as hierarchy is applied automatically if there is no manual source set creation
|
Hey @Him188 and @nathanfallet! |



Fixes #67
Adding
watchosSimulatorArm64andwatchosDeviceArm64, which were added tokotlinx-coroutines-corerespectively in1.6.0and1.7.0See https://central.sonatype.com/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-watchossimulatorarm64 and https://central.sonatype.com/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core-watchosdevicearm64 for releases
EDIT: It was actually
kotlinx-serialization, missing watchos targets were added to1.5.1.I tried to upgrade to latest which is
1.6.3, but too much things were broken so I updated to the minimum version which supports it.