From 6b9a9f8a47844f4efa01d6230a040b527e689886 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Sat, 24 Nov 2012 11:52:22 +0100 Subject: [PATCH 1/6] Add last-commit-sha-buildpack --- .buildpacks | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .buildpacks diff --git a/.buildpacks b/.buildpacks new file mode 100644 index 00000000..eb20a5d0 --- /dev/null +++ b/.buildpacks @@ -0,0 +1,2 @@ +https://github.com/heroku/heroku-buildpack-ruby.git +https://github.com/drogus/last-commit-sha-buildpack.git From 76a4becb557578eae0b2f777baf8171872d5ac87 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Sat, 24 Nov 2012 11:58:18 +0100 Subject: [PATCH 2/6] Add prefix for Rack::Cache --- lib/travis/api/app.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/travis/api/app.rb b/lib/travis/api/app.rb index e50c7d94..0ea6ae4f 100644 --- a/lib/travis/api/app.rb +++ b/lib/travis/api/app.rb @@ -61,10 +61,11 @@ module Travis::Api use ActiveRecord::QueryCache if memcache_servers = ENV['MEMCACHE_SERVERS'] + namespace = File.read('.deploy-sha')[0..7] use Rack::Cache, verbose: true, - metastore: "memcached://#{memcache_servers}", - entitystore: "memcached://#{memcache_servers}" + metastore: "memcached://#{memcache_servers}/#{namespace}", + entitystore: "memcached://#{memcache_servers}/#{namespace}" end use Rack::Deflater From b49e11d0905aaa9c484480896effbcec8f331169 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Sun, 25 Nov 2012 23:52:18 +0100 Subject: [PATCH 3/6] Bump travis-core --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index df1b63f4..5de2987f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -42,7 +42,7 @@ GIT GIT remote: git://github.com/travis-ci/travis-core.git - revision: 22d440b17e0032a1174a1b8d2307a590bb6bba77 + revision: ee4cc1f120d951dd4c75d4ec858eb531901e9889 specs: travis-core (0.0.1) actionmailer (~> 3.2.3) From d5fc84a7e52605effa2e690ddf6a58df4bdd5684 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Mon, 26 Nov 2012 00:16:14 +0100 Subject: [PATCH 4/6] Include Services::Helpers in console --- script/console | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/console b/script/console index ec171de5..fd1fd99c 100755 --- a/script/console +++ b/script/console @@ -6,7 +6,7 @@ require 'travis/api/app' require 'pry' class Travis::Console - include Travis::Services + include Travis::Services::Helpers attr_reader :current_user def set_user(user) From 65637c5731467d47a0c8f21a000895fbd051f9f0 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Mon, 26 Nov 2012 02:26:34 +0100 Subject: [PATCH 5/6] Add endpoint for getting repo public key --- lib/travis/api/app/endpoint/repos.rb | 8 ++++++++ spec/integration/v2/repositories_spec.rb | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/lib/travis/api/app/endpoint/repos.rb b/lib/travis/api/app/endpoint/repos.rb index 42f97e4b..09be4d5e 100644 --- a/lib/travis/api/app/endpoint/repos.rb +++ b/lib/travis/api/app/endpoint/repos.rb @@ -20,6 +20,10 @@ class Travis::Api::App respond_with service(:find_repo, params.merge(schema: 'cc')) end + get '/:id/key' do + respond_with service(:find_repo_key, params) + end + get '/:owner_name/:name' do respond_with service(:find_repo, params) end @@ -35,6 +39,10 @@ class Travis::Api::App get '/:owner_name/:name/cc' do respond_with service(:find_repo, params.merge(schema: 'cc')) end + + get '/:owner_name/:name/key' do + respond_with service(:find_repo_key, params) + end end end end diff --git a/spec/integration/v2/repositories_spec.rb b/spec/integration/v2/repositories_spec.rb index a4de23a4..1a0166e6 100644 --- a/spec/integration/v2/repositories_spec.rb +++ b/spec/integration/v2/repositories_spec.rb @@ -6,6 +6,16 @@ describe 'Repos' do let(:repo) { Repository.by_slug('svenfuchs/minimal').first } let(:headers) { { 'HTTP_ACCEPT' => 'application/vnd.travis-ci.2+json' } } + it 'GET /repos/:id/key' do + response = get "/repos/#{repo.id}/key", {}, headers + response.should deliver_json_for(repo.key, version: 'v2') + end + + it 'GET /repos/:slug/key' do + response = get "/repos/#{repo.slug}/key", {}, headers + response.should deliver_json_for(repo.key, version: 'v2') + end + it 'GET /repos' do response = get '/repos', {}, headers response.should deliver_json_for(Repository.timeline, version: 'v2') From ad4370862338e384c55aa73532f0fe304f55f7c8 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Mon, 26 Nov 2012 14:34:20 +0100 Subject: [PATCH 6/6] Bump trravis-core --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5de2987f..5718ef6e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -42,7 +42,7 @@ GIT GIT remote: git://github.com/travis-ci/travis-core.git - revision: ee4cc1f120d951dd4c75d4ec858eb531901e9889 + revision: c82e706c5631137851026e428d1f0e4d8d5d4f95 specs: travis-core (0.0.1) actionmailer (~> 3.2.3)