Introduce asset size check action to CI (#47880)

This commit is contained in:
Sam Seay 2024-05-31 01:08:28 +08:00 committed by GitHub
parent 0606b9580b
commit de5d73061d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,42 @@
name: Compressed Size
on:
pull_request:
paths:
- '**.jsx?'
- '**.tsx?'
- '**.css'
- '**.scss'
- '**package*.json'
- '**.eslint*'
- '**.prettier*'
- '**.tsconfig*'
- '**/webpack.config.js'
- '.github/workflows/pr-assess-bundle-size.yml'
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true
jobs:
build:
name: Check Asset Sizes
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/checkout@v4
- name: Setup WooCommerce Monorepo
uses: ./.github/actions/setup-woocommerce-monorepo
with:
# Both install and build are handled by compressed-size-action.
install: false
build: false
- uses: preactjs/compressed-size-action@f780fd104362cfce9e118f9198df2ee37d12946c
with:
repo-token: '${{ secrets.GITHUB_TOKEN }}'
pattern: './{packages/js/!(*e2e*|*internal*|*test*|*plugin*|*create*),plugins/woocommerce-blocks}/{build,build-style}/**/*.{js,css}'
clean-script: '--if-present distclean'
minimum-change-threshold: 100
omit-unchanged: true

View File

@ -23,6 +23,7 @@
"lint": "pnpm -r lint", "lint": "pnpm -r lint",
"cherry-pick": "node ./tools/cherry-pick/bin/run", "cherry-pick": "node ./tools/cherry-pick/bin/run",
"clean": "rimraf -g '**/node_modules' '**/.wireit' && pnpm store prune && pnpm i", "clean": "rimraf -g '**/node_modules' '**/.wireit' && pnpm store prune && pnpm i",
"distclean": "git clean --force -d -X",
"preinstall": "npx only-allow pnpm", "preinstall": "npx only-allow pnpm",
"postinstall": "pnpm git:update-hooks", "postinstall": "pnpm git:update-hooks",
"git:update-hooks": "if test -d .git; then rm -rf .git/hooks && mkdir -p .git/hooks && husky install; else husky install; fi", "git:update-hooks": "if test -d .git; then rm -rf .git/hooks && mkdir -p .git/hooks && husky install; else husky install; fi",