Commit graph

23 commits

Author SHA1 Message Date
Tomasz Maczukin
e79ab1115b
Remove legacy Runners support in /api/v4/jobs/request
In Runner v1.3.0 we've started to send User-Agent header with Runner's
version data. Since GitLab v8.12.0 we've started to use this header to check
if used Runner's version supports 204 status code instead of 404 as a
response when there is no jobs to execute by a Runner.

In APIv4 (introduced in GitLab 9.0.0) will require Runner v9.0.0. And
writing more accurately: GitLab Runner v9.0.0 will require GitLab at
least 9.0.0. Because of such breaking change we are able to switch
entirely to 204 response code and there is no need to do check of
User-Agent.

This commit removes useless code and complexity.
2017-03-20 09:40:36 +01:00
Sean McGivern
a5db7f5425 Merge branch '28447-hybrid-repository-storages' into 'master'
Update storage settings to allow extra values per shard

See merge request !9597
2017-03-07 16:55:03 +00:00
Alejandro Rodríguez
0b9d56f960 Update storage settings to allow extra values per shard
This will be necessary when adding gitaly settings. This version
doesn't make any functional changes, but allows us to include this
breaking change in 9.0 and add the needed extra settings in the future
with backwards compatibility
2017-03-03 12:13:30 -03:00
Tomasz Maczukin
1bbf2c2cd1
Fix rubocop offenses 2017-03-02 17:45:46 +01:00
Tomasz Maczukin
2a7f555caf
Add artifacts uploading authorize API 2017-03-02 17:45:46 +01:00
Tomasz Maczukin
7e46db0f5a
Add job patch trace API 2017-03-02 17:45:46 +01:00
Tomasz Maczukin
d5f7e54211
Add job update API 2017-03-02 17:45:46 +01:00
Tomasz Maczukin
bbf5bb7070
Fix rubocop offenses 2017-03-02 17:45:45 +01:00
Tomasz Maczukin
3d26a8d0b6
Add jobs requesting API 2017-03-02 17:45:45 +01:00
Kamil Trzciński
3e8d63293e Merge branch 'feature/runners-v4-api' into 'master'
Add Runner registration/deletion API

See merge request !9246
2017-02-27 11:46:55 +00:00
Robert Schilling
01ea65e0e9 Paginate all endpoints that return an array 2017-02-16 15:32:01 +01:00
Tomasz Maczukin
e25f26e550
Rename API::Ci to API::Runner 2017-02-16 01:30:46 +01:00
Tomasz Maczukin
22c983d7a0
Fix rubocop offenses 2017-02-16 01:20:17 +01:00
Tomasz Maczukin
618ce94164
Add Runner registration/deletion API 2017-02-16 01:16:41 +01:00
Adam Pahlevi
a0586dbc16 replace find_with_namespace with find_by_full_path
add complete changelog for !8949
2017-02-03 07:14:04 +07:00
Grzegorz Bizon
3deaf1342e Merge branch 'master' into auto-pipelines-vue
* master: (367 commits)
  Set “Remove branch” button to default size
  remove unused helper method
  reduce common code even further to satisfy rake flay
  remove button class size alteration from revert and cherry pick links
  factor out common code to satisfy rake flay
  homogenize revert and cherry-pick button styles generated by commits_helper
  apply margin on alert banners only when there is one or more alerts
  Rename MattermostNotificationService back to MattermostService
  Rename SlackNotificationService back to SlackService
  Fix stage and pipeline specs and rubocop offenses
  Added QueryRecorder to test N+1 fix on Milestone#show
  Use gitlab-workhorse 1.2.1
  Make 'unmarked as WIP' message more consistent
  Improve specs for Files API
  Allow unauthenticated access to Repositories Files API GET endpoints
  Add isolated view spec for pipeline stage partial
  Move test for HTML stage endpoint to controller specs
  Fix sizing of avatar circles; add border
  Fix broken test
  Fix broken test Changes after review
  ...

Conflicts:
	app/assets/stylesheets/pages/pipelines.scss
	app/controllers/projects/pipelines_controller.rb
	app/views/projects/pipelines/index.html.haml
	spec/features/projects/pipelines/pipelines_spec.rb
2016-12-21 12:09:06 +01:00
Timothy Andrew
f82d549d26 Accept environment variables from the pre-receive script.
1. Starting version 2.11, git changed the way the pre-receive flow works.

  - Previously, the new potential objects would be added to the main repo. If the
    pre-receive passes, the new objects stay in the repo but are linked up. If
    the pre-receive fails, the new objects stay orphaned in the repo, and are
    cleaned up during the next `git gc`.

  - In 2.11, the new potential objects are added to a temporary "alternate object
    directory", that git creates for this purpose. If the pre-receive passes, the
    objects from the alternate object directory are migrated to the main repo. If
    the pre-receive fails the alternate object directory is simply deleted.

2. In our workflow, the pre-recieve script (in `gitlab-shell) calls the
   `/allowed` endpoint, which calls out directly to git to perform
   various checks. These direct calls to git do _not_ have the necessary
   environment variables set which allow access to the "alternate object
   directory" (explained above). Therefore these calls to git are not able to
   access any of the new potential objects to be added during this push.

3. We fix this by accepting the relevant environment variables
   (GIT_ALTERNATE_OBJECT_DIRECTORIES, GIT_OBJECT_DIRECTORY) on the
   `/allowed` endpoint, and then include these environment variables while
   calling out to git.

4. This commit includes (whitelisted) these environment variables while making
   the "force push" check. A `Gitlab::Git::RevList` module is extracted to
   prevent `ForcePush` from being littered with these checks.
2016-12-16 23:32:25 +05:30
Regis
211ee4b97c Merge branch 'master' into auto-pipelines-vue 2016-12-16 09:50:23 -07:00
Nick Thomas
93a03cd92f Add an environment slug 2016-12-15 13:57:03 +00:00
Grzegorz Bizon
7870614fb9 Extract API pagination code to a separete module 2016-12-07 15:23:07 +01:00
Rémy Coutable
81ba3f9177
API: Introduce #find_group! which also check access permission
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-11-24 16:58:32 +01:00
Nick Thomas
1c994dbc05 Fix POST /internal/allowed to cope with gitlab-shell v4.0.0 project paths
gitlab-shell v3.6.6 would give project paths like so:

* namespace/project

gitlab-shell v4.0.0 can give project paths like so:

* /namespace1/namespace2/project
* /namespace/project
* /path/to/repository/storage/namespace1/namespace2/project
* /path/to/repository/storage/namespace/project
2016-11-16 14:30:56 +00:00
Rémy Coutable
29850364ec New AccessRequests API endpoints for Group & Project
Also, mutualize AccessRequests and Members endpoints for Group &
Project.
New API documentation for the AccessRequests endpoints.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-08-10 19:07:05 +02:00