1
+ name : Sizes Results
2
+
3
+ on :
4
+ workflow_run :
5
+ workflows : [ESP32 Arduino CI]
6
+ types :
7
+ - completed
8
+
9
+ workflow_dispatch :
10
+ env :
11
+ # It's convenient to set variables for values used multiple times in the workflow
12
+ SKETCHES_REPORTS_PATH : artifacts/sizes-report
13
+ GITHUB_TOKEN : ${{secrets.GITHUB_TOKEN}}
14
+ PR_NUMBER : ${{ github.event.workflow_run.pull_requests[0].number }}
15
+
16
+ jobs :
17
+ sizes-test-results :
18
+ name : Sizes Comparsion Results
19
+ runs-on : ubuntu-latest
20
+ if : |
21
+ github.event.workflow_run.event == 'pull_request' &&
22
+ github.event.workflow_run.conclusion == 'success'
23
+
24
+ steps :
25
+ - name : Download and Extract Artifacts
26
+ run : |
27
+ mkdir -p artifacts && cd artifacts
28
+ mkdir -p sizes-report
29
+ mkdir -p sizes-report/master
30
+ mkdir -p sizes-report/pr
31
+ artifacts_url=${{ github.event.workflow_run.artifacts_url }}
32
+ gh api "$artifacts_url" -q '.artifacts[] | [.name, .archive_download_url] | @tsv' | while read artifact
33
+ do
34
+ IFS=$'\t' read name url <<< "$artifact"
35
+ gh api $url > "$name.zip"
36
+ unzip -j "$name.zip" -d "temp_$name"
37
+ if [[ "$name" == *"master"* ]]; then
38
+ mv "temp_$name"/* sizes-report/master
39
+ elif [[ "$name" == *"pr"* ]]; then
40
+ mv "temp_$name"/* sizes-report/pr
41
+ else
42
+ mv "temp_$name"/* sizes-report
43
+ fi
44
+ rm -r "temp_$name"
45
+ done
46
+ echo "Contents of parent directory:"
47
+ ls -R ..
48
+
49
+ - name : Report results
50
+ uses : P-R-O-C-H-Y/report-size-deltas@sizes_v2
51
+ with :
52
+ sketches-reports-source : ${{ env.SKETCHES_REPORTS_PATH }}
53
+ github-token : ${{ env.GITHUB_TOKEN }}
54
+ pr-number : ${{ env.PR_NUMBER }}
0 commit comments