-
-
Notifications
You must be signed in to change notification settings - Fork 68.9k
[Bug]: #2593
Description
Summary
What went wrong?
Docker build image error
2.103 shasum: /app/apps/shared/ClawdbotKit/Tools/CanvasA2UI: No such file or directory
2.105 shasum: /app/vendor/a2ui/renderers/lit: No such file or directory
Expected behavior
What did you expect to happen?
Actual behavior
What actually happened?
Environment
- Clawdbot version:
- OS: Linux ubuntu server
- Install method (pnpm/npx/docker/etc): docker
Logs or screenshots
Paste relevant logs or add screenshots (redact secrets).
=> ERROR [12/14] RUN pnpm build 3.3s
[12/14] RUN pnpm build:
1.654
1.654 > [email protected] build /app
1.654 > pnpm canvas:a2ui:bundle && tsc -p tsconfig.json && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/write-build-info.ts
1.654
2.064
2.064 > [email protected] canvas:a2ui:bundle /app
2.064 > bash scripts/bundle-a2ui.sh
2.064
2.103 shasum: /app/apps/shared/ClawdbotKit/Tools/CanvasA2UI: No such file or directory
2.105 shasum: /app/vendor/a2ui/renderers/lit: No such file or directory
2.107 A2UI bundling failed. Re-run with: pnpm canvas:a2ui:bundle
2.107 If this persists, verify pnpm deps and try again.
2.123 ELIFECYCLE Command failed with exit code 123.
2.153 ELIFECYCLE Command failed with exit code 123.
Dockerfile:27
The Docker build for clawdbot was failing because the
.dockerignore
file was excluding directories that are required during the build process, specifically for bundling the A2UI component.
The build script
scripts/bundle-a2ui.sh
requires files from:
apps/shared/ClawdbotKit/Tools/CanvasA2UI
vendor/a2ui/renderers/lit
However, .dockerignore had apps/ and vendor/ listed, which prevented these files from being copied into the Docker image before the pnpm build command was executed.
Changes Made:
I updated the .dockerignore file to be more selective about what it excludes:
Instead of ignoring the entire apps/ directory, it now only ignores the large, non-server subdirectories: apps/android, apps/ios, and apps/macos. This allows apps/shared to be included in the build.
Removed vendor/ from the ignore list, as it currently only contains the necessary a2ui component.
large app trees not needed for CLI build
#apps/
apps/android
apps/ios
apps/macos
assets/
Peekaboo/
Swabble/
Core/
Users/
vendor/ is needed for a2ui
