File tree Expand file tree Collapse file tree 2 files changed +83
-0
lines changed
Expand file tree Collapse file tree 2 files changed +83
-0
lines changed Original file line number Diff line number Diff line change @@ -11,3 +11,13 @@ ssh-key | To retrieve repository (must have write permissions to default branch)
1111coverage | Directory containing coverage to publish | ` cover_db `
1212author-name | Name to use for commit | actor name
1313author-email | Email to use for commit | actor email
14+
15+ ## render
16+
17+ publish-coverage/render collates branches from a coverage repository for publication by actions/upload-pages-artifact.
18+
19+ ### inputs
20+
21+ Name | Description | Default
22+ -|-|-
23+ repository | Repository to list in title | _ None_ Must be provided
Original file line number Diff line number Diff line change 1+ name : Render Coverage
2+ description : Render Coverage in Pages Repository
3+
4+ inputs :
5+ repository :
6+ description : ' Source repository for coverage'
7+ required : true
8+
9+ runs :
10+ using : composite
11+ steps :
12+ - name : Collate coverage
13+ env :
14+ repository : ${{ inputs.repository }}
15+ shell : bash
16+ run : |
17+ : Collate coverage
18+ git checkout --orphan=pages
19+ git checkout main -- index.html
20+ for a in $(
21+ git ls-remote . |
22+ perl -ne '
23+ next unless s,.*/(ref-),$1,;
24+ print;
25+ '
26+ ); do
27+ export event=$(echo "$a" | perl -pe 's/ref-(.*?)-.*/$1/')
28+ export ref=$(echo "$a" | perl -pe 's/.*-//')
29+ git checkout origin/$a -- "$event/$ref" || true
30+ echo "$event" >> /tmp/events
31+ done
32+ for event in $(sort -u /tmp/events); do
33+ export event
34+ if ! grep -q "$event" index.html; then
35+ perl -pi -e 's#^(\s+)(</ul>)#$1 <li><a href="$ENV{event}/">$ENV{event}</a></li>\n$1$2#' index.html
36+ fi
37+ (
38+ cd "$event";
39+ find . -mindepth 1 -maxdepth 1 -type d -print0
40+ ) | perl -e '
41+ $/="\0";
42+ my $event=$ENV{event};
43+ my $repository=$ENV{repository};
44+
45+ print qq{<html>
46+ <head><title>$repository coverage for $event</title>
47+ <style>
48+ body {
49+ font-family: sans-serif;
50+ }
51+ </style></head>
52+ <body>
53+ <h1>$repository coverage for $event</h1>
54+ <ul>
55+ };
56+ my %list;
57+ for my $ref (<>) {
58+ chomp $ref;
59+ $ref =~ s!.*/!!;
60+ my $date=`git log -1 "origin/ref-$event-$ref" --pretty="%ai"`;
61+ chomp $date;
62+ my $key="$date ($ref)";
63+ my $entry=qq{<a href="$ref/">$key</a>};
64+ $list{$key} = $entry;
65+ }
66+ for my $key (reverse sort keys %list) {
67+ print " <li>$list{$key}</li>\n";
68+ }
69+ print qq{ </ul>
70+ </body>
71+ };
72+ ' > $event/index.html
73+ done
You can’t perform that action at this time.
0 commit comments