Branch Coverage

blib/lib/App/GHGen/Analyzer.pm
Criterion Covered Total %
branch 40 76 52.6


line true false branch
41 0 0 unless $workflows_dir->exists and $workflows_dir->is_dir
57 3 1 unless (has_caching($workflow))
69 0 4 if (@unpinned)
81 0 4 if (@outdated)
92 3 1 if (has_broad_triggers($workflow))
108 3 1 unless ($workflow->{'concurrency'})
121 0 4 if (has_outdated_runners($workflow))
135 3 1 unless (exists $job->{'timeout-minutes'})
197 0 4 unless my $jobs = $workflow->{'jobs'}
200 0 4 unless my $steps = $job->{'steps'}
202 1 7 if $step->{'uses'} and $step->{'uses'} =~ m[actions/cache]u
210 0 4 unless my $jobs = $workflow->{'jobs'}
213 0 4 unless my $steps = $job->{'steps'}
215 4 5 unless $step->{'uses'}
216 0 5 if ($step->{'uses'} =~ /\@(master|main)$/u)
226 0 4 unless $on
229 4 0 if (ref $on eq "HASH" and $on->{'push'})
231 3 1 if ref $push eq "" or not $push->{'paths'} || $push->{'branches'}
235 0 1 if (ref $on eq "ARRAY" and grep {$_ eq "push";} @$on)
243 0 4 unless my $jobs = $workflow->{'jobs'}
246 0 4 unless my $runs_on = $job->{'runs-on'}
247 0 4 if $runs_on =~ /ubuntu-18\.04|ubuntu-16\.04|macos-10\.15/u
253 0 3 unless ref $workflow eq "HASH"
255 0 3 unless my $jobs = $workflow->{'jobs'}
258 0 3 unless my $steps = $job->{'steps'}
261 0 6 if $run =~ /npm (install|ci)/u
262 0 6 if $run =~ /pip install/u
263 0 6 if $run =~ /cargo (build|test)/u
264 0 6 if $run =~ /bundle install/u
271 0 0 $a < $b ? :
276 0 4 unless my $jobs = $workflow->{'jobs'}
291 0 4 unless my $steps = $job->{'steps'}
293 4 5 unless $step->{'uses'}
297 0 40 if ($uses =~ /^\Q$old\E/u)
308 0 0 unless my $jobs = $workflow->{'jobs'}
311 0 0 unless my $steps = $job->{'steps'}
314 0 0 if $step->{'uses'} and $step->{'uses'} =~ /deploy|publish|release/iu
315 0 0 if $step->{'run'} and $step->{'run'} =~ /git push|npm publish/u