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
787c060f
Commit
787c060f
authored
Jan 31, 2019
by
Rémy Coutable
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[EE] Reduce the diff with EE in Ci::CreatePipelineService
Signed-off-by:
Rémy Coutable
<
remy@rymai.me
>
parent
6706a00c
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
125 additions
and
28 deletions
+125
-28
app/services/ci/create_pipeline_service.rb
app/services/ci/create_pipeline_service.rb
+11
-9
ee/app/services/ee/ci/create_pipeline_service.rb
ee/app/services/ee/ci/create_pipeline_service.rb
+17
-0
ee/lib/ee/gitlab/ci/pipeline/chain/limit/activity.rb
ee/lib/ee/gitlab/ci/pipeline/chain/limit/activity.rb
+11
-5
ee/lib/ee/gitlab/ci/pipeline/chain/limit/size.rb
ee/lib/ee/gitlab/ci/pipeline/chain/limit/size.rb
+12
-6
ee/lib/ee/gitlab/ci/pipeline/chain/remove_unwanted_chat_jobs.rb
.../ee/gitlab/ci/pipeline/chain/remove_unwanted_chat_jobs.rb
+4
-5
ee/spec/lib/gitlab/ci/pipeline/chain/limit/activity_spec.rb
ee/spec/lib/gitlab/ci/pipeline/chain/limit/activity_spec.rb
+1
-1
ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb
ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb
+1
-1
ee/spec/lib/gitlab/ci/pipeline/chain/remove_unwanted_chat_jobs_spec.rb
...itlab/ci/pipeline/chain/remove_unwanted_chat_jobs_spec.rb
+1
-1
lib/gitlab/ci/pipeline/chain/limit/activity.rb
lib/gitlab/ci/pipeline/chain/limit/activity.rb
+23
-0
lib/gitlab/ci/pipeline/chain/limit/size.rb
lib/gitlab/ci/pipeline/chain/limit/size.rb
+23
-0
lib/gitlab/ci/pipeline/chain/remove_unwanted_chat_jobs.rb
lib/gitlab/ci/pipeline/chain/remove_unwanted_chat_jobs.rb
+21
-0
No files found.
app/services/ci/create_pipeline_service.rb
View file @
787c060f
...
...
@@ -7,17 +7,17 @@ module Ci
CreateError
=
Class
.
new
(
StandardError
)
SEQUENCE
=
[
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Build
,
EE
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
RemoveUnwantedChatJobs
,
Gitlab
::
Ci
::
Pipeline
::
Chain
::
RemoveUnwantedChatJobs
,
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Validate
::
Abilities
,
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Validate
::
Repository
,
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Validate
::
Config
,
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Skip
,
EE
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Limit
::
Size
,
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Limit
::
Size
,
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Populate
,
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Create
,
EE
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Limit
::
Activity
].
freeze
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Limit
::
Activity
].
freeze
def
execute
(
source
,
ignore_skip_ci:
false
,
save_on_errors:
true
,
trigger_request:
nil
,
schedule:
nil
,
merge_request:
nil
,
mirror_update:
false
,
&
block
)
def
execute
(
source
,
ignore_skip_ci:
false
,
save_on_errors:
true
,
trigger_request:
nil
,
schedule:
nil
,
merge_request:
nil
,
**
options
,
&
block
)
@pipeline
=
Ci
::
Pipeline
.
new
command
=
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Command
.
new
(
...
...
@@ -36,11 +36,7 @@ module Ci
project:
project
,
current_user:
current_user
,
push_options:
params
[
:push_options
],
# EE specific
allow_mirror_update:
mirror_update
,
chat_data:
params
[
:chat_data
]
)
**
extra_options
(
**
options
))
sequence
=
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Sequence
.
new
(
pipeline
,
command
,
SEQUENCE
)
...
...
@@ -111,5 +107,11 @@ module Ci
pipeline
.
project
.
source_of_merge_requests
.
opened
.
where
(
source_branch:
pipeline
.
ref
)
end
# rubocop: enable CodeReuse/ActiveRecord
def
extra_options
{}
# overriden in EE
end
end
end
Ci
::
CreatePipelineService
.
prepend
(
EE
::
Ci
::
CreatePipelineService
)
ee/app/services/ee/ci/create_pipeline_service.rb
0 → 100644
View file @
787c060f
# frozen_string_literal: true
module
EE
module
Ci
module
CreatePipelineService
extend
::
Gitlab
::
Utils
::
Override
override
:extra_options
def
extra_options
(
mirror_update:
false
)
{
allow_mirror_update:
mirror_update
,
chat_data:
params
[
:chat_data
]
}
end
end
end
end
ee/lib/ee/gitlab/ci/pipeline/chain/limit/activity.rb
View file @
787c060f
...
...
@@ -6,10 +6,14 @@ module EE
module
Pipeline
module
Chain
module
Limit
class
Activity
<
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Base
module
Activity
extend
::
Gitlab
::
Utils
::
Override
include
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Helpers
include
::
Gitlab
::
OptimisticLocking
attr_reader
:limit
private
:limit
def
initialize
(
*
)
super
...
...
@@ -17,16 +21,18 @@ module EE
.
new
(
project
.
namespace
,
pipeline
.
project
)
end
override
:perform!
def
perform!
return
unless
@
limit
.
exceeded?
return
unless
limit
.
exceeded?
retry_optimistic_lock
(
@
pipeline
)
do
@
pipeline
.
drop!
(
:activity_limit_exceeded
)
retry_optimistic_lock
(
pipeline
)
do
pipeline
.
drop!
(
:activity_limit_exceeded
)
end
end
override
:break?
def
break?
@
limit
.
exceeded?
limit
.
exceeded?
end
end
end
...
...
ee/lib/ee/gitlab/ci/pipeline/chain/limit/size.rb
View file @
787c060f
...
...
@@ -6,9 +6,13 @@ module EE
module
Pipeline
module
Chain
module
Limit
class
Size
<
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Base
module
Size
extend
::
Gitlab
::
Utils
::
Override
include
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Helpers
attr_reader
:limit
private
:limit
def
initialize
(
*
)
super
...
...
@@ -16,18 +20,20 @@ module EE
.
new
(
project
.
namespace
,
pipeline
)
end
override
:perform!
def
perform!
return
unless
@
limit
.
exceeded?
return
unless
limit
.
exceeded?
if
@
command
.
save_incompleted
@
pipeline
.
drop!
(
:size_limit_exceeded
)
if
command
.
save_incompleted
pipeline
.
drop!
(
:size_limit_exceeded
)
end
error
(
@
limit
.
message
)
error
(
limit
.
message
)
end
override
:break?
def
break?
@
limit
.
exceeded?
limit
.
exceeded?
end
end
end
...
...
ee/lib/ee/gitlab/ci/pipeline/chain/remove_unwanted_chat_jobs.rb
View file @
787c060f
...
...
@@ -5,7 +5,10 @@ module EE
module
Ci
module
Pipeline
module
Chain
class
RemoveUnwantedChatJobs
<
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Base
module
RemoveUnwantedChatJobs
extend
::
Gitlab
::
Utils
::
Override
override
:perform!
def
perform!
return
unless
pipeline
.
config_processor
&&
pipeline
.
chat?
...
...
@@ -15,10 +18,6 @@ module EE
name
.
to_s
==
command
.
chat_data
[
:command
].
to_s
end
end
def
break?
false
end
end
end
end
...
...
ee/spec/lib/
ee/
gitlab/ci/pipeline/chain/limit/activity_spec.rb
→
ee/spec/lib/gitlab/ci/pipeline/chain/limit/activity_spec.rb
View file @
787c060f
require
'spec_helper'
describe
EE
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Limit
::
Activity
do
describe
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Limit
::
Activity
do
set
(
:namespace
)
{
create
(
:namespace
)
}
set
(
:project
)
{
create
(
:project
,
namespace:
namespace
)
}
set
(
:user
)
{
create
(
:user
)
}
...
...
ee/spec/lib/
ee/
gitlab/ci/pipeline/chain/limit/size_spec.rb
→
ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb
View file @
787c060f
require
'spec_helper'
describe
EE
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Limit
::
Size
do
describe
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Limit
::
Size
do
set
(
:namespace
)
{
create
(
:namespace
)
}
set
(
:project
)
{
create
(
:project
,
:repository
,
namespace:
namespace
)
}
set
(
:user
)
{
create
(
:user
)
}
...
...
ee/spec/lib/
ee/
gitlab/ci/pipeline/chain/remove_unwanted_chat_jobs_spec.rb
→
ee/spec/lib/gitlab/ci/pipeline/chain/remove_unwanted_chat_jobs_spec.rb
View file @
787c060f
require
'spec_helper'
describe
EE
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
RemoveUnwantedChatJobs
do
describe
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
RemoveUnwantedChatJobs
do
let
(
:project
)
{
create
(
:project
,
:repository
)
}
let
(
:pipeline
)
do
...
...
lib/gitlab/ci/pipeline/chain/limit/activity.rb
0 → 100644
View file @
787c060f
# frozen_string_literal: true
module
Gitlab
module
Ci
module
Pipeline
module
Chain
module
Limit
class
Activity
<
Chain
::
Base
def
perform!
# to be overriden in EE
end
def
break?
false
# to be overriden in EE
end
end
end
end
end
end
end
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Limit
::
Activity
.
prepend
(
EE
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Limit
::
Activity
)
lib/gitlab/ci/pipeline/chain/limit/size.rb
0 → 100644
View file @
787c060f
# frozen_string_literal: true
module
Gitlab
module
Ci
module
Pipeline
module
Chain
module
Limit
class
Size
<
Chain
::
Base
def
perform!
# to be overriden in EE
end
def
break?
false
# to be overriden in EE
end
end
end
end
end
end
end
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Limit
::
Size
.
prepend
(
EE
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
Limit
::
Size
)
lib/gitlab/ci/pipeline/chain/remove_unwanted_chat_jobs.rb
0 → 100644
View file @
787c060f
# frozen_string_literal: true
module
Gitlab
module
Ci
module
Pipeline
module
Chain
class
RemoveUnwantedChatJobs
<
Chain
::
Base
def
perform!
# to be overriden in EE
end
def
break?
false
end
end
end
end
end
end
Gitlab
::
Ci
::
Pipeline
::
Chain
::
RemoveUnwantedChatJobs
.
prepend
(
EE
::
Gitlab
::
Ci
::
Pipeline
::
Chain
::
RemoveUnwantedChatJobs
)
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