Skip to content

fix(build): the daemon-payload guard runs only on the tasks that produce the app - #10

Merged
mohitsoni48 merged 1 commit into
mainfrom
fix/payload-guard-top-level-tasks-only
Oct 31, 2026
Merged

mohitsoni48 merged 1 commit into
mainfrom
fix/payload-guard-top-level-tasks-only

Conversation

@mohitsoni48

Copy link
Copy Markdown
Owner

Found by the first run of the merge-to-beta workflow on main (run #37): it failed with Daemon payload missing: …/assets/daemon/dist/cli.js — the APK would boot to a crash, and nothing was published.

Cause

composeApp/build.gradle.kts attaches a doLast guard to every task whose name starts with assemble or bundle, to fail a build that has no daemon payload. That also matches Android Gradle Plugin's intermediate task bundleReleaseResources, which runs before mergeReleaseAssets, the task stageDaemonAssets is wired to. On a clean checkout (CI) the daemon is not staged yet at that point, so the guard fails a build that is fine. Locally the staged folder is left over from earlier builds, so it never showed.

CI builds of the post-#8 code had not run before: the PR alpha runs have been waiting for owner approval since 26 Oct.

Fix

The guard now runs only on the tasks that produce the app: assembleDebug, assembleRelease, bundleDebug, bundleRelease (the project has only the debug and release build types and no flavors). By then merge*Assets has staged the daemon, so a build that really lacks the payload still fails there.

Not verified yet

This is a one-line matcher change confirmed from the failing run's log (the failing task was bundleReleaseResources, the message is the guard's). It has not been built: a CI run needs approval, and a merge to main publishes a bundle to the Play beta track. The bundle that run produces is CPU-only (CI does not build the Vulkan engine).

…uce the app

The guard was attached to every task starting with "bundle" or "assemble", including AGP's intermediate
bundleReleaseResources, which runs before mergeReleaseAssets stages the daemon. On a clean checkout the guard failed a
build that was fine: the first main run of the beta workflow died with "Daemon payload missing". Locally the staged
folder is left from earlier builds, so it never showed.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Code review skipped — your organization has no extra usage available to pay for this review.

If your organization's extra usage balance is empty, an organization admin can add extra usage credits at claude.ai/admin-settings/usage. If its monthly spend limit was reached, an admin can raise it on the same page. If neither applies, contact Anthropic support.

Once extra usage is available, someone with write access to this repository can comment @claude review on this pull request to trigger a review.

@mohitsoni48
mohitsoni48 merged commit d0848ef into main Oct 31, 2026
1 check failed

This branch was successfully deployed

No deployments
play-alpha — 44860a27 Deployed Oct 31, 2026 by mohitsoni48 via publish-alpha #38
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