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