diff --git a/.gitignore b/.gitignore index e51c7335..bc1ee12d 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ vendor .yardoc .coverage *.env +.ruby-gemset diff --git a/Gemfile b/Gemfile index 6d870806..f1372ff9 100644 --- a/Gemfile +++ b/Gemfile @@ -1,8 +1,6 @@ source 'https://rubygems.org' gemspec -ruby '2.1.7' if ENV.key?('DYNO') - gem 's3', github: 'travis-ci/s3' gem 'travis-core', github: 'travis-ci/travis-core' diff --git a/lib/travis/api/app.rb b/lib/travis/api/app.rb index 624b3fc7..4c30857c 100644 --- a/lib/travis/api/app.rb +++ b/lib/travis/api/app.rb @@ -102,7 +102,7 @@ module Travis::Api use(Rack::Config) { |env| env['metriks.request.start'] ||= Time.now.utc } 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 ActiveRecord::ConnectionAdapters::ConnectionManagement use ActiveRecord::QueryCache @@ -192,7 +192,7 @@ module Travis::Api end end - if use_monitoring? and not console? + if use_monitoring? && !console? setup_monitoring end end diff --git a/lib/travis/api/app/error_handling.rb b/lib/travis/api/app/error_handling.rb index 68e69556..5eaf12ae 100644 --- a/lib/travis/api/app/error_handling.rb +++ b/lib/travis/api/app/error_handling.rb @@ -9,7 +9,7 @@ class Travis::Api::App Thread.new do loop do begin - Raven.send queue.pop + Raven.send_event queue.pop rescue Exception => e puts e.message, e.backtrace end diff --git a/script/console b/script/console index a6b9aed7..4fcc042b 100755 --- a/script/console +++ b/script/console @@ -16,7 +16,7 @@ end V3 = Travis::API::V3 -Travis::Api::App.setup +Travis::Api::App.new console = Travis::Console.new methods = Travis::Console.instance_methods - Object.instance_methods diff --git a/spec/integration/error_handling_spec.rb b/spec/integration/error_handling_spec.rb index 8e04d1d2..246a0eb7 100644 --- a/spec/integration/error_handling_spec.rb +++ b/spec/integration/error_handling_spec.rb @@ -26,7 +26,7 @@ describe 'Exception' do it 'enques error into a thread' do error = TestError.new('Konstantin broke all the thingz!') 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}" end expect { get "/repos" }.to raise_error(TestError) diff --git a/travis-api.gemspec b/travis-api.gemspec index 472324a1..8d25e9c8 100644 --- a/travis-api.gemspec +++ b/travis-api.gemspec @@ -17,62 +17,82 @@ Gem::Specification.new do |s| "Mathias Meyer", "Josh Kalderimis", "Henrik Hodne", + "Steffen Kötte", + "Ana Rosas", "Tyranja", + "Lennard Wolf", + "Steffen", + "Jonas Chromik", "Dan Buch", "Andre Arko", - "C. Scott Ananian", "Erik Michaels-Ober", - "Brian Ford", + "C. Scott Ananian", + "Christopher Weyand", "Lisa P", + "Brian Ford", + "Renée Hendricksen", "Steve Richert", - "Bryan Goldstein", - "Dan Rice", - "James Dennes", - "María de Antón", "Nick Schonning", - "Patrick Williams", + "Lucas CHERIFI", "Puneeth Chaganti", + "Bryan Goldstein", + "James Dennes", + "Igor Wiedler", + "rainsun", + "Igor", "Thais Camilo and Konstantin Haase", "Tim Carey-Smith", + "Dan Rice", "Zachary Scott", - "rainsun" + "María de Antón", + "Patrick Williams" ] s.email = [ "konstantin.mailinglists@googlemail.com", "drogus@gmail.com", - "me@svenfuchs.com", "carla@travis-ci.com", + "me@svenfuchs.com", "asari.ruby@gmail.com", "meyer@paperplanes.de", "josh.kalderimis@gmail.com", - "me@henrikhodne.com", + "steffen.koette@gmail.com", "carlad@users.noreply.github.com", + "me@henrikhodne.com", "henrik@hodne.io", "carla@travis-ci.org", - "konstantin.haase@gmail.com", + "a.rosas10@gmail.com", "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", "svenfuchs@artweb-design.de", - "cscott@cscott.net", + "andre@arko.net", + "christopher.weyand@student.hpi.de", "sferik@gmail.com", + "cscott@cscott.net", + "steve.richert@gmail.com", "bford@engineyard.com", "henrik@travis-ci.com", "mail@lislis.de", - "steve.richert@gmail.com", - "brysgo@gmail.com", - "dan@meatballhat.com", - "dan@zoombody.com", - "jdennes@gmail.com", - "MariadeAnton@users.noreply.github.com", - "nschonni@gmail.com", + "renee@travis-ci.org", "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", "tim@spork.in", + "igorwwwwwwwwwwwwwwwwwwww@users.noreply.github.com", "e@zzak.io", - "rainsuner@gmail.com" + "dan@zoombody.com", + "dan@meatballhat.com", + "brysgo@gmail.com", + "punchagan@muse-amuse.in" ] s.files = [ @@ -152,6 +172,7 @@ Gem::Specification.new do |s| "lib/travis/api/app/services/schedule_request.rb", "lib/travis/api/app/stack_instrumentation.rb", "lib/travis/api/attack.rb", + "lib/travis/api/enqueue/services/enqueue_build.rb", "lib/travis/api/instruments.rb", "lib/travis/api/serializer.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/build.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/job.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/account.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/job.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/build.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/jobs.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/collection_renderer.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/job.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/restart.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/debug.rb", "lib/travis/api/v3/services/job/find.rb", @@ -332,6 +365,7 @@ Gem::Specification.new do |s| "script/console", "script/repos_stats.rb", "script/server", + "script/start_crons", "script/web_concurrency", "spec/active_record_postgres_variables_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/extensions/belongs_to_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/result_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/restart_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/debug_sepc.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/unstar_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/find_spec.rb", "spec/v3/services/user/sync_spec.rb",