Merge branch 'master' into ar-enqueue-restarting-jobs

This commit is contained in:
Ana Rosas 2016-06-06 11:04:44 +02:00
commit 8b9df97e3f
13 changed files with 86 additions and 39 deletions

1
.gitignore vendored
View File

@ -12,3 +12,4 @@ vendor
.yardoc .yardoc
.coverage .coverage
*.env *.env
.ruby-gemset

View File

@ -1,8 +1,6 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gemspec gemspec
ruby '2.1.7' if ENV.key?('DYNO')
gem 's3', github: 'travis-ci/s3' gem 's3', github: 'travis-ci/s3'
gem 'travis-core', github: 'travis-ci/travis-core' gem 'travis-core', github: 'travis-ci/travis-core'

View File

@ -102,7 +102,7 @@ module Travis::Api
use(Rack::Config) { |env| env['metriks.request.start'] ||= Time.now.utc } use(Rack::Config) { |env| env['metriks.request.start'] ||= Time.now.utc }
use Travis::Api::App::Cors # if Travis.env == 'development' ??? use Travis::Api::App::Cors # if Travis.env == 'development' ???
use Raven::Rack if Travis.env == 'production' || Travis.env == 'staging' use Raven::Rack if Travis::Api::App.use_monitoring?
use Rack::SSL if Endpoint.production? use Rack::SSL if Endpoint.production?
use ActiveRecord::ConnectionAdapters::ConnectionManagement use ActiveRecord::ConnectionAdapters::ConnectionManagement
use ActiveRecord::QueryCache use ActiveRecord::QueryCache
@ -192,7 +192,7 @@ module Travis::Api
end end
end end
if use_monitoring? and not console? if use_monitoring? && !console?
setup_monitoring setup_monitoring
end end
end end

View File

@ -9,7 +9,7 @@ class Travis::Api::App
Thread.new do Thread.new do
loop do loop do
begin begin
Raven.send queue.pop Raven.send_event queue.pop
rescue Exception => e rescue Exception => e
puts e.message, e.backtrace puts e.message, e.backtrace
end end

View File

@ -3,7 +3,7 @@ require 'travis/api/v3/renderer/model_renderer'
module Travis::API::V3 module Travis::API::V3
class Renderer::Cron < Renderer::ModelRenderer class Renderer::Cron < Renderer::ModelRenderer
representation(:minimal, :id) representation(:minimal, :id)
representation(:standard, :id, :repository, :branch, :interval, :disable_by_build, :next_enqueuing) representation(:standard, :id, :repository, :branch, :interval, :disable_by_build, :next_enqueuing, :created_at)
def repository def repository
model.branch.repository model.branch.repository

View File

@ -16,7 +16,7 @@ end
V3 = Travis::API::V3 V3 = Travis::API::V3
Travis::Api::App.setup Travis::Api::App.new
console = Travis::Console.new console = Travis::Console.new
methods = Travis::Console.instance_methods - Object.instance_methods methods = Travis::Console.instance_methods - Object.instance_methods

View File

@ -26,7 +26,7 @@ describe 'Exception' do
it 'enques error into a thread' do it 'enques error into a thread' do
error = TestError.new('Konstantin broke all the thingz!') error = TestError.new('Konstantin broke all the thingz!')
Travis::Api::App::Endpoint::Repos.any_instance.stubs(:service).raises(error) Travis::Api::App::Endpoint::Repos.any_instance.stubs(:service).raises(error)
Raven.expects(:send).with do |event| Raven.expects(:send_event).with do |event|
event.message == "#{error.class}: #{error.message}" event.message == "#{error.class}: #{error.message}"
end end
expect { get "/repos" }.to raise_error(TestError) expect { get "/repos" }.to raise_error(TestError)

View File

