Skip to content

Commit efb3052

Browse files
try new size comparison
1 parent 1a6704d commit efb3052

File tree

2 files changed

+107
-42
lines changed

2 files changed

+107
-42
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
name: Build Size Comparison
2+
3+
on:
4+
pull_request:
5+
branches: [ master, develop ]
6+
7+
jobs:
8+
build-and-compare:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- name: Checkout current PR
13+
uses: actions/checkout@v4
14+
with:
15+
fetch-depth: 0
16+
17+
- name: Checkout base branch
18+
uses: actions/checkout@v4
19+
with:
20+
ref: ${{ github.base_ref }}
21+
path: base-branch
22+
23+
- name: Setup Node
24+
uses: actions/setup-node@v3
25+
with:
26+
node-version: 14.x
27+
cache: 'npm'
28+
29+
- name: Install Dependencies (Current PR)
30+
run: |
31+
npm ci --legacy-peer-deps
32+
cd pro__premium_only
33+
npm ci --legacy-peer-deps
34+
35+
- name: Install Dependencies (Base Branch)
36+
run: |
37+
cd base-branch
38+
npm ci --legacy-peer-deps
39+
cd pro__premium_only
40+
npm ci --legacy-peer-deps
41+
42+
- name: Build Current PR
43+
run: |
44+
npm run build:no-translate
45+
46+
- name: Build Base Branch
47+
run: |
48+
cd base-branch
49+
npm run build:no-translate
50+
51+
- name: Create Zip Files
52+
run: |
53+
# Create zip for current PR
54+
cd build/stackable
55+
zip -r ../../current-build.zip . -x "*.map" "node_modules/*"
56+
57+
# Create zip for base branch
58+
cd ../../base-branch/build/stackable
59+
zip -r ../../base-build.zip . -x "*.map" "node_modules/*"
60+
61+
- name: Compare Build Sizes
62+
run: |
63+
echo "## 📦 Build Size Comparison" >> $GITHUB_STEP_SUMMARY
64+
echo "" >> $GITHUB_STEP_SUMMARY
65+
66+
# Get file sizes
67+
CURRENT_SIZE=$(du -h current-build.zip | cut -f1)
68+
BASE_SIZE=$(du -h base-build.zip | cut -f1)
69+
70+
# Get exact byte sizes for calculation
71+
CURRENT_BYTES=$(stat -c%s current-build.zip)
72+
BASE_BYTES=$(stat -c%s base-build.zip)
73+
74+
# Calculate difference
75+
DIFF_BYTES=$((CURRENT_BYTES - BASE_BYTES))
76+
DIFF_PERCENT=$((DIFF_BYTES * 100 / BASE_BYTES))
77+
78+
echo "| Build | Size |" >> $GITHUB_STEP_SUMMARY
79+
echo "|-------|------|" >> $GITHUB_STEP_SUMMARY
80+
echo "| **Current PR** | **$CURRENT_SIZE** |" >> $GITHUB_STEP_SUMMARY
81+
echo "| Base Branch | $BASE_SIZE |" >> $GITHUB_STEP_SUMMARY
82+
echo "" >> $GITHUB_STEP_SUMMARY
83+
84+
if [ $DIFF_BYTES -gt 0 ]; then
85+
echo "📈 **Size increased by** $(numfmt --to=iec $DIFF_BYTES) (+$DIFF_PERCENT%)" >> $GITHUB_STEP_SUMMARY
86+
elif [ $DIFF_BYTES -lt 0 ]; then
87+
echo "📉 **Size decreased by** $(numfmt --to=iec $((DIFF_BYTES * -1))) (-$((DIFF_PERCENT * -1))%)" >> $GITHUB_STEP_SUMMARY
88+
else
89+
echo "✅ **No size change**" >> $GITHUB_STEP_SUMMARY
90+
fi
91+
92+
echo "" >> $GITHUB_STEP_SUMMARY
93+
echo "### 📁 Build Contents" >> $GITHUB_STEP_SUMMARY
94+
echo "" >> $GITHUB_STEP_SUMMARY
95+
echo "**Current PR build contents:**" >> $GITHUB_STEP_SUMMARY
96+
echo '```' >> $GITHUB_STEP_SUMMARY
97+
unzip -l current-build.zip | head -20 >> $GITHUB_STEP_SUMMARY
98+
echo '```' >> $GITHUB_STEP_SUMMARY
99+
100+
- name: Upload Build Artifacts
101+
uses: actions/upload-artifact@v4
102+
with:
103+
name: build-comparison
104+
path: |
105+
current-build.zip
106+
base-build.zip
107+
retention-days: 7

.github/workflows/compressed-diff.yml

Lines changed: 0 additions & 42 deletions
This file was deleted.

0 commit comments

Comments
 (0)