* Update filesize badges (might need further evolution before 2.0.0) * Don't run full CI/CD when only .md docs have changed in the PR - move eslint checks into their own file so they can also ignore .md changes - prettier checks don't need the same perms as eslint, so we can demote pull_request_target -> pull_request * Add empty changeset * Implement the bundle size change originally originally added in #1784 - adding here also to show how the conflicts would resolve * Update .github/workflows/eslint-check.yml --------- Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
87 lines
2.5 KiB
YAML
87 lines
2.5 KiB
YAML
name: ESLint Check
|
|
|
|
on:
|
|
push:
|
|
pull_request_target:
|
|
|
|
jobs:
|
|
eslint_check_upload:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
name: ESLint Check and Report Upload
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
ref: ${{ github.head_ref }}
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: lts/*
|
|
cache: 'yarn'
|
|
- name: Install Dependencies
|
|
run: yarn install --frozen-lockfile
|
|
env:
|
|
PUPPETEER_SKIP_DOWNLOAD: true
|
|
- name: Build Packages
|
|
run: NODE_OPTIONS='--max-old-space-size=4096' yarn build:all
|
|
- name: Eslint Check
|
|
run: yarn turbo run lint
|
|
- name: Save Code Linting Report JSON
|
|
run: yarn lint:report
|
|
# Continue to the next step even if this fails
|
|
continue-on-error: true
|
|
- name: Upload ESLint Report
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: eslint_report.json
|
|
path: eslint_report.json
|
|
|
|
annotation:
|
|
# Skip the annotation action in push events
|
|
if: github.event_name == 'pull_request_target'
|
|
permissions:
|
|
checks: write
|
|
needs: eslint_check_upload
|
|
runs-on: ubuntu-latest
|
|
name: ESLint Annotation
|
|
steps:
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: eslint_report.json
|
|
- name: Annotate Code Linting Results
|
|
uses: ataylorme/eslint-annotate-action@v2
|
|
with:
|
|
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
|
report-json: 'eslint_report.json'
|
|
|
|
bundle_size:
|
|
# Only runs on PRs (needs a base branch to compare against)
|
|
if: github.event_name == 'pull_request_target'
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
pull-requests: write
|
|
name: Check Bundle Sizes
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
ref: ${{ github.head_ref }}
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: lts/*
|
|
cache: 'yarn'
|
|
- name: Check bundle sizes
|
|
uses: preactjs/compressed-size-action@v2
|
|
with:
|
|
install-script: 'yarn install --frozen-lockfile'
|
|
build-script: 'build:all'
|
|
compression: 'none'
|
|
pattern: '**/dist/*.{js,cjs,mjs,css}'
|
|
env:
|
|
PUPPETEER_SKIP_DOWNLOAD: true
|