Commit Graph

363 Commits

Author SHA1 Message Date
Renée Hendricksen
9ed43941fd updates for v3 approved by rkh and spruce up the model tests 2016-06-14 15:11:58 +02:00
Ana Rosas
75460b2427 Use Travis::Enqueue::Services::CancelModel on v3 build cancel endpoint 2016-06-13 18:16:16 +02:00
Joe Corcoran
5fee54b91b Fewer object allocations :) 2016-06-09 11:29:17 +02:00
Joe Corcoran
eb0eab5967 Move settings to top level of response
To better accommodate nested responses.
2016-06-08 17:18:24 +02:00
Joe Corcoran
daf534edb7 Don't overwrite settings with defaults
Also changes the way the JSON fields are set to force ActiveRecord
to recognise the changes. Is there a better way?
2016-06-08 17:13:05 +02:00
Joe Corcoran
fba9a87c39 Add settings to API V3
This adds /repo/{repository.id}/settings endpoints for reading
and updating repo settings.

Main points:

1. Sets up Settings as a first class resource instead of as an
   attribute of Repository
2. Adds new meta-programmed method to Query for accessing all
   prefixed params as a hash.
2016-06-08 15:59:52 +02:00
Buck Doyle
b649bb5a0f Remove duplicated sorting configuration (#274)
As noted by @rkh in the API introduction.
2016-06-06 15:08:00 -04:00
Piotr Sarnacki
7317d6b265 Rename current_build sort to current_build_id
This a quick workaround for sorting by current_build. When the field
that we use to sort is the same as one of the associations name API V3
will try to join the association. So in this case it will try to join
:current_build, which fails. This needs a better solution, but I want to
get this working for now.
2016-06-06 16:40:41 +02:00
Piotr Sarnacki
dbe0a75a22 Specify a table when sorting by current_build_id
Otherwise in some circumstances postgres may complain about
disambiguity.
2016-06-06 14:13:46 +02:00
Christopher Weyand
504be84f27 cron return created_at 2016-05-30 10:02:21 +02:00
carlad
1d3a2ebb67 add error rescue for cron start method 2016-05-24 15:20:40 +02:00
Piotr Sarnacki
659dc4d992 Add current_build to repositories payload
This commit adds current_build (which is based on
repositories.current_build_id) to repositories payload. It also adds
ability to sort by current_build.
2016-05-17 14:11:09 +02:00
Piotr Sarnacki
13d9c97501 Revert "Merge pull request #257 from travis-ci/ps-current-build"
This reverts commit 52bebad05c, reversing
changes made to 9d386efa4c.
2016-05-11 17:13:40 +02:00
Piotr Sarnacki
c9b93982c9 Add current_build to repositories payload
current_build is the most recent build that is either completed or
running
2016-05-11 16:55:47 +02:00
Steffen
f186c16669 Merge branch 'master' into cronjobs 2016-04-22 10:33:40 +02:00
carlad
30d73782c8 add error check to build restart and cancel 2016-04-20 11:33:20 +02:00
carlad
379a63bf00 fix spelling of canceled, remove debug output 2016-04-20 11:08:29 +02:00
carlad
506e0f0f7a add check for state on job restart and cancel 2016-04-19 15:26:28 +02:00
Steffen
13aa741e57 Merge branch 'master' into cronjobs 2016-04-18 09:42:36 +02:00
carlad
00aaf32b1e add branch_name for request 2016-04-15 17:22:41 +02:00
Steffen Kötte
7e7f1b212b refactor cron start 2016-04-14 12:53:23 +02:00
Steffen Kötte
0b2585de45 remove cronjobs and disallow creating if branch does no longer exist on GitHub 2016-04-12 11:33:30 +02:00
Ana Rosas
228b594237 Return LIMIT if everything else fails 2016-04-05 17:09:48 +02:00
Ana Rosas
11ceaed333 Test default limit 2016-04-05 16:47:33 +02:00
Ana Rosas
679bbd7901 Use LIMIT constant as a backup limit number 2016-04-05 16:27:45 +02:00
Ana Rosas
407d2abea1 Use Travis.config to retrieve default values for api_builds_rate_limit 2016-04-05 15:29:49 +02:00
Steffen
7922ca8e84 Merge branch 'master' into cronjobs 2016-04-05 15:23:03 +02:00
Ana Rosas
5fc096f68b Update rate limit condition 2016-04-05 12:29:35 +02:00
Ana Rosas
0e8fe08f7c Update limit method and finish test 2016-04-04 16:13:14 +02:00
Steffen Kötte
31f6b5793a refactor cron model and create service 2016-04-04 10:27:06 +02:00
carlad
f51cf1a1d1 update rakefile to allow heroku deployment, update create.rb with api builds rate limit 2016-03-31 16:54:12 +02:00
carlad
d1848ba6f9 make settings visible in repository 2016-03-30 12:30:26 +02:00
Steffen Kötte
9734e7133f fix feature flag for_branch endpoint 2016-03-29 16:51:00 +02:00
Jonas Chromik
ca82725e5e move cron jobs feature flag to permissions 2016-03-22 13:48:51 +01:00
Steffen Kötte
c037ec7aa3 refactor planned time calculation into separate methods 2016-03-22 10:17:23 +01:00
Jonas Chromik
fe76d38230 Merge branch 'master' into cronjobs 2016-03-21 17:08:33 +01:00
carlad
6b145e6f06 update lint service, update spec 2016-03-21 15:39:14 +01:00
Steffen Kötte
ac0012b0a2 Merge commit '8a050a468c77f2ad8c5faa99864c0bd7d61b08a0' into cronjobs
# Conflicts:
#	Gemfile
2016-03-21 10:32:46 +01:00
carlad
f940bffe3f more work on lint endpoint 2016-03-18 16:43:18 +01:00
carlad
da0576d995 Merge branch 'master' into cd-v3 2016-03-14 13:36:46 +01:00
Jonas Chromik
5663410c45 minor changes 2016-03-14 12:50:39 +01:00
Christopher Weyand
6c839aebec feature flag test 2016-03-14 11:03:41 +01:00
carlad
f512975e6a change sort to builds.started_at 2016-03-11 15:05:46 +01:00
carlad
b784eaee82 add sort_by default_branch.last_build builds.id 2016-03-11 14:41:24 +01:00
carlad
3182513798 add sort_by default_branch builds.id 2016-03-11 14:39:28 +01:00
carlad
7a7e957b80 Merge branch 'master' into cd-v3 2016-03-11 11:36:19 +01:00
carlad
c0e01c46d2 Merge branch 'master' into cd-v3 2016-03-08 17:03:40 +01:00
Hiro Asari
ba142b84c7 Put debug options in debug_otions
This depends on https://github.com/travis-ci/travis-migrations/pull/7
2016-03-04 09:04:58 -10:00
Hiro Asari
05e860dd35 Fix #active? invocation
Second arg is repository
2016-03-03 15:21:37 -10:00
Hiro Asari
56ea1d6663 Raise if debug feature is unavailable 2016-03-03 10:12:48 -10:00
Hiro Asari
ca09547452 Access job via attr_reader 2016-03-02 15:00:57 -10:00
Hiro Asari
d1e07f10f0 Accept 'quiet' param for /job/:job_id/debug endpoint 2016-03-02 15:00:57 -10:00
Hiro Asari
82b95440b2 Fix previous_status → previous_state, and set value correctly 2016-02-29 16:15:01 -10:00
Hiro Asari
e6d39c2a52 Restart job via V3 query 2016-02-29 14:24:09 -10:00
Hiro Asari
1ee5421d3f Fix up Debug service 2016-02-29 12:44:17 -10:00
Hiro Asari
2196acb36d Use V3 services for debug route 2016-02-29 12:40:51 -10:00
Lisa P
0448427136 create error in v3.rb 2016-02-25 15:06:45 +01:00
Lisa P
ab1bfe0aeb create MethodNotAllowed error 2016-02-25 14:40:53 +01:00
Steffen Kötte
ca5820e2e3 send user id with cron build payload 2016-02-25 13:49:12 +01:00
Steffen Kötte
77ec852be6 send empty credentials hash 2016-02-11 14:43:33 +01:00
Steffen Kötte
8a6f4066ae refactor methods to calculate next build time 2016-02-01 17:08:11 +01:00
Steffen Kötte
3fa9c09c0c move cron creation to query 2016-02-01 16:50:10 +01:00
Steffen Kötte
0d1dbaadd7 move start all to query 2016-02-01 16:29:23 +01:00
Steffen Kötte
be01b36f05 move find cron for repository to query 2016-02-01 16:20:50 +01:00
Steffen Kötte
6fb0f7b6ce change error type 2016-02-01 16:08:33 +01:00
Steffen Kötte
98a75e5931 move find cron for branch to correct query 2016-02-01 15:23:15 +01:00
Steffen Kötte
d75daab82f move cron start to query 2016-02-01 15:13:34 +01:00
Steffen Kötte
64478d50d1 rename next_build_time to next_enqueuing 2016-01-28 13:46:35 +01:00
Steffen Kötte
24b0af35e9 move start cronjob to services 2016-01-28 13:16:53 +01:00
Steffen Kötte
05d2e4767e adjust cron API path 2016-01-28 13:01:28 +01:00
Konstantin Haase
bf1714c437 v3: add metrics 2016-01-22 14:26:30 +01:00
Steffen Kötte
2d2e7aa528 fix job enqueueing 2016-01-21 13:11:18 +01:00
Steffen Kötte
4704992a18 remove token from perform_async call 2016-01-21 10:40:43 +01:00
carlad
b572a1a50e updates 2016-01-20 11:31:05 +01:00
Steffen Kötte
da33cff0eb add more tests
add first version to start crons
adjust code to return now if cron is overdue
2016-01-18 16:59:10 +01:00
Steffen Kötte
00e15de083 show next build time for cron 2016-01-14 16:12:27 +01:00
carlad
0632c3d08f change run! to run 2016-01-11 15:03:06 +01:00
Steffen Kötte
68ba4b9fce check for correct interval
allow only one cronjob per branch
2016-01-11 14:54:02 +01:00
carlad
2d00e16962 remove query and permission 2016-01-11 14:43:23 +01:00
Steffen Kötte
0920041375 further changes for new structure with only one cron per branch 2016-01-11 14:14:00 +01:00
Steffen Kötte
b45b3fadf7 changes for new db structure 2016-01-07 15:00:08 +01:00
carlad
cf20650d39 fix syntax 2016-01-07 13:06:47 +01:00
carlad
089deeb217 add renderer for lint 2016-01-07 13:02:54 +01:00
carlad
01a86c1dd5 v3 remove put request type 2016-01-07 12:39:54 +01:00
carlad
43480752fa intial work on adding /lint endpoint 2016-01-07 12:34:10 +01:00
Steffen Kötte
e4aec173ee Merge commit 'bddd9952a74d1eddad5d5a255419e07c836b286d' into addCron
Conflicts:
	spec/v3/services/owner/find_spec.rb
	spec/v3/services/repositories/for_current_user_spec.rb
	spec/v3/services/repositories/for_owner_spec.rb
	spec/v3/services/repository/find_spec.rb
2015-12-17 10:11:20 +01:00
Konstantin Haase
dece76ce5b v3: avoid handing repository back to the query 2015-12-01 17:25:09 +01:00
Konstantin Haase
afb6fe286b v3: SQL "NOT IN ()" never matches 2015-11-26 18:17:19 +01:00
carlad
8d3acfe9bb v3 fix existing specs for un/star endpoints and starred filter 2015-11-26 14:00:42 +01:00
carlad
2974dccd3b Merge branch 'master' into cd-v3-parity 2015-11-25 18:18:56 +01:00
carlad
937cc0267a v3 fix filtering by unstarred and n+1 query 2015-11-25 16:30:42 +01:00
carlad
baa1881bf7 v3 change name of starred_repository to star 2015-11-24 18:59:16 +01:00
carlad
d3b13e8d7c v3 fix relation of starred_repository to repostiory model 2015-11-24 18:15:17 +01:00
carlad
af3087446c v3 adjust repo model, query and service for filtering by starred - not working 2015-11-24 18:03:15 +01:00
Piotr Sarnacki
dbea2f3760 Revert "v3: in access control object, avoid firing multiple permissions queries (even though they are cache hits)"
This reverts commit 4a3357a488.
2015-11-24 15:09:58 +01:00
Piotr Sarnacki
81e11da856 Fix error when default branch tries to be autosaved
For some reason when branch from V2 models is being saved, it tries to
also update relationships for V3 models, at least in tests. This fails,
because default_branch association on the V3 Repository model has a
primary key set to [:id, :default_branch]. In theory we use composite
keys plugin, but it seems that it doesn't cover that case and because of
that AR fails with an error "[:id, :default_branch] is not a Symbol"
when it tries to call Model#send with primary_key as an argument.

This commit fixes the issue by overriding the send method on the
Repository model to not fail when AR does
repository.send([:id, :default_branch_name]), when it needs to fetch
a primary key.

This is hacky, but I haven't found a nicer way to get around it.
2015-11-24 15:09:58 +01:00
carlad
02f5035100 comment out 2015-11-24 12:31:50 +01:00
carlad
9793010e28 v3 add filter for d=starred repos - not working yet 2015-11-20 19:02:39 +01:00
carlad
77aabcb78f Merge branch 'master' into cd-v3-parity 2015-11-20 17:24:34 +01:00
carlad
fb483689e9 V3 start implementing filter for starred repos 2015-11-20 17:23:59 +01:00