Commit Graph

1145 Commits

Author SHA1 Message Date
Ana Rosas
2ab8af6659 Use build:restart event 2016-07-11 14:29:05 -05:00
Ana Rosas
564e95be6b Use params instead of payload and return error message 2016-07-11 14:29:04 -05:00
Renée Hendricksen
f8b8ef54a9 Merge branch 'master' into rlh_cleanup3 2016-07-11 15:13:24 -04:00
Renée Hendricksen
3fb7c35286 copy pasta fix 2016-07-07 01:30:35 -04:00
Renée Hendricksen
f63bb1c6a2 if this logic isn't needed we should take it out later 2016-07-07 01:16:39 -04:00
Renée Hendricksen
f1d7305e9d Merge branch 'master' into jc-v3-env-vars 2016-07-07 00:41:00 -04:00
Renée Hendricksen
b94d9c8637 use the new method 2016-07-07 00:31:35 -04:00
Konstantin Haase
f7f6478fa4 indentation 2016-07-06 10:56:14 +02:00
Renée Hendricksen
21f445ad64 Merge branch 'master' into jc-v3-env-vars 2016-07-05 18:02:29 -04:00
Renée Hendricksen
ac7e610510 Merge branch 'master' into jc-v3-env-vars 2016-07-05 11:44:28 -04:00
Ana Rosas
db193cb541 Use new restart service on request endpoint 2016-07-05 10:25:54 -05:00
Igor Wiedler
50b78a1458 Merge branch 'igor-safelist-github-ips' into igor-update-rack-attack 2016-07-05 13:03:05 +02:00
Igor Wiedler
79c14d697e only create/allocate GitHub CIDR object once 2016-07-05 13:02:00 +02:00
Igor Wiedler
d84d3983b8 update rack-attack to 5.0.0.beta1, use safelist/blocklist terminology 2016-07-05 12:58:58 +02:00
Igor Wiedler
a210cf8661 support nil ip 2016-07-05 12:46:32 +02:00
Igor Wiedler
0d90c21dbd require netaddr instead of cidr 2016-07-05 12:39:44 +02:00
Igor Wiedler
e6d7607916 safelist github IP range in Rack::Attack 2016-07-05 12:30:10 +02:00
Konstantin Haase
c1de919852 Don't run Rack::Attack for Enterprise. (#287)
On enterprise, the reverse proxy is not correctly set up, and therefore the client IP address not passed through properly. For that reason, all requests look like they originate from the same client, and if one gets blocked, everyone gets blocked.
2016-07-05 11:46:33 +02:00
Joe Corcoran
f5bc526f25 Refactor repeated pattern into extracted method
Seems like we'll be checking login status before finding a resource
a lot, so here's a standard way to do it.
2016-07-01 23:55:49 -04:00
Joe Corcoran
1a07e199b5 Better style in error handling 2016-07-01 23:55:49 -04:00
Joe Corcoran
91e9fcebf7 Remove some duplication 2016-07-01 23:55:49 -04:00
Joe Corcoran
871b915515 Add env vars endpoints
This adds API V3 endpoints for querying, creating, modifying and
deleting environment variables.

It has no concept of encryption yet and should be considered a work in
progress.

We should also talk about the slightly off-track approach in the
EnvVars::Create service – maybe there's a way to standardise the
querying and rendering for post requests?

2016-07-01 23:55:49 -04:00
Joe Corcoran
77dcdaa482 Use travis-settings to manage JSON settings field
Since we use repository.settings as a kind of dump for all
sorts of settings, some user-facing and some not, this lets us
leave the db as it is, but pretend to have separate models for each
"kind" of setting.
2016-07-01 23:55:49 -04:00
Igor Wiedler
34fbfc2ccf no longer test against user agent for github rate-limit, since it is not consistently github-camo 2016-07-01 16:27:41 +02:00
Igor Wiedler
0156671fc8 safelist build status image requests coming from github
Currently almost all calls against API are being rate limited, including
build status images. This leads to common requesters such as GitHub's
camo proxy to get rate limited and receive a 429 response code.

