name: 'Test: Workflow scripts'

on:
  workflow_call:
    inputs:
      ref:
        description: GitHub ref to lint.
        required: false
        type: string
        default: ''
      nodeVersion:
        description: Version of node to use.
        required: false
        type: string
        default: 24.15.0

env:
  NODE_OPTIONS: --max-old-space-size=7168

jobs:
  workflow-script-tests:
    name: Run tests for workflow scripts
    runs-on: ${{ vars.RUNNER_PROVIDER == 'github' && 'ubuntu-slim' || 'blacksmith-4vcpu-ubuntu-2204' }}
    steps:
      - uses: useblacksmith/checkout@41cdeedae8edb2e684ba22896a5fd2a3cb85db6b # v1
        with:
          ref: ${{ inputs.ref }}

      - name: Setup Node.js
        uses: ./.github/actions/setup-nodejs
        with:
          build-command: ''
          install-command: pnpm install --frozen-lockfile --dir ./.github/scripts --ignore-workspace
          cache-dependency-path: .github/scripts/pnpm-lock.yaml

      - name: Run tests
        id: run-tests
        run: npm test --prefix=.github/scripts
