Skip to content

Track rust binary sizes across builds using Github Actions

License

Notifications You must be signed in to change notification settings

MikeTheSapien/cargo-bloat-action

 
 

Repository files navigation

Cargo Bloat Action 🚀

Analyse and track your Rust project binary size over time. This action runs on every pull request and gives you a breakdown of your total binary size, how much each crate contributes to that size and a list of changes to your dependency tree.

Table of Contents

Example Workflow

Check out cargo-bloat-example for a full example project. For an example pull request, see orf/cargo-bloat-example#1.

on: # rebuild any PRs and main branch changes
  pull_request:
  push:
    branches:
      - master

name: bloat

jobs:
  cargo_bloat:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - name: Install Rust
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
      - name: Run cargo bloat
        uses: orf/cargo-bloat-action@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}

Screenshots

Total size change

Size difference per crate

Changes in your dependency tree (cargo tree)

Why?

I think it's important to track the size of your dependencies. It's not the most important thing, but I think these metrics belong in a pull request that modifies dependencies in order to have a full picture of the impact the change makes and to make an informed decision before merging.

Contribute

All contributions are welcome!

About

Track rust binary sizes across builds using Github Actions

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 99.4%
  • Rust 0.6%