diff --git a/app/controllers/projects/artifacts_controller.rb b/app/controllers/projects/artifacts_controller.rb index f33cf238d88544bfae8c57eff2912c52f8d5c6ed..051125712258f711eb7383485cf0e12f259d11da 100644 --- a/app/controllers/projects/artifacts_controller.rb +++ b/app/controllers/projects/artifacts_controller.rb @@ -60,7 +60,7 @@ class Projects::ArtifactsController < Projects::ApplicationController def build_from_ref if params[:ref_name] - builds = project.latest_success_builds_for(params[:ref_name]) + builds = project.latest_successful_builds_for(params[:ref_name]) builds.find_by(name: params[:job]) end diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index c048eff0f80fb1c03bb23722f41c447e860701c0..65dfe4f019005fc146899b3971c95c767a466a3c 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -15,7 +15,7 @@ module Ci scope :with_artifacts, ->() { where.not(artifacts_file: nil) } scope :with_expired_artifacts, ->() { with_artifacts.where('artifacts_expire_at < ?', Time.now) } scope :last_month, ->() { where('created_at > ?', Date.today - 1.month) } - scope :latest_success_with_artifacts, ->() do + scope :latest_successful_with_artifacts, ->() do with_artifacts.success.order(id: :desc) end diff --git a/app/models/project.rb b/app/models/project.rb index c1cb1558132f9cbd1fe20eddb2e67bc07d9626ae..60928bf9922cff1adcfb63b2f713bd406f294ed1 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -430,7 +430,7 @@ class Project < ActiveRecord::Base end # ref can't be HEAD, can only be branch/tag name or SHA - def latest_success_pipeline_for(ref = 'master') + def latest_successful_pipeline_for(ref = 'master') table = Ci::Pipeline.quoted_table_name # TODO: Use `where(ref: ref).or(sha: ref)` in Rails 5 pipelines.where("#{table}.ref = ? OR #{table}.sha = ?", ref, ref). @@ -438,10 +438,10 @@ class Project < ActiveRecord::Base end # ref can't be HEAD, can only be branch/tag name or SHA - def latest_success_builds_for(ref = 'master') + def latest_successful_builds_for(ref = 'master') Ci::Build.joins(:pipeline). - merge(latest_success_pipeline_for(ref)). - latest_success_with_artifacts + merge(latest_successful_pipeline_for(ref)). + latest_successful_with_artifacts end def merge_base_commit(first_commit_id, second_commit_id) diff --git a/app/views/projects/branches/_branch.html.haml b/app/views/projects/branches/_branch.html.haml index cbd6ab74128b83bdaf1bbe1f28ce78b96013123e..8f6ddfd9044d1b304e26acb3eef8d9492623a9e6 100644 --- a/app/views/projects/branches/_branch.html.haml +++ b/app/views/projects/branches/_branch.html.haml @@ -27,9 +27,9 @@ = link_to namespace_project_compare_index_path(@project.namespace, @project, from: @repository.root_ref, to: branch.name), class: 'btn btn-default', method: :post, title: "Compare" do Compare - - pipeline = @project.latest_success_pipeline_for(branch.name).first + - pipeline = @project.latest_successful_pipeline_for(branch.name).first - if pipeline - - artifacts = pipeline.builds.latest_success_with_artifacts + - artifacts = pipeline.builds.latest_successful_with_artifacts - if artifacts.any? .dropdown.inline.artifacts-btn %a.btn.dropdown-toggle{ 'data-toggle' => 'dropdown' } diff --git a/app/views/projects/buttons/_download.html.haml b/app/views/projects/buttons/_download.html.haml index f96045e09f06f99a27197a2d23ebbefb692a8475..047931a7fa54d53340561c6f11372479b7140997 100644 --- a/app/views/projects/buttons/_download.html.haml +++ b/app/views/projects/buttons/_download.html.haml @@ -14,9 +14,9 @@ %li = link_to archive_namespace_project_repository_path(@project.namespace, @project, ref: @ref, format: 'tar.gz'), rel: 'nofollow' do %span Download tar.gz - - pipeline = @project.latest_success_pipeline_for(@ref).first + - pipeline = @project.latest_successful_pipeline_for(@ref).first - if pipeline - - artifacts = pipeline.builds.latest_success_with_artifacts + - artifacts = pipeline.builds.latest_successful_with_artifacts - if artifacts.any? %li.dropdown-header Artifacts - unless pipeline.latest? diff --git a/app/views/projects/repositories/_download_archive.html.haml b/app/views/projects/repositories/_download_archive.html.haml index 396fb8598ae554e5c04857468514ac20cc6df2e5..1c03aa0a3322c29ccc57637350cb702f661768bd 100644 --- a/app/views/projects/repositories/_download_archive.html.haml +++ b/app/views/projects/repositories/_download_archive.html.haml @@ -25,9 +25,9 @@ = link_to archive_namespace_project_repository_path(@project.namespace, @project, ref: ref, format: 'tar'), rel: 'nofollow' do %i.fa.fa-download %span Download tar - - pipeline = @project.latest_success_pipeline_for(ref).first + - pipeline = @project.latest_successful_pipeline_for(ref).first - if pipeline - - artifacts = pipeline.builds.latest_success_with_artifacts + - artifacts = pipeline.builds.latest_successful_with_artifacts - if artifacts.any? %li.dropdown-header Artifacts - unless pipeline.latest? diff --git a/app/views/projects/tags/_download.html.haml b/app/views/projects/tags/_download.html.haml index 6a431bcf7b206f059bd3309b09066834bffd309d..8e5e5cb559b0826235bb2e686310c9bcb4a2880f 100644 --- a/app/views/projects/tags/_download.html.haml +++ b/app/views/projects/tags/_download.html.haml @@ -12,9 +12,9 @@ %li = link_to archive_namespace_project_repository_path(project.namespace, project, ref: ref, format: 'tar.gz'), rel: 'nofollow' do %span Download tar.gz - - pipeline = project.latest_success_pipeline_for(ref).first + - pipeline = project.latest_successful_pipeline_for(ref).first - if pipeline - - artifacts = pipeline.builds.latest_success_with_artifacts + - artifacts = pipeline.builds.latest_successful_with_artifacts - if artifacts.any? %li.dropdown-header Artifacts - unless pipeline.latest? diff --git a/lib/api/builds.rb b/lib/api/builds.rb index a27397a82f70a3ed442b453f5b42bb1192e8177c..bb9e8f1ae6ef7a23a6e32d3f4f1b3c9fdfa8f12e 100644 --- a/lib/api/builds.rb +++ b/lib/api/builds.rb @@ -83,7 +83,7 @@ module API # GET /projects/:id/artifacts/:ref_name/download?job=name get ':id/builds/artifacts/:ref_name/download', requirements: { ref_name: /.+/ } do - builds = user_project.latest_success_builds_for(params[:ref_name]) + builds = user_project.latest_successful_builds_for(params[:ref_name]) latest_build = builds.find_by!(name: params[:job]) present_artifact!(latest_build.artifacts_file) diff --git a/spec/models/build_spec.rb b/spec/models/build_spec.rb index d435cd745b37aaecc00fa1f2c76b0e4882f1598b..355cb8fdfff1a034823352fb9d7992f24c8de5a1 100644 --- a/spec/models/build_spec.rb +++ b/spec/models/build_spec.rb @@ -678,7 +678,7 @@ describe Ci::Build, models: true do end end - describe 'Project#latest_success_builds_for' do + describe 'Project#latest_successful_builds_for' do let(:build) do create(:ci_build, :artifacts, :success, pipeline: pipeline) end @@ -689,13 +689,13 @@ describe Ci::Build, models: true do context 'with succeed pipeline' do it 'returns builds from ref' do - builds = project.latest_success_builds_for('fix') + builds = project.latest_successful_builds_for('fix') expect(builds).to contain_exactly(build) end it 'returns empty relation if the build cannot be found' do - builds = project.latest_success_builds_for('TAIL').all + builds = project.latest_successful_builds_for('TAIL').all expect(builds).to be_empty end @@ -707,7 +707,7 @@ describe Ci::Build, models: true do end it 'returns empty relation' do - builds = project.latest_success_builds_for('fix').all + builds = project.latest_successful_builds_for('fix').all expect(builds).to be_empty end