#24 - Fix the coder-xfce-vnc build after Nimbalyst renamed its AppImage contents #25

Merged
GuillaumeHemmen merged 1 commit from 24-fix-nimbalyst-appimage-layout into master 2026-09-10 08:12:06 +00:00
Member

Why the build is red

Nimbalyst 0.36.5 renamed the files inside its AppImage (@nimbalystelectronnimbalyst, and the same for the .desktop and .png). The image downloads from releases/latest, so it got the new layout, but the install step still checked for the old binary with a bare test -x. A failing test prints nothing, which is why the #22 and #23 logs end with exit status 1 and no error text. Details are in #24.

This affects every branch, master included, so it should land before #22 and #23 are rebased.

Changes

  • Dockerfile
    • The step uses the new names: /opt/nimbalyst/nimbalyst, nimbalyst.desktop, and nimbalyst.png for the menu icon.
    • The layout checks now print which path is missing and list the bundle folder before failing. The next upstream rename will be obvious from the CI log.
    • Refreshed the comment on the wrapper's COPY.
  • scripts/nimbalyst-wrapper.sh: refreshed the APPDIR note. The old AppRun guessed its folder from the first argument and broke when that argument was a flag. The new AppRun finds its folder from its own path, so APPDIR is now just a safeguard. It stays, and the wrapper itself is unchanged.
  • README.md: same APPDIR update in the Nimbalyst paragraph, plus a note that an upstream layout change now fails the build with a clear message.

User data isn't affected: the app's internal name is still @nimbalyst/electron, so ~/.config/@nimbalyst/ keeps working on existing PVCs.

Verification

In ubuntu:24.04 pods on the cluster, using the step pulled from the Dockerfile by script:

Check Result
master step, traced with bash -x fails at test -x /opt/nimbalyst/@nimbalystelectron, reproducing CI
Fixed step pass
Generated nimbalyst.desktop Exec=/usr/local/bin/nimbalyst %U, Icon=/opt/nimbalyst/nimbalyst.png, Categories=Development;
Icon symlink resolves to usr/share/icons/hicolor/512x512/apps/nimbalyst.png inside the bundle
Wrapper → AppRun → binary reaches /opt/nimbalyst/nimbalyst (stops at libglib-2.0.so.0 because the bare pod has no desktop libraries)
Negative control: nimbalyst.desktop removed prints Nimbalyst AppImage layout changed: /opt/nimbalyst/nimbalyst.desktop is missing. Bundle root: plus the listing, exit 1

shellcheck passes on the wrapper. The branch push also starts the full docker-dev Kaniko build.

Not verified: launching Nimbalyst inside the VNC session.

Closes #24

🤖 Generated with Claude Code

https://claude.ai/code/session_01XPajGyTH2js52mY5WSJoNA

## Why the build is red Nimbalyst **0.36.5** renamed the files inside its AppImage (`@nimbalystelectron` → `nimbalyst`, and the same for the `.desktop` and `.png`). The image downloads from `releases/latest`, so it got the new layout, but the install step still checked for the old binary with a bare `test -x`. A failing `test` prints nothing, which is why the #22 and #23 logs end with `exit status 1` and no error text. Details are in #24. This affects every branch, `master` included, so it should land before #22 and #23 are rebased. ## Changes - **`Dockerfile`** - The step uses the new names: `/opt/nimbalyst/nimbalyst`, `nimbalyst.desktop`, and `nimbalyst.png` for the menu icon. - The layout checks now print which path is missing and list the bundle folder before failing. The next upstream rename will be obvious from the CI log. - Refreshed the comment on the wrapper's `COPY`. - **`scripts/nimbalyst-wrapper.sh`**: refreshed the `APPDIR` note. The old `AppRun` guessed its folder from the first argument and broke when that argument was a flag. The new `AppRun` finds its folder from its own path, so `APPDIR` is now just a safeguard. It stays, and the wrapper itself is unchanged. - **`README.md`**: same `APPDIR` update in the Nimbalyst paragraph, plus a note that an upstream layout change now fails the build with a clear message. User data isn't affected: the app's internal name is still `@nimbalyst/electron`, so `~/.config/@nimbalyst/` keeps working on existing PVCs. ## Verification In `ubuntu:24.04` pods on the cluster, using the step pulled from the Dockerfile by script: | Check | Result | |---|---| | `master` step, traced with `bash -x` | fails at `test -x /opt/nimbalyst/@nimbalystelectron`, reproducing CI | | Fixed step | pass | | Generated `nimbalyst.desktop` | `Exec=/usr/local/bin/nimbalyst %U`, `Icon=/opt/nimbalyst/nimbalyst.png`, `Categories=Development;` | | Icon symlink | resolves to `usr/share/icons/hicolor/512x512/apps/nimbalyst.png` inside the bundle | | Wrapper → `AppRun` → binary | reaches `/opt/nimbalyst/nimbalyst` (stops at `libglib-2.0.so.0` because the bare pod has no desktop libraries) | | Negative control: `nimbalyst.desktop` removed | prints `Nimbalyst AppImage layout changed: /opt/nimbalyst/nimbalyst.desktop is missing. Bundle root:` plus the listing, exit 1 | `shellcheck` passes on the wrapper. The branch push also starts the full `docker-dev` Kaniko build. **Not verified:** launching Nimbalyst inside the VNC session. Closes #24 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01XPajGyTH2js52mY5WSJoNA
#24 - Fix the coder-xfce-vnc build after Nimbalyst renamed its AppImage contents
All checks were successful
/ docker-dev-ci (push) Successful in 3m50s
/ docker-dev-coder (push) Successful in 4m29s
/ docker-dev-coder-xfce-vnc (push) Successful in 10m37s
cf075637b1
Nimbalyst 0.36 renamed the bundled Electron binary, desktop entry and icon
from @nimbalystelectron* to nimbalyst*. The install step asserted the old
paths with bare `test`, which fails without output, so every
coder-xfce-vnc build since the release has died with no error text.

Point the step at the new names, and make the layout assertions report the
missing path and dump the bundle root so the next upstream rename is
diagnosable from the CI log. Refresh the wrapper and README notes on
APPDIR: current AppRuns locate the AppDir from their own path, so the
explicit APPDIR is now belt-and-braces rather than a workaround.

Closes #24

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XPajGyTH2js52mY5WSJoNA
GuillaumeHemmen deleted branch 24-fix-nimbalyst-appimage-layout 2026-09-10 08:12:06 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
actions/sindri!25
No description provided.