name: Bundle size checks

on:
  push:
    branches: [ main ]
    paths:
      - '.github/workflows/bundlesize.yml'
      - 'src/scripts/**'
      - 'src/styles/**'
      - 'package-lock.json'
      - '.browserslistrc'
  pull_request:
    paths:
      - '.github/workflows/bundlesize.yml'
      - 'src/scripts/**'
      - 'src/styles/**'
      - 'package-lock.json'
      - '.browserslistrc'

jobs:
  measure:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 1

      - uses: actions/setup-node@v4
        with:
          node-version: 24
          cache: 'npm'

      - name: Install dependencies
        run: npm ci --no-audit

      - run: npm run build

      # we don't need to build here, as even minized assets expected to be commited

      - run: npm run bundlesize
        env:
          # token has expired, don't block the test
          #CI: true
          #BUNDLESIZE_GITHUB_TOKEN: ${{secrets.BUNDLESIZE_GITHUB_TOKEN}}
          CI_REPO_NAME: ${{ github.event.repository.name }}
          CI_REPO_OWNER: ${{ github.event.organization.login }}
          CI_COMMIT_SHA: ${{ github.event.after }}
          GIT_COMMIT: ${{ github.event.after }}
          CI_BRANCH: ${{ github.head_ref }}
          FORCE_COLOR: 2
