Skip to content

Commit

Permalink
ci: bundle diff report
Browse files Browse the repository at this point in the history
  • Loading branch information
dalechyn committed Apr 5, 2023
1 parent ed8d580 commit 8327828
Show file tree
Hide file tree
Showing 4 changed files with 582 additions and 1 deletion.
106 changes: 106 additions & 0 deletions .github/workflows/bundle-diff.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
name: Bundle diff

on: [pull_request]

jobs:
build-base:
name: Build
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
ref: ${{ github.base_ref }}

- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: 16

- name: Install dependencies
uses: bahmutov/npm-install@v1

- name: Build project
run: npm run build

- name: Upload base stats.json
uses: actions/upload-artifact@v2
with:
name: base
path: ./dist/stats.json
retention-days: 1
build-pr:
name: Build PR
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2

- name: Install dependencies
uses: bahmutov/npm-install@v1

- name: Build project
run: npm run build

- name: Upload base stats.json
uses: actions/upload-artifact@v2
with:
name: pr
path: ./dist/stats.json
retention-days: 1
report:
name: Generate report
runs-on: ubuntu-latest
needs: [build-base, build-pr]

steps:
- name: Checkout PR
uses: actions/checkout@v2

- name: Check if base artifact exists
uses: xSAVIKx/artifact-exists-action@v0
id: check_artifact
with:
name: 'base'

- name: Download base stats
if: steps.check_artifact.outputs.exists == 'true'
uses: actions/download-artifact@v2
with:
name: base
path: base

- name: Download base stats
if: steps.check_artifact.outputs.exists == 'true'
uses: actions/download-artifact@v2
with:
name: base
path: base

- name: Download PR stats
if: steps.check_artifact.outputs.exists == 'false'
uses: actions/download-artifact@v2
with:
name: pr
path: p

- name: Get diff
if: steps.check_artifact.outputs.exists == 'false'
id: get-diff
uses: NejcZdovc/bundle-size-diff@v1
with:
base_path: './base/stats.json'
pr_path: './pr/stats.json'

- name: Comment
if: steps.check_artifact.outputs.exists == 'false'
uses: NejcZdovc/[email protected]
with:
file: 'comment.md'
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
OLD: ${{steps.get-diff.outputs.base_file_string}}
NEW: ${{steps.get-diff.outputs.pr_file_string}}
DIFF: ${{steps.get-diff.outputs.diff_file_string}}
DIFF_PERCENT: ${{steps.get-diff.outputs.percent}}
Loading

0 comments on commit 8327828

Please sign in to comment.