BigW Consortium Gitlab

_form.html.haml 4.49 KB
Newer Older
1 2 3
%h3.page-title
  CI settings
%hr
4 5 6 7
.bs-callout.help-callout
  %p
    If you want to test your .gitlab-ci.yml, you can use special tool - #{link_to "Lint", ci_lint_path}
  %p
8 9
    Edit your
    #{link_to ".gitlab-ci.yml using web-editor", yaml_web_editor_link(@ci_project)}
10

11
- unless @project.empty_repo?
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
  %p
    Paste build status image for #{@repository.root_ref} with next link
    = link_to '#', class: 'badge-codes-toggle btn btn-default btn-xs' do
      Status Badge
    .badge-codes-block.bs-callout.bs-callout-info.hide
      %p
        Status badge for
        %span.label.label-info #{@ref}
        branch
      %div
        %label Markdown:
        = text_field_tag 'badge_md', markdown_badge_code(@ci_project, @repository.root_ref), readonly: true, class: 'form-control'
        %label Html:
        = text_field_tag 'badge_html', html_badge_code(@ci_project, @repository.root_ref), readonly: true, class: 'form-control'

27 28
= nested_form_for @ci_project, url: namespace_project_ci_settings_path(@project.namespace, @project), html: { class: 'form-horizontal' } do |f|
  - if @ci_project.errors.any?
29
    #error_explanation
30
      %p.lead= "#{pluralize(@ci_project.errors.count, "error")} prohibited this project from being saved:"
31 32
      .alert.alert-error
        %ul
33
          - @ci_project.errors.full_messages.each do |msg|
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
            %li= msg

  %fieldset
    %legend Build settings
    .form-group
      = label_tag nil, class: 'control-label' do
        Get code
      .col-sm-10
        %p Get recent application code using the following command:
        .radio
          = label_tag do
            = f.radio_button :allow_git_fetch, 'false'
            %strong git clone
            .light Slower but makes sure you have a clean dir before every build
        .radio
          = label_tag do
            = f.radio_button :allow_git_fetch, 'true'
            %strong git fetch
            .light Faster
    .form-group
      = f.label :timeout_in_minutes, 'Timeout', class: 'control-label'
      .col-sm-10
        = f.number_field :timeout_in_minutes, class: 'form-control', min: '0'
        .light per build in minutes


  %fieldset
    %legend Build Schedule
    .form-group
      = f.label :always_build, 'Schedule build', class: 'control-label'
      .col-sm-10
        .checkbox
          = f.label :always_build do
            = f.check_box :always_build
            %span.light Repeat last build after X hours if no builds
    .form-group
      = f.label :polling_interval, "Build interval", class: 'control-label'
      .col-sm-10
        = f.number_field :polling_interval, placeholder: '5', min: '0', class: 'form-control'
        .light In hours

  %fieldset
    %legend Project settings
    .form-group
      = f.label :default_ref, "Make tabs for the following branches", class: 'control-label'
      .col-sm-10
        = f.text_field :default_ref, class: 'form-control', placeholder: 'master, stable'
        .light You will be able to filter builds by the following branches
    .form-group
      = f.label :public, 'Public mode', class: 'control-label'
      .col-sm-10
        .checkbox
          = f.label :public do
            = f.check_box :public
            %span.light Anyone can see project and builds
    .form-group
      = f.label :coverage_regex, "Test coverage parsing", class: 'control-label'
      .col-sm-10
        .input-group
          %span.input-group-addon /
          = f.text_field :coverage_regex, class: 'form-control', placeholder: '\(\d+.\d+\%\) covered'
          %span.input-group-addon /
        .light We will use this regular expression to find test coverage output in build trace. Leave blank if you want to disable this feature
        .bs-callout.bs-callout-info
          %p Below are examples of regex for existing tools:
          %ul
            %li
              Simplecov (Ruby) -
              %code \(\d+.\d+\%\) covered
            %li
              pytest-cov (Python) -
105
              %code \d+\%\s*$
106 107 108
            %li
              phpunit --coverage-text --colors=never (PHP) -
              %code ^\s*Lines:\s*\d+.\d+\%
109 110 111 112 113 114 115

  %fieldset
    %legend Advanced settings
    .form-group
      = f.label :token, "CI token", class: 'control-label'
      .col-sm-10
        = f.text_field :token, class: 'form-control', placeholder: 'xEeFCaDAB89'
116

117 118
  .form-actions
    = f.submit 'Save changes', class: 'btn btn-save'
119 120
    - unless @ci_project.new_record?
      = link_to 'Remove Project', ci_project_path(@ci_project), method: :delete, data: { confirm: 'Project will be removed. Are you sure?' }, class: 'btn btn-danger pull-right'