# MIT License # # Copyright (c) 2022-2023 Luke Parker # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in all # copies or substantial portions of the Software. # # Initially taken from Serai Dex: https://github.com/serai-dex/serai/blob/b823413c9b7ae6747b9af99e18379cfc49f4271a/.github/actions/monero/action.yml. name: monero-regtest description: Spawns a regtest Monero daemon inputs: version: description: "Version to download and run" required: false default: v0.18.2.0 runs: using: "composite" steps: - name: Monero Daemon Cache id: cache-monerod uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 with: path: 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 mv monero-x86_64-linux-gnu-${{ inputs.version }}/monerod monerod - name: Monero Regtest Daemon shell: bash run: ./monerod --regtest --fixed-difficulty=1 --detach --out-peers 0