[bug] CI Build web assets fails: bun not in despiegk/builder image #6

Open
opened 2026-05-04 02:30:19 +00:00 by mik-tf · 0 comments
Owner

Discovered during Phase 2 cluster D first-tag attempt

v0.1.0-rc3 (commit c782026) on branch development_mik_release_assets. After fixing the checkout auth issue (manual git clone instead of actions/checkout@v4), the build now reaches the Build web assets step which fails with:

Building web component bundles...
/bin/bash: line 1: bun: command not found
make: *** [Makefile:54: bundle-web] Error 127

make bundle-web invokes bun install --silent && bun run scripts/bundle.js. The despiegk/builder Forgejo Actions container image does not include bun.

Why hero_editor specifically

hero_editor is the only Phase 2 service whose CI workflow has a make bundle-web step before the cargo build. None of the other Hero services (hero_proc, hero_router, hero_books, hero_browser, etc.) bundle JS in the build-linux pipeline — they're either pure Rust or use a different bundling approach.

  1. Add bun install to the workflow (simplest, repo-local): insert a step before "Build web assets":
    - name: Install bun
      run: |
        set -e
        curl -fsSL https://bun.sh/install | bash
        echo "$HOME/.bun/bin" >> $GITHUB_PATH
    
  2. Bake bun into the despiegk/builder image (best long-term, cross-cutting):
    one image rebuild benefits hero_editor + any future Hero service that needs bun.
  3. Drop the bun bundling from CI if the bundled JS is checked in / not needed for the binary release.

Blocks

  • hero_editor#5 — cluster D Release-asset validation. The Release-asset workflow change is correct (matches hero_browser PR #17 / hero_books PR #119) and will validate once bundle-web succeeds.

Effort

15 min for option 1 (workflow-local bun install). 1-2h for option 2 (image rebuild + coordination).

Tracker

hero_demo#54.

## Discovered during Phase 2 cluster D first-tag attempt `v0.1.0-rc3` (commit `c782026`) on branch `development_mik_release_assets`. After fixing the checkout auth issue (manual `git clone` instead of `actions/checkout@v4`), the build now reaches the **Build web assets** step which fails with: ``` Building web component bundles... /bin/bash: line 1: bun: command not found make: *** [Makefile:54: bundle-web] Error 127 ``` `make bundle-web` invokes `bun install --silent && bun run scripts/bundle.js`. The despiegk/builder Forgejo Actions container image does not include bun. ## Why hero_editor specifically hero_editor is the only Phase 2 service whose CI workflow has a `make bundle-web` step before the cargo build. None of the other Hero services (hero_proc, hero_router, hero_books, hero_browser, etc.) bundle JS in the build-linux pipeline — they're either pure Rust or use a different bundling approach. ## Recommended fix options 1. **Add bun install to the workflow** (simplest, repo-local): insert a step before "Build web assets": ```yaml - name: Install bun run: | set -e curl -fsSL https://bun.sh/install | bash echo "$HOME/.bun/bin" >> $GITHUB_PATH ``` 2. **Bake bun into the despiegk/builder image** (best long-term, cross-cutting): one image rebuild benefits hero_editor + any future Hero service that needs bun. 3. **Drop the bun bundling from CI** if the bundled JS is checked in / not needed for the binary release. ## Blocks - [hero_editor#5](https://forge.ourworld.tf/lhumina_code/hero_editor/issues/5) — cluster D Release-asset validation. The Release-asset workflow change is correct (matches hero_browser PR #17 / hero_books PR #119) and will validate once `bundle-web` succeeds. ## Effort 15 min for option 1 (workflow-local bun install). 1-2h for option 2 (image rebuild + coordination). ## Tracker [hero_demo#54](https://forge.ourworld.tf/lhumina_code/hero_demo/issues/54).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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
lhumina_code/hero_editor#6
No description provided.