gitlab-org--gitlab-foss/lib
Rémy Coutable 4a2a127b5c Merge branch 'artifacts-from-ref-and-build-name-api' into 'master'
API for downloading latest successful build

## What does this MR do?

Implement parts of #4255, particularly the API.

## Are there points in the code the reviewer needs to double check?

I still made it that `ref` could be either branch, tag, or even SHA with:

``` ruby
# ref can't be HEAD, can only be branch/tag name or SHA
scope :latest_successful_for, ->(ref) do
  table = quoted_table_name
  # TODO: Use `where(ref: ref).or(sha: ref)` in Rails 5
  where("#{table}.ref = ? OR #{table}.sha = ?", ref, ref).
    success.order(id: :desc)
end
```

Because the reasons I put in:

* https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5142#note_13165543
* https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5142#note_13165921

But if you still think that it's not good to do it this way, I'll drop it and let's think about the other way to satisfy the requirement specified in https://gitlab.com/gitlab-org/gitlab-ce/issues/4255#note_13101233 It could be `status=any` or `sha=DEADBEAF`

## What are the relevant issue numbers?

Part of #4255

## Does this MR meet the acceptance criteria?

- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)
- [x] API support added
- Tests
  - [x] Added for this feature/bug
  - [ ] All builds are passing
- [ ] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

See merge request !5347
2016-07-21 09:01:47 +00:00
..
api Merge branch 'artifacts-from-ref-and-build-name-api' into 'master' 2016-07-21 09:01:47 +00:00
assets
backup Refactor repository paths handling to allow multiple git mount points 2016-06-29 22:30:31 -04:00
banzai Merge branch '4142-show-inline-video' into 'master' 2016-07-21 07:29:38 +00:00
ci Improve code design 2016-07-19 14:58:17 +02:00
container_registry Make rubocop happy 2016-07-15 18:05:39 +02:00
gitlab Merge branch 'email-domain-blacklist' into 'master' 2016-07-20 20:26:00 +00:00
json_web_token Revert "Fix merge conflicts - squashed commit" 2016-06-03 11:10:17 +02:00
omni_auth
rouge/formatters use %(...) and %[...] in favor of %<...> 2016-07-14 22:43:49 -07:00
support Defend against 'Host' header injection 2016-07-12 19:50:20 +02:00
tasks Merge branch 'migration-downtime-tags' into 'master' 2016-07-20 17:03:04 +00:00
banzai.rb Object renderer read_multi rendered entries from Cache 2016-07-12 14:35:29 +02:00
disable_email_interceptor.rb Enable Style/EmptyLines cop, remove redundant ones 2016-07-01 21:56:17 +02:00
event_filter.rb Revert "Fix merge conflicts - squashed commit" 2016-06-03 11:10:17 +02:00
extracts_path.rb
file_size_validator.rb Get rid of more requires, which causes warnings when code is reloaded 2016-04-19 11:48:10 +02:00
file_streamer.rb
gitlab.rb Update Gitlab.com? to support staging 2016-06-27 15:10:36 -04:00
gt_one_coercion.rb
repository_cache.rb
static_model.rb
unfold_form.rb
uploaded_file.rb Enable Style/EmptyLines cop, remove redundant ones 2016-07-01 21:56:17 +02:00
version_check.rb Update version check images to use SVG 2016-01-05 14:35:29 -05:00