name: Bundler Friendly

on:
  schedule:
    # “At 00:00 on Sunday.” https://crontab.guru/#0_0_*_*_SUN
    - cron: "0 0 * * SUN"
  pull_request:
    paths:
      - "scripts/tools/bundle-test/**"
      # This workflow file
      - ".github/workflows/bundler-friendly.yml"

permissions:
  contents: read

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  build:
    if: github.event_name != 'schedule' || github.repository == 'prettier/prettier'
    name: Build
    uses: ./.github/workflows/_build.yml

  webpack:
    if: github.event_name != 'schedule' || github.repository == 'prettier/prettier'
    name: Bundle Prettier with webpack
    runs-on: ubuntu-latest
    needs: [build]
    steps:
      - name: Checkout
        uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

      - name: Setup Node.js
        uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
        with:
          cache: "yarn"

      - name: Install Dependencies
        run: yarn install --immutable

      - name: Download Artifact
        uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
        with:
          name: dist
          path: dist

      - name: Install Dependencies
        working-directory: scripts/tools/bundle-test
        run: yarn install --immutable

      - name: Test
        working-directory: scripts/tools/bundle-test
        run: yarn test