@ -64,7 +64,8 @@ describe Travis::API::V3::Services::Cron::Create do
"name" => "#{branch.name}" }, "name" => "#{branch.name}" },
"interval" => "monthly", "interval" => "monthly",
"disable_by_build" => false, "disable_by_build" => false,
"next_enqueuing" => current_cron.next_enqueuing.strftime('%Y-%m-%dT%H:%M:%SZ') "next_enqueuing" => current_cron.next_enqueuing.strftime('%Y-%m-%dT%H:%M:%SZ'),
"created_at" => current_cron.created_at.strftime('%Y-%m-%dT%H:%M:%SZ')
}} }}
end end

View File

@ -52,7 +52,8 @@ describe Travis::API::V3::Services::Cron::Delete do
"name" => branch.name }, "name" => branch.name },
"interval" => "daily", "interval" => "daily",
"disable_by_build" => true, "disable_by_build" => true,
"next_enqueuing" => cron.next_enqueuing.strftime('%Y-%m-%dT%H:%M:%SZ') "next_enqueuing" => cron.next_enqueuing.strftime('%Y-%m-%dT%H:%M:%SZ'),
"created_at" => cron.created_at.strftime('%Y-%m-%dT%H:%M:%SZ')
}} }}
end end

View File

@ -47,7 +47,8 @@ describe Travis::API::V3::Services::Cron::Find do
"name" => branch.name }, "name" => branch.name },
"interval" => "daily", "interval" => "daily",
"disable_by_build" => true, "disable_by_build" => true,
"next_enqueuing" => cron.next_enqueuing.strftime('%Y-%m-%dT%H:%M:%SZ') "next_enqueuing" => cron.next_enqueuing.strftime('%Y-%m-%dT%H:%M:%SZ'),
"created_at" => cron.created_at.strftime('%Y-%m-%dT%H:%M:%SZ')
}} }}
end end
@ -106,7 +107,8 @@ describe Travis::API::V3::Services::Cron::Find do
"name" => branch.name }, "name" => branch.name },
"interval" => "daily", "interval" => "daily",
"disable_by_build" => true, "disable_by_build" => true,
"next_enqueuing" => cron.next_enqueuing.strftime('%Y-%m-%dT%H:%M:%SZ') "next_enqueuing" => cron.next_enqueuing.strftime('%Y-%m-%dT%H:%M:%SZ'),
"created_at" => cron.created_at.strftime('%Y-%m-%dT%H:%M:%SZ')
}} }}
end end

View File

@ -48,7 +48,8 @@ describe Travis::API::V3::Services::Cron::ForBranch do
"name" => branch.name }, "name" => branch.name },
"interval" => "daily", "interval" => "daily",
"disable_by_build" => true, "disable_by_build" => true,
"next_enqueuing" => cron.next_enqueuing.strftime('%Y-%m-%dT%H:%M:%SZ') "next_enqueuing" => cron.next_enqueuing.strftime('%Y-%m-%dT%H:%M:%SZ'),
"created_at" => cron.created_at.strftime('%Y-%m-%dT%H:%M:%SZ')
}} }}
end end

View File

@ -68,7 +68,8 @@ describe Travis::API::V3::Services::Crons::ForRepository do
"name" => "#{branch.name}" }, "name" => "#{branch.name}" },
"interval" => "daily", "interval" => "daily",
"disable_by_build" => true, "disable_by_build" => true,
"next_enqueuing" => cron.next_enqueuing.strftime('%Y-%m-%dT%H:%M:%SZ') "next_enqueuing" => cron.next_enqueuing.strftime('%Y-%m-%dT%H:%M:%SZ'),
"created_at" => cron.created_at.strftime('%Y-%m-%dT%H:%M:%SZ')
} }
] ]
}} }}

View File

