Skip to content

[CI]: Add Desktop CI for :desktop, :core desktopTest and :cli - #114

Merged
rugbedbugg merged 2 commits into
mainfrom
ci/add-desktop-cli-workflow
Sep 3, 2026
Merged

[CI]: Add Desktop CI for :desktop, :core desktopTest and :cli#114
rugbedbugg merged 2 commits into
mainfrom
ci/add-desktop-cli-workflow

Conversation

@rugbedbugg

@rugbedbugg rugbedbugg commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Add Desktop CI, a PR-triggered workflow covering :desktop, :core's desktop test source set, and :cli.

android.yml is currently the only workflow that runs on a PR, and it runs assembleDebug testDebugUnitTest :app:lintDebug — all of which stop at :core's androidTarget. The consequence is that a green check on this repo says nothing about the desktop or CLI code:

  • :desktop has never been compiled on a PR.
  • :cli has never been compiled on a PR.
  • core/src/desktopTest has never been run.
  • release.yml is tag/workflow_dispatch-only, so it is never validated either.

Why now

Two open PRs are affected by this blind spot:

Scope

One job on ubuntu-latest:

./gradlew :desktop:compileKotlinDesktop :core:desktopTest :cli:build

:desktop is a single jvm("desktop") target — OS differences are handled at runtime via OsBindings, and per-OS packaging is already exercised by release.yml — so one host covers the Kotlin/Compose surface without tripling CI minutes.

Kept as a separate workflow rather than a job inside android.yml so the check name stays distinct if it is ever promoted to a required status check.

Verification

  • Ran ./gradlew :desktop:compileKotlinDesktop :core:desktopTest :cli:build on main: BUILD SUCCESSFUL, with :desktop:compileKotlinDesktop and :cli:compileKotlin executing. :core:desktopTest is NO-SOURCE on main today and starts doing real work once Add standalone CLI lifecycle and release packaging #92 lands.
  • Workflow YAML parsed and asserted for triggers and run command.

android.yml is the only PR-triggered workflow and runs assembleDebug,
testDebugUnitTest and :app:lintDebug, all of which stop at :core's
androidTarget. :desktop and :cli have never been compiled on a PR, and
:core's desktopTest source set has never been run.

The gap is not theoretical. PR #113 bumps composeMaterial3Mp, which is
consumed only by :desktop, and passed CI without that module being
built. PR #92 adds 13 test files under core/src/desktopTest and
cli/src/test that no current job would execute.

Runs on ubuntu-latest only: :desktop is a single jvm("desktop") target,
so one host covers the Kotlin/Compose surface, and per-OS packaging is
already exercised by release.yml.
Both workflows declared a job id of `build`, so the PR checks list
showed two entries named `build` with no way to tell the Android job
from the desktop one. Renaming this job to `desktop` makes the check
read "Desktop CI / desktop", which also matters if it is ever promoted
to a required status check.
@rugbedbugg
rugbedbugg force-pushed the ci/add-desktop-cli-workflow branch from 3e521ca to 2dc67ad Compare September 3, 2026 01:51
@rugbedbugg
rugbedbugg merged commit 199e1ea into main Sep 3, 2026
3 checks passed
@rugbedbugg
rugbedbugg deleted the ci/add-desktop-cli-workflow branch September 3, 2026 01:57
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