fix: revert androidx-lifecycle 2.10.0 — it broke the iOS demo build - #89
Merged
Merged
Conversation
androidx-lifecycle 2.10.0 publishes Kotlin/Native klibs built with Kotlin 2.2.20; this project is pinned to 2.1.21, so :composeApp:compileKotlinIosSimulatorArm64 fails with 'KLIB resolver: … incompatible ABI version 2.2.0'. Exactly the failure that got kotlinx-coroutines 1.11.0 (#53) and Koin 4.2.1 (#54) closed unmerged — #55 was merged because its CI was green, which it should not have been. Why CI missed it: no job compiles the demo app for a Kotlin/Native target. ':composeApp:assembleDebug' is Android-only and ':kmpworker:linkReleaseFrameworkIosSimulatorArm64' covers the library, not composeApp. Adds ':composeApp:compileKotlinIosSimulatorArm64' to the demo-builds job so the gap cannot swallow this class of breakage again. Also extends the dependabot ignore list to every dependency that ships klibs (coroutines, jetbrains-androidx lifecycle, compose, koin): a minor bump of any of them carries the compiler's ABI stamp and so must move with the Kotlin toolchain, manually.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What happened
I merged #55 (androidx-lifecycle 2.8.4 → 2.10.0) on the basis that its only red checks matched two known-benign patterns. That was wrong: the bump breaks
:composeApp:compileKotlinIosSimulatorArm64onmainright now.This is the same klib-ABI failure that got kotlinx-coroutines 1.11.0 (#53) and Koin 4.2.1 (#54) closed unmerged. androidx-lifecycle 2.10.0 ships Kotlin/Native klibs built with Kotlin 2.2.20; this project is pinned to 2.1.21.
Verified by checking out
mainatfcc6faawith no other changes and compiling — it fails there too, so this is not an artifact of any in-flight work.Why CI didn't catch it
Nothing in CI compiles the demo app for a Kotlin/Native target:
:composeApp:assembleDebug— Android only.:kmpworker:linkReleaseFrameworkIosSimulatorArm64— the library, not composeApp.iOS testsjobs run:kmpworker:iosSimulatorArm64Test/:kmpworker-http:….So every job on #55 was legitimately green while the iOS demo build was broken. Same shape as #88 (nothing ran
testReleaseUnitTest): a target that exists but is never exercised.Fix
androidx-lifecycleto 2.8.4. Verified:composeApp:compileKotlinIosSimulatorArm64passes again.:composeApp:compileKotlinIosSimulatorArm64to thedemo-buildsjob so this class of breakage can't pass CI again.