name: test

on:
  push:
    branches: [main]
  pull_request:
  workflow_call:

permissions:
  contents: read

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1

      - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
        with:
          node-version: '22'

      - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
        with:
          python-version: '3.12'

      - name: Install Python deps for correctness checks
        run: pip install pandas

      - name: Check rule copies
        run: node scripts/check-rule-copies.js

      - name: Check version consistency
        run: node scripts/check-versions.js

      - name: Run tests
        run: npm test

      - name: Run benchmark selftest
        run: python3 benchmarks/agentic/run.py --selftest

