Skip to content

Raise BuildError when a build or install command fails - #663

Merged
tricknotes merged 1 commit into
mainfrom
raise-build-error
Sep 4, 2026
Merged

Raise BuildError when a build or install command fails#663
tricknotes merged 1 commit into
mainfrom
raise-build-error

Conversation

@tricknotes

@tricknotes tricknotes commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Summary

Runner#run! exited the calling process when its command failed, so a failing ember build or dependency installation terminated any Ruby process running it — callers of EmberCli.compile! and EmberCli.install_dependencies! included. App#compile also runs during request handling in development, where a build failure could take the Rails server down with it.

  • Runner#run! now raises EmberCli::BuildError, naming the command and its exit status, instead of calling exit
  • The rake tasks (ember:compile / ember:install) still exit nonzero, now through the uncaught exception
  • A request-time build failure surfaces the same way BuildMonitor#check! failures already do (both raise BuildError)
  • Update the Runner#run! spec (which documented the SystemExit) and add a CHANGELOG entry

This completes the exit removal started for ember test in #660, which raises EmberCli::TestFailureError since 0.13.1.

Verification

  • spec/lib: 126 examples, with the only local failure being the known Chrome-dependent App#test example (passes on CI); the App#compile example exercises a real ember build through the new path

`Runner#run!` exited the calling process when its command failed,
so a failing `ember build` or dependency installation terminated any Ruby process running it —
`EmberCli.compile!` and `EmberCli.install_dependencies!` callers included,
and `App#compile` runs during request handling in development,
where a build failure could take the Rails server down with it.

Raise `EmberCli::BuildError` instead, naming the command and its exit status.
The rake tasks (`ember:compile` / `ember:install`) still exit nonzero,
now through the uncaught exception,
and a request-time build failure surfaces the same way `BuildMonitor#check!` failures already do.

This completes the exit removal started for `ember test`,
which raises `EmberCli::TestFailureError` since 0.13.1.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@tricknotes
tricknotes merged commit d1bf3a9 into main Sep 4, 2026
12 checks passed
@tricknotes
tricknotes deleted the raise-build-error branch September 4, 2026 10:09
@tricknotes tricknotes mentioned this pull request Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants