-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New watchos targets that are available in kotlin coroutines #72
base: master
Are you sure you want to change the base?
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 configurejs
target 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 = 30000
This will increase timeout to 30 seconds, instead of 2 by default
Hope this will help somehow stabilise the build!
@@ -1,10 +1,9 @@ | |||
# style guide | |||
kotlin.code.style=official | |||
kotlin.incremental.multiplatform=true | |||
kotlin.js.compiler=both | |||
kotlin.js.compiler=ir |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this property is not needed anymore
} | ||
apply(plugin = "me.champeau.gradle.jmh") | ||
apply(plugin = "me.champeau.jmh") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this line can be dropped
}*/ | ||
jvmToolchain(8) | ||
jvm() | ||
js { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is there any issue with those targets?
mingwX64() | ||
watchosDeviceArm64() | ||
|
||
applyDefaultHierarchyTemplate() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is not needed, as hierarchy is applied automatically if there is no manual source set creation
Hey @Him188 and @nathanfallet! |
Fixes #67
Adding
watchosSimulatorArm64
andwatchosDeviceArm64
, which were added tokotlinx-coroutines-core
respectively in1.6.0
and1.7.0
See 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.