name: test-dependencies
description: Installs test dependencies for Serai

inputs:
  github-token:
    description: "GitHub token to install Protobuf with"
    require: true
    default:

  monero-version:
    description: "Monero version to download and run as a regtest node"
    required: false
    default: v0.18.2.0

  bitcoin-version:
    description: "Bitcoin version to download and run as a regtest node"
    required: false
    default: 24.0.1

runs:
  using: "composite"
  steps:
    - name: Install Build Dependencies
      uses: ./.github/actions/build-dependencies
      with:
        github-token: ${{ inputs.github-token }}

    - name: Install Foundry
      uses: foundry-rs/foundry-toolchain@cb603ca0abb544f301eaed59ac0baf579aa6aecf
      with:
        version: nightly-09fe3e041369a816365a020f715ad6f94dbce9f2
        cache: false

    - name: Run a Monero Regtest Node
      uses: ./.github/actions/monero
      with:
        version: ${{ inputs.monero-version }}

    - name: Run a Bitcoin Regtest Node
      uses: ./.github/actions/bitcoin
      with:
        version: ${{ inputs.bitcoin-version }}

    - name: Run a Monero Wallet-RPC
      uses: ./.github/actions/monero-wallet-rpc