Wercker It

I work on the central Continuous Delivery team at Yahoo. So it goes without
saying that I want my personal website to have the same awesomeness.

My first thought was, this is Jekyll, so it should be pretty easy to just build
the static HTML and host it somewhere. So I jumped to my go-to CD tool,
Wercker.

It has been a while since I used them. Apparently, they got rid of their custom
boxes in favor of Docker images direct from the registry. So after a bit of
fiddling, I pulled the ruby image, installed my dependencies, and ran a Jekyll
build.

/pipeline/cache/bundle-install/ruby/2.2.0/gems/execjs-2.6.0/lib/execjs/runtimes.rb:48:in `autodetect': Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/execjs-2.6.0/lib/execjs.rb:5:in `<module:ExecJS>'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/execjs-2.6.0/lib/execjs.rb:4:in `<top (required)>'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/coffee-script-2.4.1/lib/coffee_script.rb:1:in `require'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/coffee-script-2.4.1/lib/coffee_script.rb:1:in `<top (required)>'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/coffee-script-2.4.1/lib/coffee-script.rb:1:in `require'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/coffee-script-2.4.1/lib/coffee-script.rb:1:in `<top (required)>'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/jekyll-coffeescript-1.0.1/lib/jekyll-coffeescript.rb:2:in `require'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/jekyll-coffeescript-1.0.1/lib/jekyll-coffeescript.rb:2:in `<top (required)>'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/jekyll-2.5.3/lib/jekyll/deprecator.rb:46:in `require'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/jekyll-2.5.3/lib/jekyll/deprecator.rb:46:in `block in gracefully_require'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/jekyll-2.5.3/lib/jekyll/deprecator.rb:44:in `each'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/jekyll-2.5.3/lib/jekyll/deprecator.rb:44:in `gracefully_require'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/jekyll-2.5.3/lib/jekyll.rb:166:in `<top (required)>'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/jekyll-2.5.3/bin/jekyll:6:in `require'
from /pipeline/cache/bundle-install/ruby/2.2.0/gems/jekyll-2.5.3/bin/jekyll:6:in `<top (required)>'
from /pipeline/cache/bundle-install/ruby/2.2.0/bin/jekyll:23:in `load'
from /pipeline/cache/bundle-install/ruby/2.2.0/bin/jekyll:23:in `<main>'

Hmm, so it appears I need to pull in some sort of JavaScript runtime. On my Mac
I already have Node.JS installed, so obviously I came up with the bad idea of
installing that in the container…

Ugh. That added at least another minute to my build, but at least it passed.

After some discussions with myself, I determined that I was crazy and should
probably just click the link provided in the error message. First item on that page
gave me a solution that just required another gem, therubyracer,
to be added to my Gemfile.