Merge pull request #1809 from adam-h/external-pipeline-error
Make build fail when external_pipeline fails
This commit is contained in:
commit
eaac03ab4b
|
@ -43,6 +43,10 @@ Feature: Builder
|
||||||
Given a built app at "empty-app"
|
Given a built app at "empty-app"
|
||||||
Then the exit status should be 1
|
Then the exit status should be 1
|
||||||
|
|
||||||
|
Scenario: Build external_pipeline errors
|
||||||
|
Given a built app at "external-pipeline-error"
|
||||||
|
Then the exit status should be 1
|
||||||
|
|
||||||
Scenario: Build alias (b)
|
Scenario: Build alias (b)
|
||||||
Given a fixture app "large-build-app"
|
Given a fixture app "large-build-app"
|
||||||
When I run `middleman b`
|
When I run `middleman b`
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
activate :external_pipeline,
|
||||||
|
name: :failing,
|
||||||
|
command: "mv does-not-exist tmp/file.js",
|
||||||
|
source: "tmp",
|
||||||
|
latency: 2
|
|
@ -34,6 +34,11 @@ class Middleman::Extensions::ExternalPipeline < ::Middleman::Extension
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
unless $?.success?
|
||||||
|
logger.error '== External: Command failed with non-zero exit status'
|
||||||
|
exit(1)
|
||||||
|
end
|
||||||
|
|
||||||
@watcher.poll_once!
|
@watcher.poll_once!
|
||||||
rescue ::Errno::ENOENT => e
|
rescue ::Errno::ENOENT => e
|
||||||
logger.error "== External: Command failed with message: #{e.message}"
|
logger.error "== External: Command failed with message: #{e.message}"
|
||||||
|
|
Loading…
Reference in a new issue