name: run-tests
description: 'Runs tests according to input parameters'

inputs:
  group-key:
    description: group key
    required: true
  project-key:
    description: project key
    required: true
  run-script:
    description: rtl build script to use
    required: false
    default: "run-tests.sh"
  toolchain:
    description: toolchain to use
    required: false
    default: "riscv-tools"

runs:
  using: "composite"
  steps:
    - name: Init submodules (since only the RTL is cached)
      run: |
        conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-${{ inputs.toolchain }}
        ./scripts/init-submodules-no-riscv-tools.sh --force
      shell: bash -leo pipefail {0}

    # Note: You shouldn't need the other inputs since it shouldn't build RTL from scratch
    - name: Build RTL
      uses: ./.github/actions/prepare-rtl
      with:
        group-key: ${{ inputs.group-key }}
        toolchain: ${{ inputs.toolchain }}

    - name: Run RTL tests
      run: |
        conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-${{ inputs.toolchain }}
        ./.github/scripts/${{ inputs.run-script }} ${{ inputs.project-key }}
      shell: bash -leo pipefail {0}