@ -17,62 +17,82 @@ Gem::Specification.new do |s|
"Mathias Meyer", "Mathias Meyer",
"Josh Kalderimis", "Josh Kalderimis",
"Henrik Hodne", "Henrik Hodne",
"Steffen Kötte",
"Ana Rosas",
"Tyranja", "Tyranja",
"Lennard Wolf",
"Steffen",
"Jonas Chromik",
"Dan Buch", "Dan Buch",
"Andre Arko", "Andre Arko",
"C. Scott Ananian",
"Erik Michaels-Ober", "Erik Michaels-Ober",
"Brian Ford", "C. Scott Ananian",
"Christopher Weyand",
"Lisa P", "Lisa P",
"Brian Ford",
"Renée Hendricksen",
"Steve Richert", "Steve Richert",
"Bryan Goldstein",
"Dan Rice",
"James Dennes",
"María de Antón",
"Nick Schonning", "Nick Schonning",
"Patrick Williams", "Lucas CHERIFI",
"Puneeth Chaganti", "Puneeth Chaganti",
"Bryan Goldstein",
"James Dennes",
"Igor Wiedler",
"rainsun",
"Igor",
"Thais Camilo and Konstantin Haase", "Thais Camilo and Konstantin Haase",
"Tim Carey-Smith", "Tim Carey-Smith",
"Dan Rice",
"Zachary Scott", "Zachary Scott",
"rainsun" "María de Antón",
"Patrick Williams"
] ]
s.email = [ s.email = [
"konstantin.mailinglists@googlemail.com", "konstantin.mailinglists@googlemail.com",
"drogus@gmail.com", "drogus@gmail.com",
"me@svenfuchs.com",
"carla@travis-ci.com", "carla@travis-ci.com",
"me@svenfuchs.com",
"asari.ruby@gmail.com", "asari.ruby@gmail.com",
"meyer@paperplanes.de", "meyer@paperplanes.de",
"josh.kalderimis@gmail.com", "josh.kalderimis@gmail.com",
"me@henrikhodne.com", "steffen.koette@gmail.com",
"carlad@users.noreply.github.com", "carlad@users.noreply.github.com",
"me@henrikhodne.com",
"henrik@hodne.io", "henrik@hodne.io",
"carla@travis-ci.org", "carla@travis-ci.org",
"konstantin.haase@gmail.com", "a.rosas10@gmail.com",
"tyranja@cassiopeia.uberspace.de", "tyranja@cassiopeia.uberspace.de",
"andre@arko.net", "konstantin.haase@gmail.com",
"lennardwolf@live.de",
"steffen.koette@gmail.com",
"Jonas.Chromik@student.hpi.uni-potsdam.de",
"dan@travis-ci.org", "dan@travis-ci.org",
"svenfuchs@artweb-design.de", "svenfuchs@artweb-design.de",
"cscott@cscott.net", "andre@arko.net",
"christopher.weyand@student.hpi.de",
"sferik@gmail.com", "sferik@gmail.com",
"cscott@cscott.net",
"steve.richert@gmail.com",
"bford@engineyard.com", "bford@engineyard.com",
"henrik@travis-ci.com", "henrik@travis-ci.com",
"mail@lislis.de", "mail@lislis.de",
"steve.richert@gmail.com", "renee@travis-ci.org",
"brysgo@gmail.com",
"dan@meatballhat.com",
"dan@zoombody.com",
"jdennes@gmail.com",
"MariadeAnton@users.noreply.github.com",
"nschonni@gmail.com",
"patrick@bittorrent.com", "patrick@bittorrent.com",
"punchagan@muse-amuse.in", "rainsuner@gmail.com",
"nschonni@gmail.com",
"MariadeAnton@users.noreply.github.com",
"lucas@cherifi.info",
"jdennes@gmail.com",
"igor@travis-ci.org",
"dev+narwen+rkh@rkh.im", "dev+narwen+rkh@rkh.im",
"tim@spork.in", "tim@spork.in",
"igorwwwwwwwwwwwwwwwwwwww@users.noreply.github.com",
"e@zzak.io", "e@zzak.io",
"rainsuner@gmail.com" "dan@zoombody.com",
"dan@meatballhat.com",
"brysgo@gmail.com",
"punchagan@muse-amuse.in"
] ]
s.files = [ s.files = [
@ -152,6 +172,7 @@ Gem::Specification.new do |s|
"lib/travis/api/app/services/schedule_request.rb", "lib/travis/api/app/services/schedule_request.rb",
"lib/travis/api/app/stack_instrumentation.rb", "lib/travis/api/app/stack_instrumentation.rb",
"lib/travis/api/attack.rb", "lib/travis/api/attack.rb",
"lib/travis/api/enqueue/services/enqueue_build.rb",
"lib/travis/api/instruments.rb", "lib/travis/api/instruments.rb",
"lib/travis/api/serializer.rb", "lib/travis/api/serializer.rb",
"lib/travis/api/v2.rb", "lib/travis/api/v2.rb",
@ -203,6 +224,7 @@ Gem::Specification.new do |s|
"lib/travis/api/v3/models/broadcast.rb", "lib/travis/api/v3/models/broadcast.rb",
"lib/travis/api/v3/models/build.rb", "lib/travis/api/v3/models/build.rb",
"lib/travis/api/v3/models/commit.rb", "lib/travis/api/v3/models/commit.rb",
"lib/travis/api/v3/models/cron.rb",
"lib/travis/api/v3/models/email.rb", "lib/travis/api/v3/models/email.rb",
"lib/travis/api/v3/models/job.rb", "lib/travis/api/v3/models/job.rb",
"lib/travis/api/v3/models/log.rb", "lib/travis/api/v3/models/log.rb",
@ -223,6 +245,7 @@ Gem::Specification.new do |s|
"lib/travis/api/v3/permissions.rb", "lib/travis/api/v3/permissions.rb",
"lib/travis/api/v3/permissions/account.rb", "lib/travis/api/v3/permissions/account.rb",
"lib/travis/api/v3/permissions/build.rb", "lib/travis/api/v3/permissions/build.rb",
"lib/travis/api/v3/permissions/cron.rb",
"lib/travis/api/v3/permissions/generic.rb", "lib/travis/api/v3/permissions/generic.rb",
"lib/travis/api/v3/permissions/job.rb", "lib/travis/api/v3/permissions/job.rb",
"lib/travis/api/v3/permissions/organization.rb", "lib/travis/api/v3/permissions/organization.rb",
@ -235,6 +258,8 @@ Gem::Specification.new do |s|
"lib/travis/api/v3/queries/broadcasts.rb", "lib/travis/api/v3/queries/broadcasts.rb",
"lib/travis/api/v3/queries/build.rb", "lib/travis/api/v3/queries/build.rb",
"lib/travis/api/v3/queries/builds.rb", "lib/travis/api/v3/queries/builds.rb",
"lib/travis/api/v3/queries/cron.rb",
"lib/travis/api/v3/queries/crons.rb",
"lib/travis/api/v3/queries/job.rb", "lib/travis/api/v3/queries/job.rb",
"lib/travis/api/v3/queries/jobs.rb", "lib/travis/api/v3/queries/jobs.rb",
"lib/travis/api/v3/queries/organization.rb", "lib/travis/api/v3/queries/organization.rb",
@ -259,6 +284,8 @@ Gem::Specification.new do |s|
"lib/travis/api/v3/renderer/builds.rb", "lib/travis/api/v3/renderer/builds.rb",
"lib/travis/api/v3/renderer/collection_renderer.rb", "lib/travis/api/v3/renderer/collection_renderer.rb",
"lib/travis/api/v3/renderer/commit.rb", "lib/travis/api/v3/renderer/commit.rb",
"lib/travis/api/v3/renderer/cron.rb",
"lib/travis/api/v3/renderer/crons.rb",
"lib/travis/api/v3/renderer/error.rb", "lib/travis/api/v3/renderer/error.rb",
"lib/travis/api/v3/renderer/job.rb", "lib/travis/api/v3/renderer/job.rb",
"lib/travis/api/v3/renderer/jobs.rb", "lib/travis/api/v3/renderer/jobs.rb",
@ -288,6 +315,12 @@ Gem::Specification.new do |s|
"lib/travis/api/v3/services/build/find.rb", "lib/travis/api/v3/services/build/find.rb",
"lib/travis/api/v3/services/build/restart.rb", "lib/travis/api/v3/services/build/restart.rb",
"lib/travis/api/v3/services/builds/find.rb", "lib/travis/api/v3/services/builds/find.rb",
"lib/travis/api/v3/services/cron/create.rb",
"lib/travis/api/v3/services/cron/delete.rb",
"lib/travis/api/v3/services/cron/find.rb",
"lib/travis/api/v3/services/cron/for_branch.rb",
"lib/travis/api/v3/services/crons/for_repository.rb",
"lib/travis/api/v3/services/crons/start.rb",
"lib/travis/api/v3/services/job/cancel.rb", "lib/travis/api/v3/services/job/cancel.rb",
"lib/travis/api/v3/services/job/debug.rb", "lib/travis/api/v3/services/job/debug.rb",
"lib/travis/api/v3/services/job/find.rb", "lib/travis/api/v3/services/job/find.rb",
@ -332,6 +365,7 @@ Gem::Specification.new do |s|
"script/console", "script/console",
"script/repos_stats.rb", "script/repos_stats.rb",
"script/server", "script/server",
"script/start_crons",
"script/web_concurrency", "script/web_concurrency",
"spec/active_record_postgres_variables_spec.rb", "spec/active_record_postgres_variables_spec.rb",
"spec/integration/error_handling_spec.rb", "spec/integration/error_handling_spec.rb",
@ -415,6 +449,8 @@ Gem::Specification.new do |s|
"spec/v3/error_handling_spec.rb", "spec/v3/error_handling_spec.rb",
"spec/v3/extensions/belongs_to_spec.rb", "spec/v3/extensions/belongs_to_spec.rb",
"spec/v3/metrics_spec.rb", "spec/v3/metrics_spec.rb",
"spec/v3/models/cron_spec.rb",
"spec/v3/queries/cron_spec.rb",
"spec/v3/renderer/avatar_url_spec.rb", "spec/v3/renderer/avatar_url_spec.rb",
"spec/v3/result_spec.rb", "spec/v3/result_spec.rb",
"spec/v3/service_index_spec.rb", "spec/v3/service_index_spec.rb",
@ -426,6 +462,11 @@ Gem::Specification.new do |s|
"spec/v3/services/build/find_spec.rb", "spec/v3/services/build/find_spec.rb",
"spec/v3/services/build/restart_spec.rb", "spec/v3/services/build/restart_spec.rb",
"spec/v3/services/builds/find_spec.rb", "spec/v3/services/builds/find_spec.rb",
"spec/v3/services/cron/create_spec.rb",
"spec/v3/services/cron/delete_spec.rb",
"spec/v3/services/cron/find_spec.rb",
"spec/v3/services/cron/for_branch_spec.rb",
"spec/v3/services/crons/for_repository_spec.rb",
"spec/v3/services/job/cancel_spec.rb", "spec/v3/services/job/cancel_spec.rb",
"spec/v3/services/job/debug_sepc.rb", "spec/v3/services/job/debug_sepc.rb",
"spec/v3/services/job/find_spec.rb", "spec/v3/services/job/find_spec.rb",
@ -443,6 +484,7 @@ Gem::Specification.new do |s|
"spec/v3/services/repository/star_spec.rb", "spec/v3/services/repository/star_spec.rb",
"spec/v3/services/repository/unstar_spec.rb", "spec/v3/services/repository/unstar_spec.rb",
"spec/v3/services/requests/create_spec.rb", "spec/v3/services/requests/create_spec.rb",
"spec/v3/services/requests/find_spec.rb",
"spec/v3/services/user/current_spec.rb", "spec/v3/services/user/current_spec.rb",
"spec/v3/services/user/find_spec.rb", "spec/v3/services/user/find_spec.rb",
"spec/v3/services/user/sync_spec.rb", "spec/v3/services/user/sync_spec.rb",