fix: display job failures instead of throwing a CLIError - #251
Conversation
There was a problem hiding this comment.
Pull request overview
Improves failed shipping output and prevents premature CLI termination while logs load.
Changes:
- Adds platform-specific failure summaries and full-log commands.
- Shows 25-line log tails outside follow mode.
- Waits for failure logs before exiting and adds template tests.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
assets/markdown/ship-failure.md.ejs |
Expands failure guidance. |
src/commands/game/ship.tsx |
Handles failed exits without CLIError. |
src/components/JobLogTail.tsx |
Adds load callbacks and custom titles. |
src/components/Ship.tsx |
Coordinates failure rendering and exit timing. |
src/components/ShipFailure.tsx |
Adds reusable failure UI. |
src/components/index.tsx |
Exports ShipFailure. |
src/utils/ship/failure.ts |
Builds failure template data. |
test/utils/ship/failure.test.ts |
Tests failure data and template output. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| # There was an error shipping your game | ||
|
|
||
| **One or more of the jobs to build your game failed.** | ||
| <% if (failures.length === 1) { -%> |
There was a problem hiding this comment.
good find - i had forgotten!
|
@copilot - updated the other caller, can you review again? |
Co-authored-by: madebydavid <5401249+madebydavid@users.noreply.github.com>
Reviewed. The updated |
|
i will do some testing |
|
@copilot - after some testing i found some issues in the android wizard and have patched them up - could you re-review the code - please do not edit the code. |
Reviewed The approach looks solid:
I ran lint, the full test suite (158 passing), and a production build — all pass cleanly with no new errors or warnings introduced. |
This is to resolve #248
What's changed
shipthis game job logscommandShipFailurecomponentExample -
shipthis game shipExample -
shipthis game ship --platform ios --follow