Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
bd54bf7a
Commit
bd54bf7a
authored
Nov 09, 2015
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce
parents
a353a876
03b12ee5
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
86 additions
and
15 deletions
+86
-15
CHANGELOG
CHANGELOG
+2
-0
app/controllers/admin/application_settings_controller.rb
app/controllers/admin/application_settings_controller.rb
+1
-0
app/models/application_setting.rb
app/models/application_setting.rb
+2
-1
app/models/project.rb
app/models/project.rb
+4
-1
app/services/merge_requests/refresh_service.rb
app/services/merge_requests/refresh_service.rb
+4
-4
app/views/admin/application_settings/_form.html.haml
app/views/admin/application_settings/_form.html.haml
+9
-0
config/initializers/1_settings.rb
config/initializers/1_settings.rb
+5
-4
db/migrate/20151103133339_add_shared_runners_setting.rb
db/migrate/20151103133339_add_shared_runners_setting.rb
+5
-0
db/schema.rb
db/schema.rb
+2
-1
lib/gitlab/current_settings.rb
lib/gitlab/current_settings.rb
+2
-1
spec/factories/ci/projects.rb
spec/factories/ci/projects.rb
+2
-0
spec/models/application_setting_spec.rb
spec/models/application_setting_spec.rb
+25
-3
spec/services/ci/register_build_service_spec.rb
spec/services/ci/register_build_service_spec.rb
+4
-0
spec/services/merge_requests/refresh_service_spec.rb
spec/services/merge_requests/refresh_service_spec.rb
+19
-0
No files found.
CHANGELOG
View file @
bd54bf7a
Please view this file on the master branch, on stable branches it's out of date.
Please view this file on the master branch, on stable branches it's out of date.
v 8.2.0 (unreleased)
v 8.2.0 (unreleased)
- Fix bug where manually merged branches in a MR would end up with an empty diff (Stan Hu)
- Force update refs/merge-requests/X/head upon a push to the source branch of a merge request (Stan Hu)
- Force update refs/merge-requests/X/head upon a push to the source branch of a merge request (Stan Hu)
- Improved performance of finding users by one of their Email addresses
- Improved performance of finding users by one of their Email addresses
- Improved performance of replacing references in comments
- Improved performance of replacing references in comments
...
@@ -14,6 +15,7 @@ v 8.2.0 (unreleased)
...
@@ -14,6 +15,7 @@ v 8.2.0 (unreleased)
- Use git follow flag for commits page when retrieve history for file or directory
- Use git follow flag for commits page when retrieve history for file or directory
- Show merge request CI status on merge requests index page
- Show merge request CI status on merge requests index page
- Extend yml syntax for only and except to support specifying repository path
- Extend yml syntax for only and except to support specifying repository path
- Enable shared runners to all new projects
- Fix: 500 error returned if destroy request without HTTP referer (Kazuki Shimizu)
- Fix: 500 error returned if destroy request without HTTP referer (Kazuki Shimizu)
- Remove deprecated CI events from project settings page
- Remove deprecated CI events from project settings page
- Use issue editor as cross reference comment author when issue is edited with a new mention.
- Use issue editor as cross reference comment author when issue is edited with a new mention.
...
...
app/controllers/admin/application_settings_controller.rb
View file @
bd54bf7a
...
@@ -57,6 +57,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
...
@@ -57,6 +57,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
:version_check_enabled
,
:version_check_enabled
,
:admin_notification_email
,
:admin_notification_email
,
:user_oauth_applications
,
:user_oauth_applications
,
:shared_runners_enabled
,
restricted_visibility_levels:
[],
restricted_visibility_levels:
[],
import_sources:
[]
import_sources:
[]
)
)
...
...
app/models/application_setting.rb
View file @
bd54bf7a
...
@@ -87,7 +87,8 @@ class ApplicationSetting < ActiveRecord::Base
...
@@ -87,7 +87,8 @@ class ApplicationSetting < ActiveRecord::Base
default_project_visibility:
Settings
.
gitlab
.
default_projects_features
[
'visibility_level'
],
default_project_visibility:
Settings
.
gitlab
.
default_projects_features
[
'visibility_level'
],
default_snippet_visibility:
Settings
.
gitlab
.
default_projects_features
[
'visibility_level'
],
default_snippet_visibility:
Settings
.
gitlab
.
default_projects_features
[
'visibility_level'
],
restricted_signup_domains:
Settings
.
gitlab
[
'restricted_signup_domains'
],
restricted_signup_domains:
Settings
.
gitlab
[
'restricted_signup_domains'
],
import_sources:
[
'github'
,
'bitbucket'
,
'gitlab'
,
'gitorious'
,
'google_code'
,
'fogbugz'
,
'git'
]
import_sources:
[
'github'
,
'bitbucket'
,
'gitlab'
,
'gitorious'
,
'google_code'
,
'fogbugz'
,
'git'
],
shared_runners_enabled:
Settings
.
gitlab_ci
[
'shared_runners_enabled'
],
)
)
end
end
...
...
app/models/project.rb
View file @
bd54bf7a
...
@@ -37,6 +37,7 @@ class Project < ActiveRecord::Base
...
@@ -37,6 +37,7 @@ class Project < ActiveRecord::Base
include
Gitlab
::
ConfigHelper
include
Gitlab
::
ConfigHelper
include
Gitlab
::
ShellAdapter
include
Gitlab
::
ShellAdapter
include
Gitlab
::
VisibilityLevel
include
Gitlab
::
VisibilityLevel
include
Gitlab
::
CurrentSettings
include
Referable
include
Referable
include
Sortable
include
Sortable
include
AfterCommitQueue
include
AfterCommitQueue
...
@@ -775,7 +776,9 @@ class Project < ActiveRecord::Base
...
@@ -775,7 +776,9 @@ class Project < ActiveRecord::Base
end
end
def
ensure_gitlab_ci_project
def
ensure_gitlab_ci_project
gitlab_ci_project
||
create_gitlab_ci_project
gitlab_ci_project
||
create_gitlab_ci_project
(
shared_runners_enabled:
current_application_settings
.
shared_runners_enabled
)
end
end
def
enable_ci
def
enable_ci
...
...
app/services/merge_requests/refresh_service.rb
View file @
bd54bf7a
...
@@ -7,17 +7,17 @@ module MergeRequests
...
@@ -7,17 +7,17 @@ module MergeRequests
@branch_name
=
Gitlab
::
Git
.
ref_name
(
ref
)
@branch_name
=
Gitlab
::
Git
.
ref_name
(
ref
)
find_new_commits
find_new_commits
# Be sure to close outstanding MRs before reloading them to avoid generating an
# empty diff during a manual merge
close_merge_requests
reload_merge_requests
reload_merge_requests
# Leave a system note if a branch was deleted/added
# Leave a system note if a branch was deleted/added
if
branch_added?
||
branch_removed?
if
branch_added?
||
branch_removed?
comment_mr_branch_presence_changed
comment_mr_branch_presence_changed
comment_mr_with_commits
else
comment_mr_with_commits
close_merge_requests
end
end
comment_mr_with_commits
execute_mr_web_hooks
execute_mr_web_hooks
true
true
...
...
app/views/admin/application_settings/_form.html.haml
View file @
bd54bf7a
...
@@ -130,5 +130,14 @@
...
@@ -130,5 +130,14 @@
=
f
.
text_area
:help_page_text
,
class:
'form-control'
,
rows:
4
=
f
.
text_area
:help_page_text
,
class:
'form-control'
,
rows:
4
.help-block
Markdown enabled
.help-block
Markdown enabled
%fieldset
%legend
Continuous Integration
.form-group
.col-sm-offset-2.col-sm-10
.checkbox
=
f
.
label
:shared_runners_enabled
do
=
f
.
check_box
:shared_runners_enabled
Enable shared runners for a new projects
.form-actions
.form-actions
=
f
.
submit
'Save'
,
class:
'btn btn-primary'
=
f
.
submit
'Save'
,
class:
'btn btn-primary'
config/initializers/1_settings.rb
View file @
bd54bf7a
...
@@ -181,6 +181,7 @@ Settings.gitlab['import_sources'] ||= ['github','bitbucket','gitlab','gitorious'
...
@@ -181,6 +181,7 @@ Settings.gitlab['import_sources'] ||= ['github','bitbucket','gitlab','gitorious'
# CI
# CI
#
#
Settings
[
'gitlab_ci'
]
||=
Settingslogic
.
new
({})
Settings
[
'gitlab_ci'
]
||=
Settingslogic
.
new
({})
Settings
.
gitlab_ci
[
'shared_runners_enabled'
]
=
true
if
Settings
.
gitlab_ci
[
'shared_runners_enabled'
].
nil?
Settings
.
gitlab_ci
[
'all_broken_builds'
]
=
true
if
Settings
.
gitlab_ci
[
'all_broken_builds'
].
nil?
Settings
.
gitlab_ci
[
'all_broken_builds'
]
=
true
if
Settings
.
gitlab_ci
[
'all_broken_builds'
].
nil?
Settings
.
gitlab_ci
[
'add_pusher'
]
=
false
if
Settings
.
gitlab_ci
[
'add_pusher'
].
nil?
Settings
.
gitlab_ci
[
'add_pusher'
]
=
false
if
Settings
.
gitlab_ci
[
'add_pusher'
].
nil?
Settings
.
gitlab_ci
[
'url'
]
||=
Settings
.
send
(
:build_gitlab_ci_url
)
Settings
.
gitlab_ci
[
'url'
]
||=
Settings
.
send
(
:build_gitlab_ci_url
)
...
...
db/migrate/20151103133339_add_shared_runners_setting.rb
0 → 100644
View file @
bd54bf7a
class
AddSharedRunnersSetting
<
ActiveRecord
::
Migration
def
up
add_column
:application_settings
,
:shared_runners_enabled
,
:boolean
,
default:
true
,
null:
false
end
end
db/schema.rb
View file @
bd54bf7a
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
#
#
# It's strongly recommended that you check this file into your version control system.
# It's strongly recommended that you check this file into your version control system.
ActiveRecord
::
Schema
.
define
(
version:
20151103
001141
)
do
ActiveRecord
::
Schema
.
define
(
version:
20151103
133339
)
do
# These are extensions that must be enabled in order to support this database
# These are extensions that must be enabled in order to support this database
enable_extension
"plpgsql"
enable_extension
"plpgsql"
...
@@ -47,6 +47,7 @@ ActiveRecord::Schema.define(version: 20151103001141) do
...
@@ -47,6 +47,7 @@ ActiveRecord::Schema.define(version: 20151103001141) do
t
.
text
"import_sources"
t
.
text
"import_sources"
t
.
text
"help_page_text"
t
.
text
"help_page_text"
t
.
string
"admin_notification_email"
t
.
string
"admin_notification_email"
t
.
boolean
"shared_runners_enabled"
,
default:
true
,
null:
false
end
end
create_table
"audit_events"
,
force:
true
do
|
t
|
create_table
"audit_events"
,
force:
true
do
|
t
|
...
...
lib/gitlab/current_settings.rb
View file @
bd54bf7a
...
@@ -23,7 +23,8 @@ module Gitlab
...
@@ -23,7 +23,8 @@ module Gitlab
restricted_visibility_levels:
Settings
.
gitlab
[
'restricted_visibility_levels'
],
restricted_visibility_levels:
Settings
.
gitlab
[
'restricted_visibility_levels'
],
max_attachment_size:
Settings
.
gitlab
[
'max_attachment_size'
],
max_attachment_size:
Settings
.
gitlab
[
'max_attachment_size'
],
session_expire_delay:
Settings
.
gitlab
[
'session_expire_delay'
],
session_expire_delay:
Settings
.
gitlab
[
'session_expire_delay'
],
import_sources:
Settings
.
gitlab
[
'import_sources'
]
import_sources:
Settings
.
gitlab
[
'import_sources'
],
shared_runners_enabled:
Settings
.
gitlab_ci
[
'shared_runners_enabled'
],
)
)
end
end
...
...
spec/factories/ci/projects.rb
View file @
bd54bf7a
...
@@ -33,6 +33,8 @@ FactoryGirl.define do
...
@@ -33,6 +33,8 @@ FactoryGirl.define do
gl_project
factory: :empty_project
gl_project
factory: :empty_project
shared_runners_enabled
false
factory
:ci_project
do
factory
:ci_project
do
token
'iPWx6WM4lhHNedGfBpPJNP'
token
'iPWx6WM4lhHNedGfBpPJNP'
end
end
...
...
spec/models/application_setting_spec.rb
View file @
bd54bf7a
...
@@ -28,11 +28,11 @@
...
@@ -28,11 +28,11 @@
require
'spec_helper'
require
'spec_helper'
describe
ApplicationSetting
,
models:
true
do
describe
ApplicationSetting
,
models:
true
do
it
{
expect
(
ApplicationSetting
.
create_from_defaults
).
to
be_valid
}
context
'restricted signup domains'
do
let
(
:setting
)
{
ApplicationSetting
.
create_from_defaults
}
let
(
:setting
)
{
ApplicationSetting
.
create_from_defaults
}
it
{
expect
(
setting
).
to
be_valid
}
context
'restricted signup domains'
do
it
'set single domain'
do
it
'set single domain'
do
setting
.
restricted_signup_domains_raw
=
'example.com'
setting
.
restricted_signup_domains_raw
=
'example.com'
expect
(
setting
.
restricted_signup_domains
).
to
eq
([
'example.com'
])
expect
(
setting
.
restricted_signup_domains
).
to
eq
([
'example.com'
])
...
@@ -53,4 +53,26 @@ describe ApplicationSetting, models: true do
...
@@ -53,4 +53,26 @@ describe ApplicationSetting, models: true do
expect
(
setting
.
restricted_signup_domains
).
to
eq
([
'example.com'
,
'*.example.com'
])
expect
(
setting
.
restricted_signup_domains
).
to
eq
([
'example.com'
,
'*.example.com'
])
end
end
end
end
context
'shared runners'
do
let
(
:gl_project
)
{
create
(
:empty_project
)
}
before
do
allow_any_instance_of
(
Project
).
to
receive
(
:current_application_settings
).
and_return
(
setting
)
end
subject
{
gl_project
.
ensure_gitlab_ci_project
.
shared_runners_enabled
}
context
'enabled'
do
before
{
setting
.
update_attributes
(
shared_runners_enabled:
true
)
}
it
{
is_expected
.
to
be_truthy
}
end
context
'disabled'
do
before
{
setting
.
update_attributes
(
shared_runners_enabled:
false
)
}
it
{
is_expected
.
to
be_falsey
}
end
end
end
end
spec/services/ci/register_build_service_spec.rb
View file @
bd54bf7a
...
@@ -70,6 +70,10 @@ module Ci
...
@@ -70,6 +70,10 @@ module Ci
end
end
context
'disallow shared runners'
do
context
'disallow shared runners'
do
before
do
gl_project
.
gitlab_ci_project
.
update
(
shared_runners_enabled:
false
)
end
context
'shared runner'
do
context
'shared runner'
do
let
(
:build
)
{
service
.
execute
(
shared_runner
)
}
let
(
:build
)
{
service
.
execute
(
shared_runner
)
}
...
...
spec/services/merge_requests/refresh_service_spec.rb
View file @
bd54bf7a
...
@@ -62,6 +62,25 @@ describe MergeRequests::RefreshService do
...
@@ -62,6 +62,25 @@ describe MergeRequests::RefreshService do
it
{
expect
(
@fork_merge_request
.
notes
.
last
.
note
).
to
include
(
'changed to merged'
)
}
it
{
expect
(
@fork_merge_request
.
notes
.
last
.
note
).
to
include
(
'changed to merged'
)
}
end
end
context
'manual merge of source branch'
do
before
do
# Merge master -> feature branch
author
=
{
email:
'test@gitlab.com'
,
time:
Time
.
now
,
name:
"Me"
}
commit_options
=
{
message:
'Test message'
,
committer:
author
,
author:
author
}
master_commit
=
@project
.
repository
.
commit
(
'master'
)
@project
.
repository
.
merge
(
@user
,
master_commit
.
id
,
'feature'
,
commit_options
)
commit
=
@project
.
repository
.
commit
(
'feature'
)
service
.
new
(
@project
,
@user
).
execute
(
@oldrev
,
commit
.
id
,
'refs/heads/feature'
)
reload_mrs
end
it
{
expect
(
@merge_request
.
notes
.
last
.
note
).
to
include
(
'changed to merged'
)
}
it
{
expect
(
@merge_request
).
to
be_merged
}
it
{
expect
(
@merge_request
.
diffs
.
length
).
to
be
>
0
}
it
{
expect
(
@fork_merge_request
).
to
be_merged
}
it
{
expect
(
@fork_merge_request
.
notes
.
last
.
note
).
to
include
(
'changed to merged'
)
}
end
context
'push to fork repo source branch'
do
context
'push to fork repo source branch'
do
let
(
:refresh_service
)
{
service
.
new
(
@fork_project
,
@user
)
}
let
(
:refresh_service
)
{
service
.
new
(
@fork_project
,
@user
)
}
before
do
before
do
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment