Desktop release builds on Linux and Windows embed no web UI

Open
#8,259 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
76/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
github-actions, go, shell

Research direction

Read .github/actions/setup-desktop-build, scripts/stage-webui.sh, and the desktop job in cd.yaml to trace where the UI is staged relative to $GITHUB_WORKSPACE; check the Makefile, GoReleaser hooks, and operator-chart e2e callers before choosing a compatible change. Then verify a Linux or Windows build-mode desktop release stages the UI in the release checkout and fails if pkg/webui/dist contains only .gitkeep before building.

Written by the indexing model from the issue text.

Description

🤖 Generated by the Agentic Engineer

Problem

The Linux and Windows desktop releases can ship without the web UI. The app would then show "KSail web UI not built" instead of the interface.

In cd.yaml, the desktop job uses setup-desktop-build as a remote action (devantler-tech/ksail/.github/actions/setup-desktop-build@<sha>). Its last step runs scripts/stage-webui.sh through $GITHUB_ACTION_PATH, and the script cds to its own repository root. For a remote action, that root is the runner's downloaded copy of the action repository, not the release checkout in $GITHUB_WORKSPACE. So the UI is built and staged into the downloaded copy, and go build in the release checkout embeds only the placeholder pkg/webui/dist/.gitkeep.

The macOS desktop leg (GoReleaser's before hook) and make ui stage inside the checkout, so they are not affected.

Found by CodeRabbit as an outside-diff finding on #8182 (it is older than that PR). I confirmed it by reading the action and the script.

Acceptance criteria

  • A build-mode Linux or Windows desktop release embeds the built web UI from the release checkout.
  • stage-webui.sh stages into the checkout that calls it. For example, it accepts a target root, or the action passes $GITHUB_WORKSPACE. Other callers (Makefile, GoReleaser hooks, operator-chart e2e) keep working.
  • A check fails the desktop leg when pkg/webui/dist holds only .gitkeep before the build.
Dominant language
Go
Stars
166
Forks
13
Avg merge
7h 4m
Merged PRs (30d)
388

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from devantler-tech/ksail

All issues in devantler-tech/ksail

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.