Skip to content

Commit 79a112b

Browse files
committed
Add Sizes Result workflow
1 parent a45b5af commit 79a112b

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

Diff for: .github/workflows/publishsizes.yml

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
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

Comments
 (0)