From 398bbe0304bf62eb04b942f86ec9652cdfd088bb Mon Sep 17 00:00:00 2001 From: Nathan Weizenbaum Date: Wed, 29 Apr 2009 22:27:25 -0400 Subject: [PATCH] Add a Rake task and Sinatra script for a GitHub post-receive hook. --- Rakefile | 4 ++++ extra/edge_gem_watch.rb | 13 +++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 extra/edge_gem_watch.rb diff --git a/Rakefile b/Rakefile index 56d26945..e04185ad 100644 --- a/Rakefile +++ b/Rakefile @@ -116,6 +116,10 @@ task :release_edge do sh %{rubyforge add_release haml haml-edge "Bleeding Edge (v#{edge_version})" pkg/haml-edge-#{edge_version}.gem} end +task :watch_for_edge_update do + sh %{ruby edge_gem_watch.rb} +end + # ----- Documentation ----- begin diff --git a/extra/edge_gem_watch.rb b/extra/edge_gem_watch.rb new file mode 100644 index 00000000..c0340d51 --- /dev/null +++ b/extra/edge_gem_watch.rb @@ -0,0 +1,13 @@ +require 'rubygems' +require 'sinatra' +require 'json' +set :port, 3123 +set :environment, :production +Dir.chdir(File.dirname(__FILE__) + "/..") + +post "/" do + payload = JSON.parse(params["payload"]) + + break unless payload["ref"] == "refs/heads/master" + system("rake release_edge &> edge-gem-output.log") +end