summaryrefslogtreecommitdiff
path: root/app/controllers/projects
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-04-13 13:01:08 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2016-04-13 13:01:08 +0200
commitf5d24e60f842096f670593fb4dd0d29c3f5d4fcc (patch)
tree36b7efa37b742c10be518d872bd2501b48d17af9 /app/controllers/projects
parent406a796f76824e18f4dca2d29c41dcc3d2e4d457 (diff)
downloadgitlab-ce-f5d24e60f842096f670593fb4dd0d29c3f5d4fcc.tar.gz
Pipeline view
Diffstat (limited to 'app/controllers/projects')
-rw-r--r--app/controllers/projects/pipelines_controller.rb56
1 files changed, 21 insertions, 35 deletions
diff --git a/app/controllers/projects/pipelines_controller.rb b/app/controllers/projects/pipelines_controller.rb
index a3e72fbdef1..b2ee5573bfc 100644
--- a/app/controllers/projects/pipelines_controller.rb
+++ b/app/controllers/projects/pipelines_controller.rb
@@ -1,5 +1,5 @@
class Projects::PipelinesController < Projects::ApplicationController
- before_action :ci_commit, except: [:index, :new, :create]
+ before_action :pipeline, except: [:index, :new, :create]
before_action :authorize_read_pipeline!
before_action :authorize_create_pipeline!, only: [:new, :create]
before_action :authorize_update_pipeline!, only: [:retry, :cancel]
@@ -7,26 +7,24 @@ class Projects::PipelinesController < Projects::ApplicationController
def index
@scope = params[:scope]
- @all_commits = project.ci_commits
- @commits = @all_commits.order(id: :desc)
- @commits =
+ @all_pipelines = project.ci_commits
+ @pipelines = @all_pipelines.order(id: :desc)
+ @pipelines =
case @scope
- when 'latest'
- @commits
when 'running'
- @commits.running_or_pending
+ @pipelines.running_or_pending
when 'branches'
- refs = project.repository.branches.map(&:name)
- ids = @all_commits.where(ref: refs).group(:ref).select('max(id)')
- @commits.where(id: ids)
+ @branches = project.repository.branches.map(&:name)
+ @branches_ids = @all_pipelines.where(ref: @branches).group(:ref).select('max(id)')
+ @pipelines.where(id: @branches_ids)
when 'tags'
- refs = project.repository.tags.map(&:name)
- ids = @all_commits.where(ref: refs).group(:ref).select('max(id)')
- @commits.where(id: ids)
+ @tags = project.repository.tags.map(&:name)
+ @tags_ids = @all_pipelines.where(ref: @tags).group(:ref).select('max(id)')
+ @pipelines.where(id: @tags_ids)
else
- @commits
+ @pipelines
end
- @commits = @commits.page(params[:page]).per(30)
+ @pipelines = @pipelines.page(params[:page]).per(30)
end
def new
@@ -47,56 +45,44 @@ class Projects::PipelinesController < Projects::ApplicationController
return
end
- ci_commit = project.ci_commit(commit.id, params[:ref])
- if ci_commit
- @error = 'Pipeline already created'
- render action: 'new'
- return
- end
+ pipeline = project.ci_commits.new(sha: commit.id, ref: params[:ref], before_sha: Gitlab::Git::BLANK_SHA)
# Skip creating ci_commit when no gitlab-ci.yml is found
- commit = project.ci_commits.new(sha: commit.id, ref: params[:ref], before_sha: Gitlab::Git::BLANK_SHA)
- unless commit.config_processor
- @error = commit.yaml_errors || 'Missing .gitlab-ci.yml file'
+ unless pipeline.config_processor
+ @error = pipeline.yaml_errors || 'Missing .gitlab-ci.yml file'
render action: 'new'
return
end
Ci::Commit.transaction do
commit.save!
- commit.create_builds(params[:ref], false, current_user)
+ commit.create_builds(current_user)
end
redirect_to builds_namespace_project_commit_path(project.namespace, project, commit.id)
end
def show
- @commit = @ci_commit.commit
- @builds = @ci_commit.builds
- @statuses = @ci_commit.statuses
-
respond_to do |format|
format.html
end
end
def retry
- ci_commit.builds.latest.failed.select(&:retryable?).each(&:retry)
+ pipeline.builds.latest.failed.select(&:retryable?).each(&:retry)
redirect_back_or_default default: namespace_project_pipelines_path(project.namespace, project)
end
def cancel
- ci_commit.builds.running_or_pending.each(&:cancel)
+ pipeline.builds.running_or_pending.each(&:cancel)
redirect_back_or_default default: namespace_project_pipelines_path(project.namespace, project)
end
- def retry_builds
- end
private
- def ci_commit
- @ci_commit ||= project.ci_commits.find_by!(id: params[:id])
+ def pipeline
+ @pipeline ||= project.ci_commits.find_by!(id: params[:id])
end
end