mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-11 13:46:11 +10:00
This MR simplifies CI permission model: - read_build: allows to read a list of builds, artifacts and trace - update_build: allows to cancel and retry builds - create_build: allows to create builds from gitlab-ci.yml (not yet implemented) - admin_build: allows to manage triggers, runners and variables - read_commit_status: allows to read a list of commit statuses (including the overall of builds) - create_commit_status: allows to create a new commit status using API Remove all extra methods to manage permission. Made all controllers to use explicitly the new permissions.
69 lines
2.5 KiB
Plaintext
69 lines
2.5 KiB
Plaintext
.gray-content-block.middle-block
|
|
.pull-right
|
|
- if can?(current_user, :update_build, @ci_commit.project)
|
|
- if @ci_commit.builds.latest.failed.any?(&:retryable?)
|
|
= link_to "Retry failed", retry_builds_namespace_project_commit_path(@ci_commit.project.namespace, @ci_commit.project, @ci_commit.sha), class: 'btn btn-grouped btn-primary', method: :post
|
|
|
|
- if @ci_commit.builds.running_or_pending.any?
|
|
= link_to "Cancel running", cancel_builds_namespace_project_commit_path(@ci_commit.project.namespace, @ci_commit.project, @ci_commit.sha), data: { confirm: 'Are you sure?' }, class: 'btn btn-grouped btn-danger', method: :post
|
|
|
|
.oneline
|
|
= pluralize @statuses.count(:id), "build"
|
|
- if defined?(link_to_commit) && link_to_commit
|
|
for commit
|
|
= link_to @ci_commit.short_sha, namespace_project_commit_path(@ci_commit.project.namespace, @ci_commit.project, @ci_commit.sha), class: "monospace"
|
|
- if @ci_commit.duration > 0
|
|
in
|
|
= time_interval_in_words @ci_commit.duration
|
|
|
|
- if @ci_commit.yaml_errors.present?
|
|
.bs-callout.bs-callout-danger
|
|
%h4 Found errors in your .gitlab-ci.yml:
|
|
%ul
|
|
- @ci_commit.yaml_errors.split(",").each do |error|
|
|
%li= error
|
|
You can also test your .gitlab-ci.yml in the #{link_to "Lint", ci_lint_path}
|
|
|
|
- if @ci_commit.project.builds_enabled? && !@ci_commit.ci_yaml_file
|
|
.bs-callout.bs-callout-warning
|
|
\.gitlab-ci.yml not found in this commit
|
|
|
|
.table-holder
|
|
%table.table.builds
|
|
%thead
|
|
%tr
|
|
%th Status
|
|
%th Build ID
|
|
%th Ref
|
|
%th Stage
|
|
%th Name
|
|
%th Duration
|
|
%th Finished at
|
|
- if @ci_commit.project.build_coverage_enabled?
|
|
%th Coverage
|
|
%th
|
|
- @ci_commit.refs.each do |ref|
|
|
= render partial: "projects/commit_statuses/commit_status", collection: @ci_commit.statuses.for_ref(ref).latest.ordered,
|
|
locals: { coverage: @ci_commit.project.build_coverage_enabled?, stage: true, allow_retry: true }
|
|
|
|
- if @ci_commit.retried.any?
|
|
.gray-content-block.second-block
|
|
Retried builds
|
|
|
|
.table-holder
|
|
%table.table.builds
|
|
%thead
|
|
%tr
|
|
%th Status
|
|
%th Build ID
|
|
%th Ref
|
|
%th Stage
|
|
%th Name
|
|
%th Duration
|
|
%th Finished at
|
|
- if @ci_commit.project.build_coverage_enabled?
|
|
%th Coverage
|
|
%th
|
|
= render partial: "projects/commit_statuses/commit_status", collection: @ci_commit.retried,
|
|
locals: { coverage: @ci_commit.project.build_coverage_enabled?, stage: true }
|