Skip to content

Fix build failures on main [CLF-721] - #198

Merged
zach-klippenstein merged 1 commit into
mainfrom
zachklipp/fix-main-ci-c61e01
Nov 4, 2026
Merged

zach-klippenstein merged 1 commit into
mainfrom
zachklipp/fix-main-ci-c61e01

Conversation

@zach-klippenstein

Copy link
Copy Markdown
Collaborator

Summary

./gradlew build has been failing on main since #196 merged. This PR makes the existing code pass the existing checks; no dependency versions are changed.

Why main was red

#196 (Compose 1.11.1 upgrade) came from a fork, and the Android workflow only runs on pull_request/merge_group from the main repo, so that PR only got the DCO check and its code was never built by CI.

Failures and fixes

Failure Fix
:radiography:runKtlintCheckOverMainSourceSet — "KtLint failed to parse file ComposeLayoutInfo.kt" (289:66 Expecting an expression). #196 introduced Kotlin 2.2 multi-dollar string literals ($$"...") in ComposeLayoutInfo.kt and CompositionContexts.kt, which the ktlint version pinned in this build (0.38.1) can't parse. Replaced the three literals with ordinary escaped strings. The resulting values are byte-identical (getChildren$ui, <composer>$CompositionContextHolder, <composer>$CompositionContextImpl), so the reflection lookups are unchanged.

That was the only failure: with --continue, every other task (compile, unit tests, lint, apiCheck) passed on an unmodified main.

Verification

  • ./gradlew build passes locally.
  • ./gradlew connectedCheck passes on a physical Samsung SM-A256U1 (Android 16): 43 instrumented tests across radiography, compose-tests, compose-unsupported-tests, sample, and sample-compose, 0 failures.

Linear: CLF-721

🤖 Generated with Claude Code

PR #196 introduced Kotlin 2.2 multi-dollar string literals ($$"...") in
ComposeLayoutInfo.kt and CompositionContexts.kt. The ktlint version pinned
in this build (0.38.1 via ktlint-gradle 11.6.1) cannot parse that syntax, so
`./gradlew build` has failed on main since that merge. Fork PRs only run the
DCO check, so Android CI never caught it.

Replace the literals with ordinary escaped strings that produce byte-identical
values ("getChildren$ui", "<composer>$CompositionContextHolder", and
"<composer>$CompositionContextImpl"). No dependency versions changed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@zach-klippenstein
zach-klippenstein merged commit 23a44b6 into main Nov 4, 2026
8 checks passed
@zach-klippenstein
zach-klippenstein deleted the zachklipp/fix-main-ci-c61e01 branch November 4, 2026 01:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants