API for downloading latest successful build
What does this MR do?
Implement parts of #4255 (closed), 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:
# 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 (closed)
Does this MR meet the acceptance criteria?
-
CHANGELOG entry added -
Documentation created/updated -
API support added - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the style guides -
Branch has no merge conflicts with master
(if you do - rebase it please) -
Squashed related commits together