Skip to content

Commit

Permalink
bundle size delta
Browse files Browse the repository at this point in the history
  • Loading branch information
LesnyRumcajs committed Dec 13, 2022
1 parent 12e5fce commit 84ffa92
Show file tree
Hide file tree
Showing 5 changed files with 113 additions and 2 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,39 @@ jobs:
uses: actions/checkout@v3
- name: Run shellcheck
uses: ludeeus/[email protected]
bundle-size:
runs-on: ubuntu-latest
steps:
- name: Checking out
uses: actions/checkout@v3
- name: Install Rust toolchain
uses: ./.github/actions/rust-cargo-run
with:
command: version
github_token: ${{ secrets.GITHUB_TOKEN }}
save_cache: true
- name: Show bundle delta summary
id: bundle-summary
run: |
echo 'bundle-summary<<EOF' >> $GITHUB_ENV
make bundle-size | tail -n3 >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
- name: Find Comment
uses: peter-evans/find-comment@v2
id: fc
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]'
body-regex: "^### WASM bundle summary"
- name: Create or update comment
uses: peter-evans/create-or-update-comment@v2
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: |
### WASM bundle summary 📦
```
${{ env.bundle-summary }}
```
edit-mode: replace
35 changes: 35 additions & 0 deletions .github/workflows/update-bundle-size.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Update WASM bundle size

on:
push:
branches:
- master

# Check if the bundle size was committed and is up-to-date
jobs:
bundle-size:
runs-on: ubuntu-latest
steps:
- name: Checking out
uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
fetch-depth: 0
- name: Install Rust toolchain
uses: ./.github/actions/rust-cargo-run
with:
command: version
github_token: ${{ secrets.GITHUB_TOKEN }}
save_cache: true
- name: Update bundle size
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
make bundle-size
git add bundle-size
git commit -m "[skip ci] update bundle-size" || true
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.head_ref }}
9 changes: 7 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,11 @@ publish:

# Create a bundle in a deterministic location
bundle: deps-build
cargo run -- -o output/builtin-actors.car
cargo run --locked -- -o output/builtin-actors.car

# Update the bundle size file
bundle-size: bundle
@bash scripts/update-bundle-size.sh $@ output/builtin-actors.car

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

.PHONY: all-bundles bundle-mainnet bundle-caterpillarnet bundle-butterflynet bundle-calibrationnet bundle-devnet bundle-testing

.PHONY: all-bundles bundle-mainnet bundle-caterpillarnet bundle-butterflynet bundle-calibrationnet bundle-devnet bundle-testing bundle-size

# Check if the working tree is clean.
check-clean:
Expand Down
1 change: 1 addition & 0 deletions bundle-size
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
6030520
34 changes: 34 additions & 0 deletions scripts/update-bundle-size.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/bin/bash
# Checks and updates bundle size file, printing delta between the previous and current bundle size.

# Check if the user provided both arguments
if [ $# -ne 2 ]; then
echo "Usage: ./update-bundle-size.sh <bundle-size-path> <bundle-path>"
exit 1
fi

# Check if paths exist
if [[ ! -f $1 || ! -f $2 ]]; then
echo "Invalid arguments. Please check that the files exist."
exit 1
fi

bundle_size_path=$1
bundle_path=$2

# Grab the current bundle size
size_old=$(head -n 1 "$bundle_size_path")

# Update bundle size
wc -c < "$bundle_path" > "$bundle_size_path"

# Grab the new bundle size
size_new=$(head -n 1 "$bundle_size_path")

# Calculate the difference
diff=$((size_new - size_old))

# Print stats
echo "Old bundle size: $size_old"
echo "New bundle size: $size_new"
echo "Delta: $diff bytes"

0 comments on commit 84ffa92

Please sign in to comment.