GitHub Action
Bundlewatch Github Action
This GitHub action allows you to easily run bundlewatch in your repository.
-
Add bundlewatch configuration in your package.json. Refer to this doc for more complete explanation.
{ "name": "my-package", "bundlewatch": { "trackBranches": [ "master" ], "files": [ { "path": "./packages/react-isomorphic-data/dist/esm/index.js", "maxSize": "4.5 KB" } ] } }
An example of a real-world project using this can be seen here
-
Get a
BUNDLEWATCH_GITHUB_TOKEN
by following this step -
Setup a workflow.yml for your tracked branch. For example, if you are tracking the bundlesize of master branch, you should create a workflow whenever a
push
tomaster
happen like so:name: "Bundlewatch Github Action - on Tracked Branches Push" on: push: branches: - master jobs: bundlewatch: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: Borales/[email protected] - run: yarn install - uses: jackyef/bundlewatch-gh-action@master with: build-script: yarn build:minify bundlewatch-github-token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
You would probably want to change the
build-script
to whatever script you want to run to produce your output bundle.Note:
build-script
is actually optional, just in case your workflow does not need build step and you are measuring the size of already committed files -
For adding statuses on pull requests, you can add another workflow for pull requests
synchronize
andopened
events as following:name: "Bundlewatch Github Action" on: pull_request: types: [synchronize, opened] jobs: bundlewatch: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: Borales/[email protected] - run: yarn install - uses: jackyef/bundlewatch-gh-action@master with: build-script: yarn build:minify bundlewatch-github-token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
Feel free to open issues for feature requests. If you want to contribute, feel free to open a pull request as well!
This GitHub action will not be possible without the work done at bundlewatch. Go there and give them a star! ⭐