name: Test

on:
  pull_request:

jobs:
  changes:
    runs-on: ubuntu-latest
    outputs:
      site: ${{ steps.filter.outputs.site }}
    steps:
      - uses: actions/checkout@v4
      - uses: dorny/paths-filter@v3
        id: filter
        with:
          filters: |
            site:
              - 'site/**'
              - 'yarn.lock'

  test:
    needs: changes
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

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

      - uses: actions/checkout@v4
        with:
          repository: 'wenzhixin/bootstrap-table-examples'
          path: './tools/bootstrap-table-examples'

      - name: Lint src and check docs
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          yarn install --frozen-lockfile
          yarn pre-commit

      - name: Lint and build site
        if: needs.changes.outputs.site == 'true'
        run: |
          cd site
          yarn install --frozen-lockfile
          yarn lint
          yarn build

      - name: Cypress Test
        run: |
          mv ./tools/bootstrap-table-examples cypress/html
          yarn css:build:src
          yarn test