Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2015-10-05 20:42:50 +0300
committerKamil Trzciński <ayufan@ayufan.eu>2015-10-05 20:42:50 +0300
commit3eef0e18e0d4561c320b4a5d9c17d7ae7aaa3d42 (patch)
tree4cc8a625cb1baebfbc7864ff8eb7746d99610e76 /app/controllers/ci
parent97f7edf37a7c3c17d5038a6cb83d007aa026664c (diff)
parent97a11136d3e7d7ed57c7571d296d7b50617dce16 (diff)
Merge branch 'refactor-build-service' into 'master'
Refactor Ci::Commit and Ci::Build to have all builds for same :sha on single page This makes Ci::Commit to have only :sha and simplifies routing to have only :sha in path. The :ref and :push_data is now parameter of Ci::Build. All commit related data (git author, message and .gitlab-ci.yml) is read directly from repository. All code related for creating builds is moved to CreateBuildsService. Status deduction is rewritten to make if more efficient and easier to integrate with Commit Status API. This is partially working, tests are not yet touched. This slightly changes view of Commit: ![Screen_Shot_2015-10-02_at_15.21.47](https://gitlab.com/gitlab-org/gitlab-ce/uploads/ad3f1ccdcc87659ea437d8db6c5b9f94/Screen_Shot_2015-10-02_at_15.21.47.png) @dzaporozhets What do you think? See merge request !1502
Diffstat (limited to 'app/controllers/ci')
-rw-r--r--app/controllers/ci/builds_controller.rb2
-rw-r--r--app/controllers/ci/commits_controller.rb6
-rw-r--r--app/controllers/ci/projects_controller.rb3
3 files changed, 6 insertions, 5 deletions
diff --git a/app/controllers/ci/builds_controller.rb b/app/controllers/ci/builds_controller.rb
index 80ee8666792..bf87f81439a 100644
--- a/app/controllers/ci/builds_controller.rb
+++ b/app/controllers/ci/builds_controller.rb
@@ -18,7 +18,7 @@ module Ci
if commit
# Redirect to commit page
- redirect_to ci_project_ref_commit_path(@project, @build.commit.ref, @build.commit.sha)
+ redirect_to ci_project_commit_path(@project, @build.commit)
return
end
end
diff --git a/app/controllers/ci/commits_controller.rb b/app/controllers/ci/commits_controller.rb
index 7a0a500fbe6..887e92f84cf 100644
--- a/app/controllers/ci/commits_controller.rb
+++ b/app/controllers/ci/commits_controller.rb
@@ -13,7 +13,7 @@ module Ci
end
def status
- commit = Ci::Project.find(params[:project_id]).commits.find_by_sha_and_ref!(params[:id], params[:ref_id])
+ commit = Ci::Project.find(params[:project_id]).commits.find_by_sha!(params[:id])
render json: commit.to_json(only: [:id, :sha], methods: [:status, :coverage])
rescue ActiveRecord::RecordNotFound
render json: { status: "not_found" }
@@ -22,7 +22,7 @@ module Ci
def cancel
commit.builds.running_or_pending.each(&:cancel)
- redirect_to ci_project_ref_commits_path(project, commit.ref, commit.sha)
+ redirect_to ci_project_commits_path(project, commit.sha)
end
private
@@ -32,7 +32,7 @@ module Ci
end
def commit
- @commit ||= Ci::Project.find(params[:project_id]).commits.find_by_sha_and_ref!(params[:id], params[:ref_id])
+ @commit ||= Ci::Project.find(params[:project_id]).commits.find_by_sha!(params[:id])
end
end
end
diff --git a/app/controllers/ci/projects_controller.rb b/app/controllers/ci/projects_controller.rb
index e8788955eba..20e6c2c2ba7 100644
--- a/app/controllers/ci/projects_controller.rb
+++ b/app/controllers/ci/projects_controller.rb
@@ -19,7 +19,8 @@ module Ci
@ref = params[:ref]
@commits = @project.commits.reverse_order
- @commits = @commits.where(ref: @ref) if @ref
+ # TODO: this is broken
+ # @commits = @commits.where(ref: @ref) if @ref
@commits = @commits.page(params[:page]).per(20)
end