name: Scripts

on:
  workflow_dispatch:
  pull_request:
    branches:
      - "main"
    paths:
      - "packages/astro/src/runtime/client/**/*"

# Automatically cancel in-progress actions on the same branch
concurrency:
  group: ${{ github.workflow }}-${{ github.event_name == 'pull_request_target' && github.head_ref || github.ref }}
  cancel-in-progress: true

defaults:
  run:
    shell: bash

jobs:
  bundle:
    name: Bundle Size
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repo
        uses: actions/checkout@v4

      - name: Checkout Main into tmp
        uses: actions/checkout@v4
        with:
          ref: main
          path: main

      - name: Setup PNPM
        uses: pnpm/action-setup@v2

      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: 18
          cache: "pnpm"

      - name: Install dependencies
        run: pnpm install

      - name: Check Bundle Size
        uses: actions/github-script@v7
        with:
          script: |
            const { default: script } = await import('${{ github.workspace }}/.github/scripts/bundle-size.mjs')
            await script({ github, context })
