name: "Run tests"
description: "Runs the tests"

runs:
  using: "composite"
  steps:
    - name: Install nextest
      uses: taiki-e/install-action@921e2c9f7148d7ba14cd819f417db338f63e733c # nextest

    - name: Install Node
      uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
      with:
        node-version: "18"

    - name: Limit target directory size
      env:
        MAX_SIZE: ${{ runner.os == 'macOS' && 300 || 100 }}
      shell: bash -euxo pipefail {0}
      # Use the variable in the run command
      run: script/clear-target-dir-if-larger-than ${{ env.MAX_SIZE }}

    - name: Run tests
      shell: bash -euxo pipefail {0}
      run: cargo nextest run --workspace --no-fail-fast --failure-output immediate-final