This patch attempts to allow those requests.
2016-06-29 10:53:27 +02:00
Igor Wiedler
1f56dcc645 replace WHITELIST terminology with SAFELIST 2016-06-29 10:53:27 +02:00
Ana Rosas
69f0a9d33e Add enable_for_all? condition 2016-06-28 11:35:47 -07:00
Ana Rosas
bfb68bf931 Merge branch 'master' into ar-improve-feature-flag 2016-06-23 17:07:36 -05:00
Ana Rosas
69cc2eef7d Check for repository owner instead of current user to validate feature flag 2016-06-23 15:15:31 -05:00
Piotr Sarnacki
32dd8d9f93 Mark current_build as experimental 2016-06-22 14:19:31 +02:00
Piotr Sarnacki
fcb0e7cde4 Rename current_build_id sort option to current_build 2016-06-22 14:19:31 +02:00
Sven Fuchs
25f74defe5 try fixing updating github oauth scopes 2016-06-21 14:00:04 +02:00
Sven Fuchs
6603990fe4 trigger sync in the auth endpoint, not the user model 2016-06-20 16:59:55 +02:00
Sven Fuchs
da4c7f26e6 fix auth endpoint 2016-06-20 15:04:38 +02:00
Sven Fuchs
84ebb6b24e move tracking github oauth scopes out of the user model, and into Travis::Github::Oauth 2016-06-19 17:33:03 +02:00
Sven Fuchs
04cd5bea24 move travis.rb and travis/config to lib 2016-06-19 15:20:11 +02:00
Sven Fuchs
0f1e697abd delete github/services/sync_user and user_mailer, remove action_mailer 2016-06-19 15:04:39 +02:00
Sven Fuchs
a6658fa4d3 get rid of spec_helper_core 2016-06-19 14:35:54 +02:00
Sven Fuchs
a26c188822 move travis/api/serialize/* from core to lib 2016-06-18 18:01:09 +02:00
Sven Fuchs
51c6c8f58f move api/serializer to api/serialize/serializer 2016-06-18 17:58:36 +02:00
Sven Fuchs
81d8c64e98 rename api/v[0-2] to api/serialize/v[0-2] 2016-06-18 17:52:48 +02:00
Ana Rosas
bf20506e09 Merge branch 'master' into ar-enqueue-cancelling-jobs-builds 2016-06-15 16:15:05 +02:00
Ana Rosas
41c274b222 Remove 'type' from payload 2016-06-15 14:36:59 +02:00
Ana Rosas
5949429f75 Enqueue restart message on job/restart v3 endpoint 2016-06-14 17:39:29 +02:00
Ana Rosas
a2d1322b60 Enqueue cancel message on job/cancel v3 endpoint 2016-06-14 17:24:05 +02:00
Ana Rosas
bb7260bc9e Enqueue restart message on build restart v3 endpoint 2016-06-14 16:46:29 +02:00
Ana Rosas
e097c8889e Enqueue cancel message on build cancel v3 endpoint 2016-06-14 15:15:59 +02:00
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
Ana Rosas
777e42374c Auto-merged master into ar-enqueue-cancelling-jobs-builds on deployment. 2016-06-09 14:53:10 +02:00
Joe Corcoran
5fee54b91b Fewer object allocations :) 2016-06-09 11:29:17 +02:00
Ana Rosas
1c99216e23 Fix merge conflicts 2016-06-08 17:51:48 +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
Ana Rosas
6656b5d0aa Merge branch 'master' into ar-enqueue-restarting-jobs 2016-06-07 11:23:04 +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
Ana Rosas
24865ee322 Merge branch 'master' into ar-enqueue-restarting-jobs 2016-06-06 18:22:06 +02: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
Ana Rosas
3a58979e43 Merge branch 'master' into ar-enqueue-restarting-jobs 2016-06-06 15:21:53 +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
Ana Rosas
8b9df97e3f Merge branch 'master' into ar-enqueue-restarting-jobs 2016-06-06 11:04:44 +02:00
Christopher Weyand
7200744879 Merge branch 'master' into cron-time 2016-06-03 15:32:52 +02:00
Ana Rosas
1c9212ef08 Refacto on restart endpoint for Jobs 2016-06-01 14:57:55 +02:00
Ana Rosas
0038197aab Assign variable before if statement 2016-05-30 18:10:11 +02:00
Renée Hendricksen
574dfab772 fix the error - it's reporting to Sentry - Yay 2016-05-30 18:07:54 +02:00
Renée Hendricksen
8c6477c247 try another spot to throw and error 2016-05-30 18:05:25 +02:00
Renée Hendricksen
ace3e588ea forgot this and it's not tested 2016-05-30 17:57:48 +02:00
Renée Hendricksen
a8b70f51f3 code error we want to see on staging 2016-05-30 17:51:04 +02:00
Renée Hendricksen
d7d8e3bbe3 use the method directly 2016-05-30 17:26:44 +02:00
Renée Hendricksen
2ded8ac2be some changes to get errors to report to Sentry 2016-05-30 17:16:27 +02:00
Ana Rosas
8655fd19ce Refacto endpoint 2016-05-30 17:07:17 +02:00
Ana Rosas
6de524d84c Enqueue restarting jobs for the Hub 2016-05-30 17:07:17 +02:00
Christopher Weyand
504be84f27 cron return created_at 2016-05-30 10:02:21 +02:00
Ana Rosas
68daabafa0 Use only params[:id] 2016-05-27 17:52:55 +02:00
Ana Rosas
00bae7a945 Remove push_matrix method, no need of it 2016-05-27 16:41:07 +02:00
Ana Rosas
29f80ab31b Use CancelModel on Jobs endpoint 2016-05-27 16:15:41 +02:00
Ana Rosas
ef7811ead9 Small refacto 2016-05-27 16:10:16 +02:00
Ana Rosas
c3e0d6d6bb Use CancelModel in Builds endpoint 2016-05-27 15:57:19 +02:00
Ana Rosas
428422d569 Add enqueue service for canceling jobs and builds 2016-05-27 12:44:48 +02:00
Ana Rosas
fa50bd13de Abstract enqueue restart service, to use it with Jobs and Builds 2016-05-26 17:45:31 +02:00
Ana Rosas
1863f5bd0c Enqueue restarting jobs for the Hub 2016-05-26 17:45:31 +02:00
carlad
e62ba7722e Merge branch 'master' into cd-cron-error 2016-05-24 15:46:35 +02:00
carlad
1d3a2ebb67 add error rescue for cron start method 2016-05-24 15:20:40 +02:00
Ana Rosas
3c253bb88c Move stub to before block on restart test 2016-05-23 15:07:33 -05:00
Ana Rosas
2b37d90ffb Add permission methods to enqueue_build 2016-05-23 15:07:33 -05:00
Ana Rosas
9bd145856b Add feature flag to enqueue restart build to Hub 2016-05-23 15:07:33 -05:00
Ana Rosas
9bbfb7ec97 Add an equeue service 2016-05-23 15:07:33 -05:00
Ana Rosas
28884f9931 Enqueue build_restart event in Hub 2016-05-18 15:11:04 -05:00
Igor Wiedler
2a66505aca Set Access-Control-Max-Age header for CORS preflight requests to cache them (refs travis-pro/post-its#169) 2016-05-18 12:26:06 +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
7b5c11fca6 add specs, update error names 2016-04-20 14:31:08 +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
ec217a58f1 correct typo 2016-04-19 18:29:46 +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