fbe 0.0.61 → 0.0.63
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/assets/bylaws/bug-report-was-rewarded.liquid +1 -1
- data/assets/bylaws/code-contribution-was-rewarded.liquid +3 -3
- data/assets/bylaws/code-review-was-rewarded.liquid +4 -4
- data/assets/bylaws/enhancement-suggestion-was-rewarded.liquid +1 -1
- data/assets/bylaws/resolved-bug-was-rewarded.liquid +3 -3
- data/lib/fbe/octo.rb +34 -2
- data/lib/fbe.rb +1 -1
- data/test/fbe/test_bylaws.rb +16 -15
- data/test/fbe/test_octo.rb +1 -1
- 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: 1bfbf479f7d6cc0686058767d0b66c251d32fb5d810287098e719cba2c26fa21
|
4
|
+
data.tar.gz: 2109aa7b2b2c41e356ec8ed3aad4cbe328b9b5c3b65642aef434529f5a5d0fad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 969259e7bbbf1d4d0063bb8e1aa7ad3ee055590def1c8d09dd090cf9f1977f0f9593d8f65db72fb3d9312fe0fdf9be14f7e0df89e6cd6f16542da39d422b58e7
|
7
|
+
data.tar.gz: 27bb3190c5471fb5b8157e5e03b4678116b56951bf761f92c78a7f3aaf5984e4687be4e9feb8800c388fbe7aa665fc988821881560c4a6ab0b451eae37161233
|
@@ -5,12 +5,12 @@
|
|
5
5
|
(in reviews "the number of reviews provided")
|
6
6
|
|
7
7
|
(aka
|
8
|
-
(let basis {{
|
8
|
+
(let basis {{ 2 | times: love }})
|
9
9
|
(give basis "as a basis")
|
10
10
|
"award ${basis} points")
|
11
11
|
|
12
12
|
(aka
|
13
|
-
(let hoc_k {{ 0.
|
13
|
+
(let hoc_k {{ 0.025 | times: love }})
|
14
14
|
(let hoc_threshold {{ 400 | divided_by: paranoia }})
|
15
15
|
(let hoc_max 16)
|
16
16
|
(let hoc_min 5)
|
@@ -72,7 +72,7 @@
|
|
72
72
|
"deduct ${few_hoc_fee} points if you contribute less than ${hoc_needed} hits-of-code")
|
73
73
|
|
74
74
|
(aka
|
75
|
-
(let max
|
75
|
+
(let max 24)
|
76
76
|
(set over (if (gt (total) max) (minus max (total)) 0))
|
77
77
|
(give over "to not go over the cap")
|
78
78
|
(let min 4)
|
@@ -5,7 +5,7 @@
|
|
5
5
|
(in self "1 if the review was made for their own code contribution, otherwise zero")
|
6
6
|
|
7
7
|
(aka
|
8
|
-
(let basis {{
|
8
|
+
(let basis {{ 2 | times: love }})
|
9
9
|
(give basis "as a basis")
|
10
10
|
"award ${basis} points")
|
11
11
|
|
@@ -16,7 +16,7 @@
|
|
16
16
|
"deduct ${self_fee} points if they reviewed their own contribution")
|
17
17
|
|
18
18
|
(aka
|
19
|
-
(let hoc_k {{ 0.
|
19
|
+
(let hoc_k {{ 0.005 | times: love }})
|
20
20
|
(let hoc_max 16)
|
21
21
|
(let hoc_min 5)
|
22
22
|
(set bonus_for_hoc (times hoc hoc_k))
|
@@ -41,7 +41,7 @@
|
|
41
41
|
"deduct ${silence_fee} points if there were absolutely no comments made during review")
|
42
42
|
|
43
43
|
(aka
|
44
|
-
(let comments_k {{ 0.
|
44
|
+
(let comments_k {{ 0.125 | times: love }})
|
45
45
|
(let comments_max 8)
|
46
46
|
(let comments_min 5)
|
47
47
|
(set bonus_for_comments (times comments comments_k))
|
@@ -58,7 +58,7 @@
|
|
58
58
|
"deduct ${hoc_fee} points if there were less than ${hoc_needed} hits-of-code")
|
59
59
|
|
60
60
|
(aka
|
61
|
-
(let max
|
61
|
+
(let max 24)
|
62
62
|
(set over (if (gt (total) max) (minus max (total)) 0))
|
63
63
|
(give over "to not go over the cap")
|
64
64
|
(let min 4)
|
@@ -4,12 +4,12 @@
|
|
4
4
|
(in self "1 if the bug was reported and resolved by the same person, otherwise zero")
|
5
5
|
(set days (div hours 24))
|
6
6
|
(aka
|
7
|
-
(let basis {{
|
7
|
+
(let basis {{ 2 | times: love }})
|
8
8
|
(give basis "as a basis")
|
9
9
|
"award ${basis} points")
|
10
10
|
|
11
11
|
(aka
|
12
|
-
(let b1 {{
|
12
|
+
(let b1 {{ 2 | times: love }})
|
13
13
|
(let hours_threshold {{ 48 | divided_by: paranoia }})
|
14
14
|
(set b1 (if (lt hours hours_threshold) b1 0))
|
15
15
|
(give b1 "for resolving it in less than ${hours_threshold} hours")
|
@@ -30,7 +30,7 @@
|
|
30
30
|
"deduct ${day_fee} points for each day of delay, but no more than ${days_fee_max} points")
|
31
31
|
|
32
32
|
(aka
|
33
|
-
(let max
|
33
|
+
(let max 16)
|
34
34
|
(set over (if (gt (total) max) (minus max (total)) 0))
|
35
35
|
(give over "to not go over the cap")
|
36
36
|
(let min 4)
|
data/lib/fbe/octo.rb
CHANGED
@@ -297,6 +297,29 @@ class Fbe::FakeOctokit
|
|
297
297
|
}
|
298
298
|
end
|
299
299
|
|
300
|
+
def pull_request_reviews(_repo, _number)
|
301
|
+
[
|
302
|
+
{
|
303
|
+
id: 22_449_327,
|
304
|
+
user: { login: 'yegor256', id: 526_301, type: 'User' },
|
305
|
+
body: 'Some text 2',
|
306
|
+
state: 'CHANGES_REQUESTED',
|
307
|
+
author_association: 'CONTRIBUTOR',
|
308
|
+
submitted_at: Time.parse('2024-08-22 10:00:00 UTC'),
|
309
|
+
commit_id: 'b15c2893f1b5453'
|
310
|
+
},
|
311
|
+
{
|
312
|
+
id: 22_449_326,
|
313
|
+
user: { login: 'yegor256', id: 526_301, type: 'User' },
|
314
|
+
body: 'Some text 1',
|
315
|
+
state: 'CHANGES_REQUESTED',
|
316
|
+
author_association: 'CONTRIBUTOR',
|
317
|
+
submitted_at: Time.parse('2024-08-21 22:00:00 UTC'),
|
318
|
+
commit_id: 'a15c2893f1b5453'
|
319
|
+
}
|
320
|
+
]
|
321
|
+
end
|
322
|
+
|
300
323
|
def add_comment(_repo, _issue, _text)
|
301
324
|
{
|
302
325
|
id: 42
|
@@ -335,12 +358,14 @@ class Fbe::FakeOctokit
|
|
335
358
|
{
|
336
359
|
id: 42,
|
337
360
|
number: 10,
|
338
|
-
title: 'Awesome PR 10'
|
361
|
+
title: 'Awesome PR 10',
|
362
|
+
created_at: Time.parse('2024-08-21 19:00:00 UTC')
|
339
363
|
},
|
340
364
|
{
|
341
365
|
id: 43,
|
342
366
|
number: 11,
|
343
|
-
title: 'Awesome PR 11'
|
367
|
+
title: 'Awesome PR 11',
|
368
|
+
created_at: Time.parse('2024-08-21 20:00:00 UTC')
|
344
369
|
}
|
345
370
|
]
|
346
371
|
}
|
@@ -983,6 +1008,7 @@ class Fbe::FakeOctokit
|
|
983
1008
|
conclusion: 'success',
|
984
1009
|
name: 'copyrights',
|
985
1010
|
started_at: '2024-08-18T08:04:44Z',
|
1011
|
+
run_started_at: '2024-08-18T08:04:44Z',
|
986
1012
|
completed_at: '2024-08-18T08:20:17Z'
|
987
1013
|
},
|
988
1014
|
{
|
@@ -991,6 +1017,7 @@ class Fbe::FakeOctokit
|
|
991
1017
|
conclusion: 'success',
|
992
1018
|
name: 'markdown-lint',
|
993
1019
|
started_at: '2024-08-18T08:04:44Z',
|
1020
|
+
run_started_at: '2024-08-18T08:04:44Z',
|
994
1021
|
completed_at: '2024-08-18T08:20:17Z'
|
995
1022
|
},
|
996
1023
|
{
|
@@ -999,6 +1026,7 @@ class Fbe::FakeOctokit
|
|
999
1026
|
conclusion: 'failure',
|
1000
1027
|
name: 'pdd',
|
1001
1028
|
started_at: '2024-08-18T08:04:44Z',
|
1029
|
+
run_started_at: '2024-08-18T08:04:44Z',
|
1002
1030
|
completed_at: '2024-08-18T08:20:17Z'
|
1003
1031
|
},
|
1004
1032
|
{
|
@@ -1007,6 +1035,7 @@ class Fbe::FakeOctokit
|
|
1007
1035
|
conclusion: 'success',
|
1008
1036
|
name: 'rake',
|
1009
1037
|
started_at: '2024-08-18T08:04:44Z',
|
1038
|
+
run_started_at: '2024-08-18T08:04:44Z',
|
1010
1039
|
completed_at: '2024-08-18T08:20:17Z'
|
1011
1040
|
},
|
1012
1041
|
{
|
@@ -1015,6 +1044,7 @@ class Fbe::FakeOctokit
|
|
1015
1044
|
conclusion: 'success',
|
1016
1045
|
name: 'shellcheck',
|
1017
1046
|
started_at: '2024-08-18T08:04:44Z',
|
1047
|
+
run_started_at: '2024-08-18T08:04:44Z',
|
1018
1048
|
completed_at: '2024-08-18T08:20:17Z'
|
1019
1049
|
},
|
1020
1050
|
{
|
@@ -1023,6 +1053,7 @@ class Fbe::FakeOctokit
|
|
1023
1053
|
conclusion: 'failure',
|
1024
1054
|
name: 'yamllint',
|
1025
1055
|
started_at: '2024-08-18T08:04:44Z',
|
1056
|
+
run_started_at: '2024-08-18T08:04:44Z',
|
1026
1057
|
completed_at: '2024-08-18T08:20:17Z'
|
1027
1058
|
}
|
1028
1059
|
].select { |json| json[:id] == id }.first || {
|
@@ -1035,6 +1066,7 @@ class Fbe::FakeOctokit
|
|
1035
1066
|
conclusion: 'success',
|
1036
1067
|
workflow_id: id,
|
1037
1068
|
created_at: random_time,
|
1069
|
+
run_started_at: random_time,
|
1038
1070
|
repository: repository(repo)
|
1039
1071
|
}
|
1040
1072
|
end
|
data/lib/fbe.rb
CHANGED
data/test/fbe/test_bylaws.rb
CHANGED
@@ -51,13 +51,13 @@ class TestBylaws < Minitest::Test
|
|
51
51
|
{ hoc: 30_000, contributors: 1 } => 32
|
52
52
|
},
|
53
53
|
'resolved-bug-was-rewarded' => {
|
54
|
-
{ hours: 1, self: 0 } =>
|
55
|
-
{ hours: 48, self: 0 } =>
|
56
|
-
{ hours: 80, self: 0 } =>
|
54
|
+
{ hours: 1, self: 0 } => 8,
|
55
|
+
{ hours: 48, self: 0 } => 4,
|
56
|
+
{ hours: 80, self: 0 } => 4,
|
57
57
|
{ hours: 300, self: 0 } => 4,
|
58
58
|
{ hours: 3_000, self: 0 } => 4,
|
59
59
|
{ hours: 30_000, self: 0 } => 4,
|
60
|
-
{ hours: 1, self: 1 } =>
|
60
|
+
{ hours: 1, self: 1 } => 4
|
61
61
|
},
|
62
62
|
'push-to-master-was-punished' => {
|
63
63
|
{} => -16
|
@@ -65,10 +65,10 @@ class TestBylaws < Minitest::Test
|
|
65
65
|
'code-review-was-rewarded' => {
|
66
66
|
{ hoc: 0, comments: 0, self: 0 } => 4,
|
67
67
|
{ hoc: 3, comments: 0, self: 0 } => 4,
|
68
|
-
{ hoc: 78, comments: 7, self: 0 } =>
|
69
|
-
{ hoc: 600, comments: 1, self: 0 } =>
|
70
|
-
{ hoc: 500, comments: 40, self: 0 } =>
|
71
|
-
{ hoc: 5_000, comments: 100, self: 0 } =>
|
68
|
+
{ hoc: 78, comments: 7, self: 0 } => 4,
|
69
|
+
{ hoc: 600, comments: 1, self: 0 } => 4,
|
70
|
+
{ hoc: 500, comments: 40, self: 0 } => 17,
|
71
|
+
{ hoc: 5_000, comments: 100, self: 0 } => 24,
|
72
72
|
{ hoc: 100, comments: 50, self: 1 } => 4,
|
73
73
|
{ hoc: 10_000, comments: 200, self: 1 } => 4
|
74
74
|
},
|
@@ -77,20 +77,21 @@ class TestBylaws < Minitest::Test
|
|
77
77
|
{ hoc: 3, comments: 0, reviews: 0 } => 4,
|
78
78
|
{ hoc: 78, comments: 0, reviews: 0 } => 4,
|
79
79
|
{ hoc: 78, comments: 1, reviews: 0 } => 4,
|
80
|
-
{ hoc: 50, comments: 15, reviews: 0 } =>
|
80
|
+
{ hoc: 50, comments: 15, reviews: 0 } => 4,
|
81
81
|
{ hoc: 50, comments: 25, reviews: 0 } => 4,
|
82
|
-
{ hoc: 180, comments: 7, reviews: 2 } =>
|
83
|
-
{ hoc:
|
82
|
+
{ hoc: 180, comments: 7, reviews: 2 } => 13,
|
83
|
+
{ hoc: 199, comments: 8, reviews: 3 } => 14,
|
84
|
+
{ hoc: 150, comments: 5, reviews: 1 } => 8,
|
84
85
|
{ hoc: 500, comments: 25, reviews: 2 } => 4,
|
85
|
-
{ hoc: 99, comments: 6, reviews: 1 } =>
|
86
|
+
{ hoc: 99, comments: 6, reviews: 1 } => 4,
|
86
87
|
{ hoc: 1_500, comments: 3, reviews: 0 } => 4,
|
87
88
|
{ hoc: 15_000, comments: 40, reviews: 0 } => 4
|
88
89
|
},
|
89
90
|
'bug-report-was-rewarded' => {
|
90
|
-
{} =>
|
91
|
+
{} => 8
|
91
92
|
},
|
92
93
|
'enhancement-suggestion-was-rewarded' => {
|
93
|
-
{} =>
|
94
|
+
{} => 8
|
94
95
|
},
|
95
96
|
'dud-was-punished' => {
|
96
97
|
{} => -16
|
@@ -104,7 +105,7 @@ class TestBylaws < Minitest::Test
|
|
104
105
|
assert(!formula.nil?, title)
|
105
106
|
a = Fbe::Award.new(formula)
|
106
107
|
help = [
|
107
|
-
" '#{title.gsub('
|
108
|
+
" '#{title.gsub('_', '-')}' => {\n ",
|
108
109
|
pairs.map do |args, _|
|
109
110
|
[
|
110
111
|
'{',
|
data/test/fbe/test_octo.rb
CHANGED
@@ -160,7 +160,7 @@ class TestOcto < Minitest::Test
|
|
160
160
|
assert(!o.off_quota) if n > 100
|
161
161
|
limit -= 1
|
162
162
|
end
|
163
|
-
assert_in_delta(pause, Time.now - start_time,
|
163
|
+
assert_in_delta(pause, Time.now - start_time, 5)
|
164
164
|
end
|
165
165
|
|
166
166
|
def test_fetches_fake_check_runs_for_ref
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fbe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.63
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yegor Bugayenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-08-
|
11
|
+
date: 2024-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: backtrace
|