]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/stateofthemap/recipes/default.rb
Workaround jekyll-cache issue
[chef.git] / cookbooks / stateofthemap / recipes / default.rb
index 755500c369cf8e096f1d7db96f66a83f9f1e2e72..c9eb827d5c56c5962a3063158eabdecb61b61993 100644 (file)
@@ -281,8 +281,15 @@ end
   end
 end
 
-gem_package "jekyll"
-gem_package "bundler"
+package %w[
+  ruby
+  ruby-dev
+  zlib1g-dev
+]
+
+gem_package "bundler" do
+  version "1.17.3"
+end
 
 %w[2016 2017 2018 2019 2020].each do |year|
   git "/srv/#{year}.stateofthemap.org" do
@@ -290,7 +297,7 @@ gem_package "bundler"
     repository "git://github.com/openstreetmap/stateofthemap-#{year}.git"
     user "root"
     group "root"
-    notifies :run, "execute[/srv/#{year}.stateofthemap.org]"
+    notifies :run, "execute[/srv/#{year}.stateofthemap.org/Gemfile]"
   end
 
   directory "/srv/#{year}.stateofthemap.org/_site" do
@@ -299,9 +306,28 @@ gem_package "bundler"
     group "nogroup"
   end
 
+  # Workaround https://github.com/jekyll/jekyll/issues/7804
+  # by creating a .jekyll-cache folder
+  directory "/srv/#{year}.stateofthemap.org/.jekyll-cache" do
+    mode 0o755
+    owner "nobody"
+    group "nogroup"
+  end
+
+  execute "/srv/#{year}.stateofthemap.org/Gemfile" do
+    action :nothing
+    command "bundle install --deployment"
+    cwd "/srv/#{year}.stateofthemap.org"
+    user "root"
+    group "root"
+    notifies :run, "execute[/srv/#{year}.stateofthemap.org]"
+    # Workaround until 2019 until merged https://github.com/openstreetmap/stateofthemap-2019/pull/46
+    only_if { ::File.exist?("/srv/#{year}.stateofthemap.org/Gemfile") }
+  end
+
   execute "/srv/#{year}.stateofthemap.org" do
     action :nothing
-    command "jekyll build --trace"
+    command "bundle exec jekyll build --trace --baseurl=https://#{year}.stateofthemap.org"
     cwd "/srv/#{year}.stateofthemap.org"
     user "nobody"
     group "nogroup"