From 19bd91b907359e29acb4eaf5b7f119770767e14c Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 16 Jun 2015 16:40:10 +0200 Subject: [PATCH 1/3] Return rebase-before-merge checkbox Signed-off-by: Dmitriy Zaporozhets --- .../projects/merge_requests/widget/open/_accept.html.haml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/views/projects/merge_requests/widget/open/_accept.html.haml b/app/views/projects/merge_requests/widget/open/_accept.html.haml index 41aa66dd76..4b0bef4315 100644 --- a/app/views/projects/merge_requests/widget/open/_accept.html.haml +++ b/app/views/projects/merge_requests/widget/open/_accept.html.haml @@ -9,6 +9,12 @@ = label_tag :should_remove_source_branch, class: "remove_source_checkbox" do = check_box_tag :should_remove_source_branch Remove source-branch + - if @merge_request.target_project.merge_requests_rebase_enabled && can_rebase?(@merge_request.target_project, @merge_request.target_branch) + .accept-control.remove_branch_holder.checkbox + = label_tag :should_rebase do + = check_box_tag :should_rebase, "1", @project.merge_requests_rebase_default + %strong Rebase before merge + .accept-control = link_to "#", class: "modify-merge-commit-link js-toggle-button", title: "Modify merge commit message" do %i.fa.fa-edit From 54d4e981af00fb450471eaf1167cfb3a0595d3a8 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 16 Jun 2015 16:57:11 +0200 Subject: [PATCH 2/3] Add tests for rebase mr checkbox Signed-off-by: Dmitriy Zaporozhets --- features/project/merge_requests.feature | 8 ++++++++ features/steps/project/merge_requests.rb | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/features/project/merge_requests.feature b/features/project/merge_requests.feature index c9e5eee8f3..b9b5987175 100644 --- a/features/project/merge_requests.feature +++ b/features/project/merge_requests.feature @@ -227,3 +227,11 @@ Feature: Project Merge Requests And I should not see merge button When I click link "Approve" Then I should see approved merge request "Bug NS-04" + + Scenario: I should see rebase checkbox + Given project "Shop" have "Bug NS-05" open merge request with diffs inside + And rebase before merge enabled + And merge request "Bug NS-05" is mergeable + And I visit merge request page "Bug NS-05" + And merge request is mergeable + Then I should see rebase checkbox diff --git a/features/steps/project/merge_requests.rb b/features/steps/project/merge_requests.rb index 6ce8a324c9..a77e5aa62e 100644 --- a/features/steps/project/merge_requests.rb +++ b/features/steps/project/merge_requests.rb @@ -356,6 +356,16 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps end end + step 'rebase before merge enabled' do + project = merge_request.target_project + project.merge_requests_rebase_enabled = true + project.save! + end + + step 'I should see rebase checkbox' do + expect(page).to have_content 'Rebase before merge' + end + def merge_request @merge_request ||= MergeRequest.find_by!(title: "Bug NS-05") end From 20fefc4f3f85ae7618b45084afd24d87d3d77b24 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 16 Jun 2015 16:58:47 +0200 Subject: [PATCH 3/3] Bring valid .gitlab-ci.yml Signed-off-by: Dmitriy Zaporozhets --- .gitlab-ci.yml | 62 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1411a9194b..8fba268be7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,4 @@ +# This file is generated by GitLab CI before_script: - export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin - ruby -v @@ -7,33 +8,44 @@ before_script: - echo $PATH - cp config/database.yml.mysql config/database.yml - cp config/gitlab.yml.example config/gitlab.yml - - ! 'sed "s/username\:.*$/username\: runner/" -i config/database.yml' - - ! 'sed "s/password\:.*$/password\: ''password''/" -i config/database.yml' + - 'sed "s/username\:.*$/username\: runner/" -i config/database.yml' + - 'sed "s/password\:.*$/password\: ''password''/" -i config/database.yml' - sed "s/gitlabhq_test/gitlabhq_test_$((RANDOM/5000))/" -i config/database.yml - touch log/application.log - touch log/test.log - bundle install --without postgres production --jobs $(nproc) - bundle exec rake db:create RAILS_ENV=test -jobs: -- script: - - RAILS_ENV=test SIMPLECOV=true bundle exec rake spec - name: Rspec - runner: ruby,mysql -- script: - - RAILS_ENV=test SIMPLECOV=true bundle exec rake spinach - name: Spinach - runner: ruby,mysql -- script: - - RAILS_ENV=test SIMPLECOV=true bundle exec rake jasmine:ci - name: Jasmine - runner: ruby,mysql -- script: - - bundle exec rubocop - name: Rubocop - runner: ruby,mysql -- script: - - bundle exec rake brakeman - name: Brakeman - runner: ruby,mysql -deploy_jobs: [] -skip_refs: '' +Rspec: + script: + - RAILS_ENV=test SIMPLECOV=true bundle exec rake spec + tags: + - ruby + - mysql + +Spinach: + script: + - RAILS_ENV=test SIMPLECOV=true bundle exec rake spinach + tags: + - ruby + - mysql + +Jasmine: + script: + - RAILS_ENV=test SIMPLECOV=true bundle exec rake jasmine:ci + tags: + - ruby + - mysql + +Rubocop: + script: + - bundle exec rubocop + tags: + - ruby + - mysql + +Brakeman: + script: + - bundle exec rake brakeman + tags: + - ruby + - mysql \ No newline at end of file