Class: RSpec::Buildkite::AnnotationFormatter
- Inherits:
-
Object
- Object
- RSpec::Buildkite::AnnotationFormatter
- Defined in:
- lib/rspec/buildkite/annotation_formatter.rb
Overview
Create a Buildkite annotation for RSpec failures
Help folks fix their builds as soon as possible when failures crop up by calling out failures in an annotation, even while the build is still running.
Uses a background Thread so we don’t block the build.
Instance Method Summary collapse
- #example_failed(notification) ⇒ Object
-
#initialize(output) ⇒ AnnotationFormatter
constructor
A new instance of AnnotationFormatter.
Constructor Details
#initialize(output) ⇒ AnnotationFormatter
Returns a new instance of AnnotationFormatter.
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/rspec/buildkite/annotation_formatter.rb', line 17 def initialize(output) # We don't actually use this, but keep a reference anyway @output = output # Only setup if we're actually running on Buildkite if ENV["BUILDKITE"] @queue = Queue.new @thread = Thread.new(&method(:thread)) at_exit { @queue.push(:close); @thread.join } end end |
Instance Method Details
#example_failed(notification) ⇒ Object
29 30 31 32 33 |
# File 'lib/rspec/buildkite/annotation_formatter.rb', line 29 def example_failed(notification) return if @queue.nil? || RSpec.world.wants_to_quit @queue.push(notification) end |