Skip to content

Commit 8cc9f70

Browse files
committed
bundle size delta
1 parent 7be9a7e commit 8cc9f70

File tree

4 files changed

+63
-2
lines changed

4 files changed

+63
-2
lines changed

.github/workflows/ci.yml

+21
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,27 @@ jobs:
107107
uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0
108108
with:
109109
files: lcov.info
110+
# Check if the bundle size was committed and is up-to-date
111+
bundle-size:
112+
runs-on: ubuntu-latest
113+
steps:
114+
- name: Checking out
115+
uses: actions/checkout@v2
116+
- name: Install Rust toolchain
117+
uses: ./.github/actions/rust-cargo-run
118+
with:
119+
command: version
120+
github_token: ${{ secrets.GITHUB_TOKEN }}
121+
- name: Update bundle size
122+
run: |
123+
git config --local user.email "github-actions[bot]@users.noreply.github.com"
124+
git config --local user.name "github-actions[bot]"
125+
make bundle-size
126+
git commit -a -m "update bundle-size"
127+
- name: Push changes
128+
uses: ad-m/github-push-action@master
129+
with:
130+
branch: ${{ github.head_ref }}
110131
# Lint shell scripts
111132
shellcheck:
112133
runs-on: ubuntu-latest

Makefile

+7-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,11 @@ publish:
4242

4343
# Create a bundle in a deterministic location
4444
bundle: deps-build
45-
cargo run -- -o output/builtin-actors.car
45+
cargo run --locked -- -o output/builtin-actors.car
46+
47+
# Update the bundle size file
48+
bundle-size: bundle
49+
@bash scripts/update-bundle-size.sh $@ output/builtin-actors.car
4650

4751
# Create all canonical network bundles
4852
all-bundles: bundle-mainnet bundle-caterpillarnet bundle-butterflynet bundle-calibrationnet bundle-devnet bundle-testing bundle-testing
@@ -66,7 +70,8 @@ bundle-testing: deps-build
6670
BUILD_FIL_NETWORK=testing cargo run -- -o output/builtin-actors-testing.car
6771
BUILD_FIL_NETWORK=testing-fake-proofs cargo run -- -o output/builtin-actors-testing-fake-proofs.car
6872

69-
.PHONY: all-bundles bundle-mainnet bundle-caterpillarnet bundle-butterflynet bundle-calibrationnet bundle-devnet bundle-testing
73+
74+
.PHONY: all-bundles bundle-mainnet bundle-caterpillarnet bundle-butterflynet bundle-calibrationnet bundle-devnet bundle-testing bundle-size
7075

7176
# Check if the working tree is clean.
7277
check-clean:

bundle-size

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
6033975

scripts/update-bundle-size.sh

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/bin/bash
2+
# Checks and updates bundle size file, printing delta between the previous and current bundle size.
3+
4+
# Check if the user provided both arguments
5+
if [ $# -ne 2 ]; then
6+
echo "Usage: ./update-bundle-size.sh <bundle-size-path> <bundle-path>"
7+
exit 1
8+
fi
9+
10+
# Check if paths exist
11+
if [[ ! -f $1 || ! -f $2 ]]; then
12+
echo "Invalid arguments. Please check that the files exist."
13+
exit 1
14+
fi
15+
16+
bundle_size_path=$1
17+
bundle_path=$2
18+
19+
# Grab the current bundle size
20+
size_old=$(head -n 1 "$bundle_size_path")
21+
22+
# Update bundle size
23+
wc -c < "$bundle_path" > "$bundle_size_path"
24+
25+
# Grab the new bundle size
26+
size_new=$(head -n 1 "$bundle_size_path")
27+
28+
# Calculate the difference
29+
diff=$((size_new - size_old))
30+
31+
# Print stats
32+
echo "Old bundle size: $size_old"
33+
echo "New bundle size: $size_new"
34+
echo "Delta: $diff bytes"

0 commit comments

Comments
 (0)