gitlab-triage 0.17.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/gitlab/triage/engine.rb +27 -10
- data/lib/gitlab/triage/version.rb +1 -1
- data/support/.gitlab-ci.example.yml +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '068290d03b6eb617a306b0a5ea4ce9b255fa266a66cf97b7af06dca8395aae0a'
|
4
|
+
data.tar.gz: d73a8294b27be8fcec3fc465be95cf41109b8762abb1578a8c6b60da6d29c5ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 24127793df3fcb08fe6ed9434ea4f0005617fb1e507df0a7e14bc065eb18bcd7a36bbf7d91501bf442484d21ea0dc1b4b02ad45dd625e6ca37c3fab234b8aec4
|
7
|
+
data.tar.gz: 1271a01b3bf03430265b068f98b9df87a53b8ca2026a71874fb64c5d1ceba3a950c6910a89045440f8e55eef0d64d46283a33e3459aeb1ddee337321e219fca8
|
data/lib/gitlab/triage/engine.rb
CHANGED
@@ -100,7 +100,12 @@ module Gitlab
|
|
100
100
|
return if rules.blank?
|
101
101
|
|
102
102
|
rules.each do |rule|
|
103
|
-
|
103
|
+
resources_for_rule(resource_type, rule) do |resources|
|
104
|
+
policy = Policies::RulePolicy.new(
|
105
|
+
resource_type, rule, resources, network)
|
106
|
+
|
107
|
+
process_action(policy)
|
108
|
+
end
|
104
109
|
end
|
105
110
|
end
|
106
111
|
|
@@ -108,20 +113,32 @@ module Gitlab
|
|
108
113
|
puts Gitlab::Triage::UI.header("Processing summary: **#{summary[:name]}**", char: '~')
|
109
114
|
puts
|
110
115
|
|
111
|
-
|
112
|
-
|
113
|
-
|
116
|
+
summary_parts_for_rules(resource_type, summary[:rules]) do |parts|
|
117
|
+
policy = Policies::SummaryPolicy.new(
|
118
|
+
resource_type, summary, parts, network)
|
114
119
|
|
115
|
-
|
120
|
+
process_action(policy)
|
121
|
+
end
|
116
122
|
end
|
117
123
|
|
118
|
-
def
|
119
|
-
|
124
|
+
def summary_parts_for_rules(resource_type, rules)
|
125
|
+
# { summary_rule => resources }
|
126
|
+
parts = rules.inject({}) do |result, rule|
|
127
|
+
resources_and_conditions =
|
128
|
+
to_enum(:resources_for_rule, resource_type, rule)
|
129
|
+
|
130
|
+
resources_and_conditions
|
131
|
+
.inject(result) do |result, (resources, conditions)|
|
132
|
+
# { expanded_summary_rule => resources }
|
133
|
+
result.merge(rule.merge(conditions: conditions) => resources)
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
yield(parts)
|
120
138
|
end
|
121
139
|
|
122
140
|
def resources_for_rule(resource_type, rule)
|
123
141
|
puts Gitlab::Triage::UI.header("Processing rule: **#{rule[:name]}**", char: '-')
|
124
|
-
resources = []
|
125
142
|
|
126
143
|
ExpandCondition.perform(rule_conditions(rule)) do |conditions|
|
127
144
|
# retrieving the resources for every rule is inefficient
|
@@ -138,9 +155,9 @@ module Gitlab
|
|
138
155
|
resources = limit_resources(resources, rule_limits(rule))
|
139
156
|
puts "\n* Total after limiting: #{resources.count} resources"
|
140
157
|
puts
|
141
|
-
end
|
142
158
|
|
143
|
-
|
159
|
+
yield(resources, conditions)
|
160
|
+
end
|
144
161
|
end
|
145
162
|
|
146
163
|
# We don't have to do this once the response will contain the type
|
@@ -8,7 +8,7 @@ dry-run:triage:
|
|
8
8
|
script:
|
9
9
|
- gem install gitlab-triage
|
10
10
|
- gitlab-triage --help
|
11
|
-
- gitlab-triage --dry-run --token $API_TOKEN --
|
11
|
+
- gitlab-triage --dry-run --token $API_TOKEN --source projects --source-id $CI_PROJECT_PATH
|
12
12
|
when: manual
|
13
13
|
except:
|
14
14
|
- schedules
|
@@ -17,6 +17,6 @@ run:triage:
|
|
17
17
|
stage: triage
|
18
18
|
script:
|
19
19
|
- gem install gitlab-triage
|
20
|
-
- gitlab-triage --token $API_TOKEN --
|
20
|
+
- gitlab-triage --token $API_TOKEN --source projects --source-id $CI_PROJECT_PATH
|
21
21
|
only:
|
22
22
|
- schedules
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitlab-triage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitLab
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03-
|
11
|
+
date: 2019-03-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|