@@ -15,10 +15,8 @@ use Sort::Versions;
1515use Time::Seconds;
1616
1717sub init_job_figures ($job_result ) {
18-
1918 # relevant distributions for the build (hash is used as a set)
2019 $job_result -> {distris } = {};
21-
2220 # number of passed/failed/... jobs
2321 $job_result -> {passed } = 0;
2422 $job_result -> {failed } = 0;
@@ -31,7 +29,6 @@ sub init_job_figures ($job_result) {
3129}
3230
3331sub count_job ($job , $jr , $labels ) {
34-
3532 $jr -> {total }++;
3633 if ($job -> state eq OpenQA::Jobs::Constants::DONE) {
3734 if ($job -> result eq OpenQA::Jobs::Constants::PASSED) {
@@ -69,18 +66,15 @@ sub count_job ($job, $jr, $labels) {
6966}
7067
7168sub add_review_badge ($build_res ) {
72-
7369 $build_res -> {all_passed } = $build_res -> {passed } + $build_res -> {softfailed } >= $build_res -> {total } ? 1 : 0;
7470 $build_res -> {reviewed } = $build_res -> {labeled } >= $build_res -> {failed } ? 1 : 0;
7571 $build_res -> {commented } = $build_res -> {comments } >= $build_res -> {failed } ? 1 : 0;
7672}
7773
7874sub filter_subgroups ($group , $subgroup_filter ) {
79-
8075 my @group_ids ;
8176 my @children ;
8277 my $group_name = $group -> name;
83-
8478 for my $child ($group -> children) {
8579 my $full_name = $child -> full_name;
8680 if (grep { $_ eq ' ' || regex_match($_ , $full_name ) } @$subgroup_filter ) {
@@ -95,29 +89,24 @@ sub filter_subgroups ($group, $subgroup_filter) {
9589}
9690
9791sub find_child_groups ($group , $subgroup_filter ) {
98-
9992 # handle regular (non-parent) groups
10093 return {
10194 group_ids => [$group -> id],
10295 children => [],
10396 } unless $group -> can(' children' );
104-
10597 # handle simple case where no filter for subgroups present
10698 return {
10799 group_ids => $group -> child_group_ids,
108100 children => [$group -> children],
109101 } unless @$subgroup_filter ;
110-
111102 return filter_subgroups($group , $subgroup_filter );
112103}
113104
114105sub compute_build_results ($group , $limit , $time_limit_days , $tags , $subgroup_filter , $show_tags ) {
115-
116106 # find relevant child groups taking filter into account
117107 my $child_groups = find_child_groups($group , $subgroup_filter );
118108 my $group_ids = $child_groups -> {group_ids };
119109 my $children = $child_groups -> {children };
120-
121110 my @sorted_results ;
122111 my %result = (
123112 build_results => \@sorted_results ,
@@ -127,11 +116,7 @@ sub compute_build_results ($group, $limit, $time_limit_days, $tags, $subgroup_fi
127116 id => $group -> id,
128117 name => $group -> name
129118 });
130-
131- if (defined ($limit ) && int ($limit ) <= 0) {
132- return \%result ;
133- }
134-
119+ return \%result if defined ($limit ) && int ($limit ) <= 0;
135120 # build sorting
136121 my $buildver_sort_mode = BUILD_SORT_BY_NAME;
137122 $buildver_sort_mode = $group -> build_version_sort if $group -> can(' build_version_sort' );
@@ -147,11 +132,8 @@ sub compute_build_results ($group, $limit, $time_limit_days, $tags, $subgroup_fi
147132 rows => $row_limit
148133 );
149134 my %search_filter = (group_id => {in => $group_ids });
150- if ($time_limit_days ) {
151- $search_filter {t_created }
152- = {' >' => time2str(' %Y-%m-%d %H:%M:%S' , time - ONE_DAY * $time_limit_days , ' UTC' )};
153- }
154-
135+ $search_filter {t_created } = {' >' => time2str(' %Y-%m-%d %H:%M:%S' , time - ONE_DAY * $time_limit_days , ' UTC' )}
136+ if $time_limit_days ;
155137 # add search filter for tags
156138 # caveat: a tag that references only a build, not including a version, might be ambiguous
157139 if ($tags ) {
@@ -165,7 +147,6 @@ sub compute_build_results ($group, $limit, $time_limit_days, $tags, $subgroup_fi
165147 $search_filter {BUILD } = {-in => \@builds };
166148 $search_filter {VERSION } = {-in => \@versions } if @versions ;
167149 }
168-
169150 # find relevant builds
170151 my $jobs_resultset = $group -> result_source-> schema-> resultset(' Jobs' );
171152 my @builds = $jobs_resultset -> search(\%search_filter , \%search_opts )-> all;
@@ -175,16 +156,13 @@ sub compute_build_results ($group, $limit, $time_limit_days, $tags, $subgroup_fi
175156 $build -> {key } = join (' -' , $version , $buildnr );
176157 $versions_per_build {$buildnr }-> {$version } = 1;
177158 }
178- if ($buildver_sort_mode == BUILD_SORT_BY_NAME) {
179- @builds = reverse sort { versioncmp($a -> {key }, $b -> {key }); } @builds ;
180- }
181-
159+ @builds = reverse sort { versioncmp($a -> {key }, $b -> {key }); } @builds
160+ if $buildver_sort_mode == BUILD_SORT_BY_NAME;
182161 my $max_jobs = 0;
183162 my $now = DateTime-> now;
184163 my $newest = ($buildver_sort_mode == BUILD_SORT_BY_OLDEST_JOB || $buildver_sort_mode == BUILD_SORT_BY_NAME) ? 0 : 1;
185164 for my $build (@builds ) {
186165 last if defined ($limit ) && (--$limit < 0);
187-
188166 my ($version , $buildnr ) = ($build -> VERSION, $build -> BUILD);
189167 my $jobs = $jobs_resultset -> search(
190168 {
@@ -201,10 +179,7 @@ sub compute_build_results ($group, $limit, $time_limit_days, $tags, $subgroup_fi
201179 version_count => scalar keys %{$versions_per_build {$buildnr }},
202180 );
203181 init_job_figures(\%jr );
204- for my $child (@$children ) {
205- init_job_figures($jr {children }-> {$child -> id} = {});
206- }
207-
182+ init_job_figures($jr {children }-> {$_ -> id} = {}) for @$children ;
208183 my %seen ;
209184 my @jobs = map {
210185 my $key = $_ -> TEST . ' -' . $_ -> ARCH . ' -' . $_ -> FLAVOR . ' -' . ($_ -> MACHINE // ' ' );
0 commit comments