name: monero-regtest
description: Spawns a regtest Monero daemon

inputs:
  version:
    description: "Version to download and run"
    required: false
    default: v0.18.3.1

runs:
  using: "composite"
  steps:
    - name: Monero Daemon Cache
      id: cache-monerod
      uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2
      with:
        path: /usr/bin/monerod
        key: monerod-${{ runner.os }}-${{ runner.arch }}-${{ inputs.version }}

    - name: Download the Monero Daemon
      if: steps.cache-monerod.outputs.cache-hit != 'true'
      # Calculates OS/ARCH to demonstrate it, yet then locks to linux-x64 due
      # to the contained folder not following the same naming scheme and
      # requiring further expansion not worth doing right now
      shell: bash
      run: |
        RUNNER_OS=${{ runner.os }}
        RUNNER_ARCH=${{ runner.arch }}

        RUNNER_OS=${RUNNER_OS,,}
        RUNNER_ARCH=${RUNNER_ARCH,,}

        RUNNER_OS=linux
        RUNNER_ARCH=x64

        FILE=monero-$RUNNER_OS-$RUNNER_ARCH-${{ inputs.version }}.tar.bz2
        wget https://downloads.getmonero.org/cli/$FILE
        tar -xvf $FILE

        sudo mv monero-x86_64-linux-gnu-${{ inputs.version }}/monerod /usr/bin/monerod
        sudo chmod 777 /usr/bin/monerod
        sudo chmod +x /usr/bin/monerod

    - name: Monero Regtest Daemon
      shell: bash
      run: PATH=$PATH:/usr/bin ./orchestration/dev/coins/monero/run.sh --detach