Skip to content

Test the UI source against the checkout's core in CI - #306

Merged
arifBurakDemiray merged 1 commit into
java-ui-separate-releasefrom
java-ui-test-against-local-core
Oct 22, 2026
Merged

arifBurakDemiray merged 1 commit into
java-ui-separate-releasefrom
java-ui-test-against-local-core

Conversation

@arifBurakDemiray

Copy link
Copy Markdown
Member

Stacked on #295.

What

  • The testUiWithLocalCore project property swaps the released core (ly.count.sdk:java:26.8.0) for the sdk-java project in sdk-java-ui. The cross-platform job sets it (ORG_GRADLE_PROJECT_testUiWithLocalCore) for the UI tests on both runners.
  • Wraps the sdk-java-ui/CHANGELOG.md line markdownlint MD013 reported (Codacy's only finding on ui separation #295).

Why

With #295 the UI builds and tests only against the released core, while it uses the core's internal classes (SDKCore, ModuleContent, ModuleFeedback, Log, WidgetAction, ...). A core change that breaks the UI source would pass CI until the next UI release. Releasing a ui- tag still tests the UI against the released core it names.

Verification

  • Without the property, and with =false: ly.count.sdk:java:26.8.0. With -PtestUiWithLocalCore=true or ORG_GRADLE_PROJECT_testUiWithLocalCore=true: ly.count.sdk:java:26.8.0 -> project :sdk-java.
  • :sdk-java-ui:compileTestJava -PtestUiWithLocalCore=true and :app-javafx:compileJava pass. UI tests open JavaFX windows, so they run in CI, not locally.

Not covered

The property tests the UI source on the new core, not the released java-ui jar on it. A binary compatibility check of the core's internal types the UI uses (against the last released core) would cover that; today all 49 core members the UI calls still resolve against #275's core.

🤖 Generated with Claude Code

sdk-java-ui now depends on a released core, so no build compiled or tested
it against the sdk-java of the same checkout any more. It uses the core's
internal classes, so a core change could break it unnoticed until the next
UI release.

The testUiWithLocalCore project property swaps the released core for the
sdk-java project, and the cross-platform job sets it for the UI tests.
Releasing a ui- tag still tests the UI against the released core it names.
The property tests the UI source, not the released java-ui jar on a newer
core.

Also wraps the changelog line markdownlint (MD013) reported as too long.
@arifBurakDemiray
arifBurakDemiray marked this pull request as ready for review October 22, 2026 06:10
@arifBurakDemiray
arifBurakDemiray merged commit c60b714 into java-ui-separate-release Oct 22, 2026
5 checks passed
@arifBurakDemiray
arifBurakDemiray deleted the java-ui-test-against-local-core branch October 22, 2026 06:10
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.

1 participant