ci: fix nextjs bundle analysis

This commit is contained in:
iCrawl 2023-01-12 09:44:07 +01:00
parent 2798ba1eb3
commit e042492486
No known key found for this signature in database
GPG key ID: 1AB888B16355FBB2
2 changed files with 25 additions and 18 deletions

View file

@ -4,14 +4,18 @@ on:
branches:
- 'main'
paths:
- 'apps/website'
- 'apps/website/**'
pull_request:
paths:
- 'apps/website'
- 'apps/website/**'
workflow_dispatch:
defaults:
run:
working-directory: ./apps/website
working-directory: apps/website
permissions:
contents: read
actions: read
pull-requests: write
jobs:
analyze:
name: Analyze
@ -34,45 +38,43 @@ jobs:
env:
cache-name: cache-next-build
with:
# if you use a custom build directory, replace all instances of `.next` in this file with your build directory
# ex: if your app builds to `dist`, replace `.next` with `dist`
path: .next/cache
# change this if you prefer a more strict cache
path: apps/website/.next/cache
key: ${{ runner.os }}-build-${{ env.cache-name }}
- name: Build website
run: yarn workspace @discordjs/website run build:prod
- name: Analyze bundle
run: npx -p nextjs-bundle-analysis report
run: npx -yes -p github:hashicorp/nextjs-bundle-analysis report
- name: Upload bundle
uses: actions/upload-artifact@v3
with:
name: bundle
path: .next/analyze/__bundle_analysis.json
path: apps/website/.next/analyze/__bundle_analysis.json
- name: Download base branch bundle stats
uses: dawidd6/action-download-artifact@v2
if: success() && github.event.number
with:
workflow: nextjs-bundle-analysis.yml
branch: ${{ github.event.pull_request.base.ref }}
path: .next/analyze/base
commit: ${{ github.event.pull_request.base.sha }}
path: apps/website/.next/analyze/base
- name: Compare with base branch bundle
if: success() && github.event.number
run: ls -laR .next/analyze/base && npx -p nextjs-bundle-analysis compare
run: ls -laR .next/analyze/base && npx -yes -p github:hashicorp/nextjs-bundle-analysis compare
- name: Get comment body
id: get-comment-body
if: success() && github.event.number
run: |
body=$(cat .next/analyze/__bundle_analysis_comment.txt)
body="${body//'%'/'%25'}"
body="${body//$'\n'/'%0A'}"
body="${body//$'\r'/'%0D'}"
echo ::set-output name=body::$body
uses: actions/github-script@v6
with:
result-encoding: string
script: |
const fs = require('fs');
const comment = fs.readFileSync('.next/analyze/__bundle_analysis_comment.txt', 'utf8');
core.setOutput('body', comment);
- name: Find Comment
uses: peter-evans/find-comment@v2

View file

@ -99,5 +99,10 @@
},
"engines": {
"node": ">=16.9.0"
},
"nextBundleAnalysis": {
"budget": 358400,
"budgetPercentIncreaseRed": 20,
"showDetails": true
}
}