@@ -30,44 +30,38 @@ def _stop(self, sub_id):
30
30
if sub_id :
31
31
self ._api_helper .unsubscribe_filters (sub_id )
32
32
33
- def _create_regression (self , failed_node , last_successful_node ):
34
- """Method to create a regression"""
35
- regression = {}
36
- for field in self ._regression_fields :
37
- regression [field ] = failed_node [field ]
38
-
39
- regression ['kind' ] = 'regression'
40
- regression ['data' ] = {
41
- 'fail_node' : failed_node ['id' ],
42
- 'pass_node' : last_successful_node ['id' ],
43
- }
44
- reg = self ._api_helper .submit_regression (regression )
45
-
46
- def _detect_regression (self , node ):
33
+ def _detect_regression (self , fail_node ):
47
34
"""Method to check and detect regression"""
48
35
previous_nodes = self ._api .node .find ({
49
- 'name' : node ['name' ],
50
- 'group' : node ['group' ],
51
- 'path' : node ['path' ],
36
+ 'name' : fail_node ['name' ],
37
+ 'group' : fail_node ['group' ],
38
+ 'path' : fail_node ['path' ],
52
39
'data.kernel_revision.tree' :
53
- node ['data' ]['kernel_revision' ]['tree' ],
40
+ fail_node ['data' ]['kernel_revision' ]['tree' ],
54
41
'data.kernel_revision.branch' :
55
- node ['data' ]['kernel_revision' ]['branch' ],
56
- 'data.kernel_revision.url' : node ['data' ]['kernel_revision' ]['url' ],
57
- 'created__lt' : node ['created' ],
42
+ fail_node ['data' ]['kernel_revision' ]['branch' ],
43
+ 'data.kernel_revision.url' :
44
+ fail_node ['data' ]['kernel_revision' ]['url' ],
45
+ 'data.arch' : fail_node ['data' ]['arch' ],
46
+ 'data.defconfig' : fail_node ['data' ]['defconfig' ],
47
+ 'data.compiler' : fail_node ['data' ]['compiler' ],
48
+ 'data.platform' : fail_node ['data' ]['platform' ],
49
+ 'created__lt' : fail_node ['created' ],
50
+ 'state' : 'done'
58
51
})
59
-
60
- if previous_nodes :
61
- previous_nodes = sorted (
62
- previous_nodes ,
63
- key = lambda node : node ['created' ],
64
- reverse = True
65
- )
66
-
67
- if previous_nodes [0 ]['result' ] == 'pass' :
68
- self .log .info (f"Detected regression for node id: \
69
- { node ['id' ]} " )
70
- self ._create_regression (node , previous_nodes [0 ])
52
+ if not previous_nodes :
53
+ return
54
+ previous_node = sorted (
55
+ previous_nodes ,
56
+ key = lambda node : node ['created' ],
57
+ reverse = True
58
+ )[0 ]
59
+ if previous_node ['result' ] == 'pass' :
60
+ self .log .info ("Detected regression for node id: "
61
+ f"{ fail_node ['id' ]} " )
62
+ regression = self ._api_helper .submit_regression (fail_node ,
63
+ previous_node )
64
+ self .log .info (f"Regression submitted: { regression ['id' ]} " )
71
65
72
66
def _get_all_failed_child_nodes (self , failures , root_node ):
73
67
"""Method to get all failed nodes recursively from top-level node"""
0 commit comments